一种基于SDN的安全服务链系统及数据包匹配转发方法与流程

文档序号:17158465发布日期:2019-03-20 00:18阅读:1371来源:国知局
一种基于SDN的安全服务链系统及数据包匹配转发方法与流程

本发明属于网络服务领域,主要涉及一种基于sdn的安全服务链系统及数据包匹配转发方法。



背景技术:

电子商务、数据中心、社交网络等多样化网络业务的迅猛发展,向传统安全服务模式提出了严峻挑战,表现为:1)安全功能实现方式的耦合性:现有安全功能,如防火墙、ids等大都基于硬件中间盒子实现,其在功能上具有专属私有性,建设所需成本较高、可扩展性差、灵活性不足、运用中难以统一管理。2)安全功能部署位置的静态性:现有安全功能大都以静态方式部署在网络的关键位置,拓扑依赖严重,这种僵化的部署方式使其难以根据业务请求的服务构成进行重复使用或者动态重构。同时,《网络安全法》规定网络运营者应当制定网络安全事件应急预案,及时处理系统漏洞、计算机病毒、网络攻击、网络侵入等安全风险。在新的网络架构下,如何利用新的技术将安全业务更好的融合进来,从而提供便捷、安全的网络架构,是各方面临的难题。

当前,软件定义网络(softwaredefinednetworking,sdn)兴起为探寻新型网络安全服务模式提供了支撑。sdn将控制功能从传统的分布式网络设备中迁移到集中的控制平台,进而通过开放可编程的软件模式来实现网络的自动控制。通过sdn控制器的控制,可以引导转发流量自动穿过服务节点,实现拓扑无关的、灵活、便捷、高效、安全地调配转发流量到服务节点上进行安全业务的处理。

目前,已经有一些学者提出了一些动态服务链的部署方案。2014年,blendi提出了一种新的上层概念和架构,利用sdn将网络中的服务整合到服务链中,但该文没有关注网络管理员对服务的个性化定制需求。2013年,张扬提出steering,这是一个动态可扩展的框架,管理网络中通过多个辅助设备的流量。采用基于策略的路由方法,在sdn的顶部,steering能够支持有效转发和大规模的应用的扩展。利用软件定义网络(softwaredefinednetworking,sdn)集中式管控的优势来实现中间件的部署和管理,其采用openflow1.1多级流表对流表中metadata(元数据)域进行编码,设定需要的服务类型和服务实例,从而将流量路由至相应的中间件。该方法考虑了通过改变中间件部署优化服务路径,但该方法对中间件可能会造成的数据分组头修改行为未作考虑。2015年,martini提出了一个面向服务的sdn控制器,允许对数据传输路径的可编程性提供通过动态建立虚拟中间件功能的序列,从而完成在ngson中适应网络服务链的部署。2013年,qazi利用openflow1.0流表中一些匹配域(vlan、iptos等),在交换机为服务链数据分组增加标签标识,以保证服务链策略正确执行,并分析数据分组前后进出中间件的相似性以解决中间件造成的数据分组头修改行为,但是这种方法需要控制器收集数据分组进行相似性比较,有较高的复杂性且需要较高的匹配精度。

现有技术主要是利用openflow交换机流表特性,搭建服务器架构,部署服务链系统。

有些研究比较侧重单一的计算机技术应用,缺乏实用控制技术的支持配合,占用了过多的服务资源,致使系统服务潜能得不到充分挖掘,难以实现网络可视化与服务链控制联动,使得系统的安全服务能力难以有效提高。



技术实现要素:

本发明的目的是为克服现有技术的不足,提供一种基于sdn的安全服务链系统及数据包匹配转发方法。

本发明为解决传统安全业务的部署中,网络设备之间的耦合性大、拓扑依赖严重,安全设备无法池化、扩展性差,以及安全设备的能力无法在多业务间共享的技术问题,采用的技术方案是:基于sdn的安全服务链系统,包括控制平面、流分类节点、服务节点和服务链,所述控制平面主要包括sdn服务链的核心控制部件sdn控制器和openflow1.3交换机,sdn控制器根据用户需求,创建服务链,并部署服务链上的每个服务节点的业务逻辑;控制器将需要进入服务链处理的用户报文特征下发至openflow1.3交换机,openflow1.3交换机根据相应的报文特征将数据报文引入服务链。

所述控制平面部署跨层的控制器架构:第一层由“主-从”顶层控制器及负载均衡模块构成;第二层是底层控制器集群系;第三层是数据共享系统;

负载均衡模块通过定时收集各个底层控制器的负载状态对交换机在控制器间的迁移过程进行编排,控制器对交换机的管理按照openflow1.3中协议执行。

所述sdn控制器为opendaylight控制器。

所述流分类节点为原始数据报文的接入节点,按照流分类规则匹配数据报文,对报文做服务链封装,并将其转发到服务链进行处理。

所述服务节点作为资源被分配使用,物理位置可以是任意的、分散的,通过sdn对服务链的定义和引流串联,完成预定义的工作;服务节点主要包括防火墙、负载均衡、入侵检测的资源/资源池等。

本发明的第二个技术方案是基于sdn的安全服务链系统的数据包匹配转发方法,包括以下步骤:

1)数据包上送控制器处理时,在控制器上解析packet-in报文,根据报文目的地址确定是虚拟网络内的东西向流量还是通往传统网络的南北向流量;

2)如果是南北向流量则将报文转发到网关设备,报文后续的处理由网关设备负责;如果是东西向流量,从收到的packet-in报文中提取源端口,并根据源端口确定源subnet、network、router信息;同时根据packet-in报文的目的ip地址获取目的端口,并根据目的端口确定目的subnet、network、router信息;

3)对于东西向流量,根据报文特征进行服务链匹配:

(1)首先使用源端口和目的端口的属性与服务链配置进行匹配,如果找到匹配的服务链,则下发导流表;如果存在匹配的服务链,则控制器会确定服务链所在交换机标签,并向交换机和后续处理节点下发流表项;当匹配到多条服务链时,按照最精确匹配的原则确定实际使用的服务链配置;

(2)如果未找到匹配的服务链,则下发东西向卸载的流表项(即非服务链转发)。

有益效果:

基于sdn技术,构建、部署网络服务链,并通过信息的反馈,实现网络可视化与服务链联动,从而使其在海量数据和多服务节点的前提下,具有较高的数据转发效率和较低的处理时间,以提升网络监控效率。

本发明设计了基于sdn的服务链架构,并提出该架构下服务链数据包匹配转发流程。

附图说明

图1是服务链架构图。

图2是数据包匹配转发流程图。

图3是sdn跨层控制架构图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。

在园区网络中,对于业务资源的分配通常需要同时考虑应用层资源主要包括数据中心服务器的内存,占用率,虚拟机资源等)与网络层资源(包括底层链路等),此时需实现一种架构,实现应用层资源和网络层资源联合调度,实现全局统一优化,增加资源利用率和网络可靠性。将防火墙、入侵检测和负载均衡等服务节点关联成链。根据各个服务的特点,将数据流的路径动态优化服务放在sdn控制器中来运行,恶意网站检测、ddos攻击、dns防篆改,dns域名解析以及负载均衡单独放在不同的服务点上。服务链架构见图1所示。

1)控制平面,其中主要包括sdn服务链的核心控制部件sdn控制器和openflow1.3交换机。本发明中的sdn控制器为opendaylight控制器。作为网络资源池的唯一控制点,通过对虚拟化网络进行抽象编排,控制器根据用户需求,根据本发明的安全服务链生成策略创建服务链,并部署服务链上的每个节点的业务逻辑。将需要进入服务链处理的用户报文特征下发至交换机,交换机根据相应的报文特征将数据报文引入服务链。

在园区网络中,对于业务资源的分配通常需要同时考虑应用层资源主要包括数据中心服务器的内存,占用率,虚拟机资源等)与网络层资源(包括底层链路等),此时需实现一种架构,实现应用层资源和网络层资源联合调度,实现全局统一优化,增加资源利用率和网络可靠性。将防火墙、入侵检测和负载均衡等服务节点关联成链。根据各个服务的特点,将数据流的路径动态优化服务放在sdn控制器中来运行,恶意网站检测、ddos攻击、dns防篆改,dns域名解析以及负载均衡单独放在不同的服务点上。基于拓扑聚合和负载均衡的思想,借鉴集中式和分布式控制平面的优势,设计三层的协作式控制平面架构。控制平面具体的架构见图3所示。

第一层由“主-从”顶层控制器及负载均衡模块构成。“主-从”控制器二者是逻辑上集中的控制器,负责维护整个网络状态,为应用提供全局视图,并对不同的本地控制器进行协调。主从控制器的设置是为了满足其中一台控制器出现故障时,sdn网络可以实现网络无缝对接,而不会使网络出现顿挫感。负载均衡模块通过定时收集各个底层控制器的负载状态对交换机在控制器间的迁移过程进行编排。第二层是底层控制器集群系统。底层控制器层更靠近数据平面,用于处理较为频繁但不需要全局网络视图的事件,比如查看某个交换机流量情况等。控制器对交换机的管理按照openflow1.3中协议执行。这种方式能够有效过滤发送到顶层控制器的消息,进而减少上层全局控制器的负载,提高控制器效率,同时也为本地事件提供了较快的请求响应。第三层是数据共享系统。

2)流分类节点:原始数据报文的接入节点。按照设计的流分类规则匹配数据报文,对报文做服务链封装,并将其转发到服务链进行处理。

3)服务节点:服务节点作为资源被分配使用,它的物理位置可以是任意的、分散的,通过sdn对服务链的定义和引流串联,完成预定义的工作。服务节点可以是防火墙(firewalls)、负载均衡(loadbalance)、入侵检测(intrusionpreventionsystem)等资源/资源池。

4)服务链:图1中的4表示服务链执行路径,以虚线标记服务链为例,防火墙为服务链首节点(服务链中对报文进行处理的首个服务节点。首节点对数据报文进行服务处理后,将数据报文继续做服务链封装并转发给服务链的下一个服务节点),监控为服务链末节点(服务链中对报文进行处理的最后一个服务节点。尾节点对数据报文进行服务处理后,解除其服务链封装)。

具体的匹配转发流程描述如下,见图2所示:

(1)数据包上送控制器处理时,在控制器上解析packet-in报文,根据报文目的地址确定是虚拟网络内的东西向流量还是通往传统网络的南北向流量。

(2)如果是南北向流量则将报文转发到网关设备,报文后续的处理由网关设备负责。

(3)如果是东西向流量,从收到的packet-in报文中提取源端口,并根据源端口确定源subnet、network、router信息;同时根据packet-in报文的目的ip地址获取目的端口,并根据目的端口确定目的subnet、network、router信息。对于东西向流量,根据报文特征进行服务链匹配,首先使用源端口和目的端口的属性与服务链配置进行匹配,如果找到匹配的服务链,则下发导流表;如果未找到匹配的服务链,则下发东西向卸载的流表项(即非服务链转发)。如果存在匹配的服务链,则控制器会确定服务链所在交换机标签,并向交换机和后续处理节点下发流表项;当匹配到多条服务链时,按照最精确匹配的原则确定实际使用的服务链配置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1