一种针对网络攻击的sdn网络架构的工作方法

文档序号:10515426阅读:295来源:国知局
一种针对网络攻击的sdn网络架构的工作方法
【专利摘要】本发明公开了一种针对网络攻击的SDN网络架构的工作方法,本SDN网络架构的工作方法包括:步骤S100,网络初始化;步骤S200,分布式DDoS威胁监测和/或收集SDN链路状态信息;以及步骤S300,威胁处理和/或数据下发。本发明可使网络在遭受大规模DDoS威胁时,能够根据链路的实时状况实现路由优化的流量转发,同时迅速准确的进行DDoS威胁识别和处理响应,全面保障网络通信质量。
【专利说明】
-种针对网络攻击的SDN网络架构的工作方法
技术领域
[0001] 本发明涉及网络安全领域,特别是涉及一种针对网络攻击的SDN网络架构的工作 方法。
【背景技术】
[0002] 当前,高速广泛连接的网络已经成为现代社会的重要基础设施。然而,随着互联网 规模的膨胀,传统规范体系的缺陷也日益呈现出来。
[0003] 国家计算机网络应急技术处理协调中必(CNCERT/CC)最新发布的报告表明:黑客 活动日趋频繁,网站后Π 、网络钓鱼、Web恶意挂马等攻击事件呈大幅增长趋势,其中,分布 式拒绝服务攻击值istributed Denial of Service, DDo巧仍然是影响互联网运行安全最 主要的威胁之一。在过去的几年里,DDoS攻击的数目、大小、类型都大幅上涨。
[0004] 如何通过SDN架构实现对孤oS攻击的有效防御是本领域的技术难题。

【发明内容】

[0005] 本发明的目的是提供一种SDN网络架构的工作方法,W解决现有网络中大量DDoS 攻击所造成的网络安全问题,W实现快速、高效、全面地识别与防御DDoS攻击,并且将威胁 处理后与链路发生故障后的网络拓扑变化进行区别,W提供相应的报文发送路径。
[0006] 为了解决上述技术问题,本发明提供了一种SDN网络架构的工作方法。所述SDN 网络架构的工作方法,包括如下步骤:
[0007] 步骤S100,网络初始化;步骤S200,分布式孤oS威胁监测和/或收集SDN链路状 态信息;W及步骤S300,威胁处理和/或数据下发。
[0008] 优选的,为了更好的实现网络配置,所述步骤S100中网络初始化所涉及的装置包 括;SDN控制器、IDS决策服务器和IDS设备;
[0009] 网络初始化的步骤如下:
[0010] 步骤S101,所述IDS决策服务器与IDS设备建立专用的S化信道;步骤S102,所述 SDN控制器构建网络设备信息绑定表,并且将网络设备信息绑定表实时更新到IDS设备中; 步骤S104,所述SDN控制器下发镜像策略的流表,即将OF交换机所有拖载有主机的端口流 量镜像转发给所述IDS设备;W及步骤S105,所述SDN控制器下发DDoS威胁识别规则给每 个网域中对应的IDS设备。
[0011] 优选的,所述步骤S200中分布式DDoS威胁监测的方法包括;依次对链路层和网际 层地址的欺骗行为,网际层和传输层标志位设置异常行为,W及应用层和传输层的泛洪式 攻击行为进行检测;若上述过程中检测判断出报文存在相应行为时,则将该报文转入步骤 S300 ;对链路层和网际层地址的欺骗行为进行检测的方法包括:通过欺骗报文检测模块对 欺骗行为进行检测,即首先,通过欺骗报文检测模块调用网络设备信息绑定表;其次,通过 欺骗报文检测模块将封装在化cket-In消息中报文的类型进行解析,W获得相应的源、目 的IP地址、MAC地址W及上传此Packet-In消息的OF交换机DPID号和端口号,并将上述 各信息分别与网络设备信息绑定表中的相应信息进行比对;若报文中的上述信息匹配,贝u 将报文进行下一检测;若报文中的上述信息不匹配,则将报文转入步骤S300 ;所述网际层 和传输层标志位设置异常行为进行检测的方法包括:通过破坏报文检测模块对标志位设置 异常行为进行检测,即对报文的各标志位进行检测,W判断各标志位是否符合TCP/IP协议 规范;若报文的各标志位符合,则将报文转入进行下一检测;若报文的各标志位不符合,贝U 将报文转入步骤S300 ;所述应用层和传输层的泛洪式攻击行为进行检测的方法包括;通过 异常报文检测模块对泛洪式攻击行为进行检测,即在异常报文检测模块构建用于识别泛洪 式攻击报文的哈希表,并根据该哈希表中设定的阀值判断报文是否具有泛洪式攻击行为, 且将判断结果转入步骤S300 ; W及收集SDN链路状态信息的方法包括;根据SDN网络拓扑 和各链路开销计算主路径的备份路径;为各备份路径分配用于标记备份路径的标志位;根 据备份路径和对应标志位向该备份路径上各OF交换机下发流表项。
[0012] 所述步骤S300中威胁处理和/或数据下发的方法包括;若报文具有欺骗行为,且 攻击威胁在化enFlow域中,则所述IDS决策服务器适于通过SDN控制器屏蔽主机;W及当 攻击威胁不在化enFlow域中,则通过SDN控制器将该报文所对应的OF交换机接入端口流 量重定向至流量清洗中必进行过滤;若报文具有异常行为,则所述IDS决策服务器通过SDN 控制器对攻击程序或攻击主机的流量进行屏蔽;若报文具有泛洪式攻击行为,则所述IDS 决策服务器通过SDN控制器将该报文所对应的OF交换机接入端口流量重定向至流量清洗 中必进行过滤;和/或根据链路负载系数计算出优化路径,即检测两相邻节点的链路剩余 带宽,获得该链路的负载系数,在根据该负载系数和初始化的网络拓扑图获得任意两点的 最优路径,所述SDN控制器根据该最优路径得出对应的转发流表并下发各OF交换机。
[0013] 优选的,所述IDS决策服务器屏蔽发送报文的程序和/或主机的方法包括;首先, 构建计数用的相应哈希表及设定相应阔值,即单位时间内,所述IDS决策服务器中构建对 欺骗行为进行计数的第一哈希表,标志位设置异常行为进行计数的第二哈希表,W及对泛 洪式攻击行为进行计数的第Η哈希表;同时设定第一、第二、第Η哈希表中的第一、第二、第 Η阀值;其次,屏蔽发送该报文的程序和/或主机,即针对转入IDS决策服务器的报文的行 为,利用相应哈希表进行计数,当计数值超过相应阀值时,屏蔽发送该报文的程序和/或主 机。
[0014] 进一步,所述步骤S300中数据下发的方法还包括;根据SDN网络拓扑改变的原因, 确认报文下发路径;即,当SDN控制器威胁处理后,将报文通过最优路径下发报文,或判断 主路径发生故障后,报文匹配所述流表项通过备份路径进行转发。
[0015] 本发明的有益效果;(1)本发明将DDoS威胁过滤技术与路由优化技术融合,在进 行监测、屏蔽DD0S攻击时,并不会造成数据的拥堵,并且通过将监测和威胁处理分开,有效 的减轻了控制层面的负担,保证了网络更安全、高校的运行;(2)本发明使得传统网络体系 架构下无法对地址伪造 DDoS攻击进行识别与溯源的难题从根本上得到了解决;在网络中 存在DDoS攻击或正常大流量业务的情况下,SDN控制器可基于对链路剩余带宽等网络参数 的实时感知,实现对正常流量的路由优化,大幅提升用户的体验;(3)本发明的处理架构采 用可扩展的模块化设计,实现了对DDoS威胁的高效检测和灵活处理;(4)各模块获取数据 包信息采用独立的接口设计,降低了模块间的禪合关联性;(5)各模块使用优化的程序数 据结构,细致分割各处理子流程,提升了模块的高内聚特性;(6)本发明还对网路链路的改 变加 W区别对待,即,若当SDN控制器威胁处理后,将报文通过最优路径下发报文,或判断 主路径发生故障后,报文匹配所述流表项通过备份路径进行转发,有效的避免了因交换机 故障时流量数据丢失。
【附图说明】
[0016] 为了使本发明的内容更容易被清楚的理解,下面根据的具体实施例并结合附图, 对本发明作进一步详细的说明,其中
[0017] 图1示出了所述SDN网络架构的结构框图;
[0018] 图2不出了 IDS设备的原理框图的原理框图;
[0019] 图3示出了欺骗报文检测模块的工作流程图;
[0020] 图4示出了破坏报文检测模块的工作流程图;
[0021] 图5示出了 UDP Floodling的检测流程图;
[0022] 图6示出了 ICMP Floodling的检测流程图;
[0023] 图7示出了分布式DDoS威胁监测的方法的流程框图;
[0024] 图8示出了实验场景的具体部署的拓扑图;
[0025] 图9 (a)示出了未使用本发明的SDN架构的Web服务器所承受的攻击频率的曲线 图;
[0026] 图9(b)示出了使用本发明的SDN架构的Web服务器所承受的攻击频率的曲线图;
[0027] 图10示出了平均传输速率对比图。
【具体实施方式】
[0028] 为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参 照附图,对本发明进一步详细说明。应该理解,送些描述只是示例性的,而并非要限制本发 明的范围。此外,在W下说明中,省略了对公知结构和技术的描述,W避免不必要地混淆本 发明的概念。
[0029] 在软件定义网络(Software Defined化twork, SDN)架构中,当一个报文(Packet) 到达OF交换机的时候,首先对OF交换机中所带的流表进行匹配。如果匹配成功,就按照流 表指定的动作执行转发规则。如果匹配失败,则OF交换机将该报文封装在化cket In消息 中,发送给SDN控制器,并且OF交换机将此报文存在本地缓存中。等待SDN控制器作出决 策,如何处理此报文。
[0030] 网络中有很多主机,则需要建立一张针对网络中所有主机为键的哈希表,称之为 "违规次数哈希表组",其包括;适于对欺骗报文进行计数的第一哈希表,适于对破坏报文进 行计数的第二哈希表,适于对泛洪式攻击进行计数的第Η哈希表。记录对应主机的违规次 数,也就是主机的诚信度。
[0031] 网络中的数据包是实时的,所W需要建立一种单位时间内的威胁报文计数的哈希 表,并且每个主机对应一个哈希表中的一个键,对应的键值是记录的单位时间内对应键的 主机发送的威胁数据包的个数。此类哈希表在单位时间"时间片"开始时候必须将哈希表 内所有键对应的键值置0 ;且每种检测的报文都需要有送样的一张表,就比如说检测了 100 种报文,就需要有100个此类的哈希表。
[0032] 而且,每个哈希表必须有一个对应的阔值。哈希表中只要一有主机在相应值中累 加计数。计数后检查该值是否超过设定的阔值。如果超过相应的阔值,则在违规次数哈希 表对应记录中的键值计数。
[0033] 在上述发明原理的基础上,本实施例的具体实施过程如下。
[0034] 实施例1
[0035] 图1示出了本发明的SDN网络架构的结构框图。
[003引如图1所示,本发明的SDN网络架构,包括;SDN控制器、IDS决策服务器、IDS设 备(即入侵检测设备)和流量清洗中必;当IDS设备检测到具有DDoS攻击特征的报文时, 即通过S化信道上报至IDS决策服务器;所述IDS决策服务器根据上报信息,制定出与具有 DDoS攻击特征的报文对应的处理策略,然后将该报文通过SDN控制器屏蔽或者将该报文所 对应的OF交换机接入端口流量重定向到流量清洗中必进行过滤;同时,通过SDN控制器收 集当前SDN链路状态信息,W提供相应的报文发送路径。
[0037] 其中,DDoS攻击特征定义为;对链路层和网际层地址的欺骗行为、对网际层和传 输层标志位设置的异常行为,W及对应用层和传输层泛洪式攻击行为。
[0038] 图2示出了 IDS设备的原理框图的原理框图。
[0039] 如图2所示,进一步,所述IDS设备内包括:
[0040] 欺骗报文检测模块,对链路层和网际层地址的欺骗行为进行检测;
[0041] 破坏报文检测模块,对网际层和传输层标志位设置的异常行为进行检测;
[0042] 异常报文检测模块,对应用层和传输层泛洪式攻击行为进行检测;
[0043] 通过所述欺骗报文检测模块、破坏报文检测模块、异常报文检测模块依次对报文 进行检测;且若检测模块检测出报文存在上述相应行为时,则将该报文转入IDS决策服务 器。
[0044] 进一步,所述IDS决策服务器适于当报文具有欺骗行为,且攻击威胁在化enFlow 域中,则通过SDN控制器屏蔽主机;或当攻击威胁不在化enFlow域中,则通过SDN控制器将 该报文所对应的OF交换机接入端口流量重定向至流量清洗中必进行过滤;所述IDS决策服 务器还适于当报文具有异常行为,则通过SDN控制器对攻击程序或攻击主机的流量进行屏 蔽;W及当报文具有泛洪式攻击行为,则所述IDS决策服务器适于通过SDN控制器将该报文 所对应的OF交换机接入端口流量重定向至流量清洗中必进行过滤。
[0045] 本发明采用从欺骗报文检测模块到破坏报文检测模块,再到异常报文检测模块依 次检测的顺序,其中,各模块获取数据包信息采用独立的接口设计,降低了模块间的禪合关 联性;并且各模块使用优化的程序数据结构,细致分割各处理子流程,提升了模块的高内聚 特性。送种检巧IJ顺序提高了对报文数据的检测效率,W及降低了漏检率。
[0046] 图3示出了欺骗报文检测模块的工作流程图。
[0047] 如图3所示,通过所述欺骗报文检测模块调用网络设备信息绑定表,并在所述IDS 决策服务器中构建单位时间内的适于对报文欺骗行为进行计数的第一哈希表,W及设定该 第一哈希表中的第一阀值;所述欺骗报文检测模块,将封装在化cket-In消息中的报文的 类型进行解析,W获得相应的源、目的IP地址、MAC地址W及上传化cket-In消息的OF交换 机DPID号和端口号信息,并将各信息分别与网络设备信息绑定表中的相应信息进行比对; 若报文中的上述信息匹配,则将报文转入破坏报文检测模块;若报文中的上述信息不匹配, 则转入所述IDS决策服务器,对报文进行丢弃,并同时对欺骗行为进行计数,当该计数值超 过第一阀值时,屏蔽发送该报文的程序和/或主机。
[0048] 具体的,所述欺骗报文检测模块用于对报文进行第一次判断,即判断报文是否是 IP欺骗攻击报文、端口欺骗攻击报文或MAC欺骗攻击报文。
[0049] 具体步骤包括;首先在W太网顿中解析出源、目的MAC地址和OF交换机入口,然后 根据不同的报文类型解析出不同的报文。当报文类型为IP、ARP、RARP时,则解析出相应的 源、目的IP地址然后将送些信息对网络设备信息绑定表中的信息进行查表匹配,如果匹配 到相应的信息,则交给破坏报文检测模块处理。若不匹配,则将该报文转入IDS决策服务器 处理;并同时对欺骗行为进行累加计数,当该计数值超过第一阀值时,屏蔽发送该报文的程 序和/或主机。
[0050] Floodli曲t中有一个设备管理器模块DeviceManagerlmpl,当一个设备在网络中 移动设备的时候跟踪设备,并且根据新流定义设备。
[0051] 设备管理器从化cketin请求中得知设备,并从化cketin报文中获取设备网络参 数信息(源、目的IP、MAC、VLAN等信息),通过实体分类器将设备进行区分为OF交换机或 主机。默认情况下实体分类器使用MAC地址和/或VLAN表示一个设备,送两个属性可W唯 一的标识一个设备。另外一个重要的信息是设备的安装点(OF交换机的DPID号和端口号) (,在一个openf low区域中,一个设备只能有一个安装点,在送里openf low区域指的是和同 一个Floodli曲t实例相连的多个OF交换机的集合。设备管理器也为IP地址、安装点、设 备设置了过期时间,最后一次时间戳作为判断它们是否过期的依据。)
[0052] 故网络设备信息绑定表模块里面只需调用DeviceManagerlmpl模块提供的 IDeviceService即可,同时向该服务添加 IDeviceListener的监听接口即可。
[0053] 其中IDeviceListener提供的监听接口有:
[0054]
[00巧]服务提供者;IFloodli曲 1:P;roviderSe;rvice,IDeviceService
[0056] 依赖接口;IFloodli曲tModule, IDeviceListener
[0057]
[0059] 表内的记录根据OF交换机的高低电平触发机制(网线拔出触发化d Down的低 电平,网线拔入触发化d化的高电平)可W实时刷新绑定表中的记录。
[0060] 传统的孤oS攻击无法触及、修改Switch DPID和Switch化的的信息,利用此优 势,可W更加灵活的检测欺骗攻击。
[0061] 图4示出了破坏报文检测模块的工作流程图。
[0062] 如图4所示,在所述IDS决策服务器中构建单位时间内的适于对报文的标志位设 置异常行为进行计数的第二哈希表,W及设定该第二哈希表中的第二阀值;所述破坏报文 检测模块对报文的各标志位进行检测,W判断各标志位是否符合TCP/IP协议规范;若报文 的各标志位符合,则将报文转入异常报文检测模块;若报文的各标志位不符合,则转入所述 IDS决策服务器,对报文进行丢弃,并同时对标志位设置异常行为进行计数,当该计数值超 过第二阀值时,屏蔽发送该报文的程序和/或主机。
[0063] 具体的,所述破坏报文检测模块,用于对报文进行第二次判断,即判断报文是否为 具有恶意标志位特征的攻击报文。其中,具有恶意标志位特征的攻击报文包括但不限于IP 攻击报文、TCP攻击报文。实施步骤包括:对IP攻击报文及其中的TCP/UDP攻击报文实现 各个报文的标志位的检测,即识别各标志位是否符合TCP/IP协议规范。如果符合的话,就 直接交由异常数报文检测模块处理。若不符合,则判断为攻击报文,转入IDS决策服务器处 理。
[0064] W Tear化op等典型攻击为列,在IP包头中有一个偏移字段和一个分片标志 (MF),若攻击者把偏移字段设置成不正确的值,IP分片报文就会出现重合或断开的情况,目 标机系统就会崩溃。
[006引在IP报文头中,有一协议字段,该字段指明了该IP报文承载了何种协议。该字段 的值是小于100的,如果攻击者向目标机发送大量的带大于100的协议字段的IP报文,目 标机系统中的协议找就会受到破坏,形成攻击。
[0066] 故在破坏报文检测模块中,首先提取出报文的各标志位,然后检查是否正常。
[0067] 如果正常,则交给后续模块处理。
[0068] 如果不正常,则丢弃该数据包,并对相应哈希表计数器计数。如果单位时间内计数 器超过设定的所述第二阀值时,则调用IDS决策服务器对相应的程序进行屏蔽和/或直接 屏蔽相应的主机。
[0069] 通过欺骗报文检测模块的数据包滤除之后,后续的破坏报文检测模块所处理的数 据包中的地址都是真实的。送样,有效的避免了目标机收到了破坏报文,可能直接导致目标 机的协议找崩溃,甚至目标机直接崩溃。
[0070] 破坏报文检测模块的处理功能与欺骗报文检测处理流程大致相似,区别在于破坏 报文检测模块解析出的是各个报文的标志位,然后检测各个标志位是否正常。
[0071] 如果正常的话,就直接给后续的异常报文检测模块处理。
[0072] 如果不正常,则丢弃该数据包,并且对主机应用征信机制相应的哈希表内计数器 计数。如果超过设定的阀值,则屏蔽相应的攻击程序或者直接屏蔽攻击主机。
[0073] 在所述异常报文检测模块构建用于识别泛洪式攻击报文的哈希表,在所述IDS决 策服务器中构建单位时间内的适于对泛洪式攻击行为进行计数的第Η哈希表,W及设定该 第Η哈希表中的第Η阀值;所述异常报文检测模块,适于根据所述哈希表中设定的阀值判 断所述报文是否具有攻击行为;若无攻击行为,则将数据下发;若具有攻击行为,则转入所 述IDS决策服务器,对报文进行丢弃,并同时对攻击行为进行计数,当计数值超过第Η阀值 时,屏蔽发送该报文的程序和/或主机。
[0074] 具体的,所述异常报文检测模块,用于对报文进行第Η次判断,即判断报文是否是 泛洪式攻击报文。
[00巧]具体步骤包括:利用对构建的识别泛洪式攻击报文的对哈希表内的相应记录进行 累加,并检测是否超过阔值,W判断是否是泛洪式攻击报文。
[0076] 经过上述欺骗报文检测模块、破坏报文检测模块两个模块的滤除,后续模块处理 的数据包基本属于正常情况下的数据包。然而,正常情况下,也会有DDoS攻击产生,在现有 技术中,一般仅进行欺骗报文检测模块、破坏报文检测模块,而在本技术方案中,能尽可能 的避免DDoS攻击。
[0077] W下实施例为针对在进行欺骗报文检测模块、破坏报文检测模块过滤后,再通过 异常报文检测模块屏蔽DDoS攻击的【具体实施方式】。该实施方式W UDP Flooding和ICMP Flooding 为例。
[0078] 图5示出了 UDP Floodling的检测流程图。
[0079] 关于UDP Floodling,如图5所示,利用UDP协议无需建立连接的机制,向目标机发 送大量UDP报文。目标机会花费大量的时间处理UDP报文,送些UDP攻击报文不但会使存 放UDP报文的缓存溢出,而且也会占用大量的网络带宽,目标机无法(或很少)接收到合法 的UDP报文。
[0080] 由于不同的主机向单一主机发送大量UDP数据包,所W肯定会有UDP端口占用的 情况,所W本技术方案可W接收到一个ICMP的端口不可达包。
[0081] 所W本技术方案可W对所有主机建立一个哈希表,专口用来存放单位时间内收到 ICMP端口不可达数据包的次数。如果超过设定的阀值,则直接屏蔽相应的攻击程序。
[0082] 图6示出了 ICMP Floodling的检测流程图。
[008引 关于ICMP Floodling,如图6所示,对于ICMP Flooding直接进行单位时间内计 数。如果超过相应的阀值,则直接对相应主机进行相应屏蔽,该方法虽然简单,但是直接有 效。
[0084] 因此,异常报文检测模块,如果检测到的报文类型是异常报文检测类型,则进行相 应的计数器检测是否超过阔值,如果没有超过阔值,也可对该数据包通过最优的路由策略 下发。如果超过了阔值,则屏蔽相应的攻击程序,或直接对相应主机进行相应屏蔽。
[0085] 所述欺骗报文检测模块、破坏报文检测模块和异常报文检测模块中模块判断所述 报文为上述攻击报文时,则将该攻击报文转入IDS决策服务器,即,丢弃所述报文,并屏蔽 发送该报文的程序和/或主机。
[0086] 当"欺骗报文检测模块"、"破坏报文检测模块"和"异常报文检测模块"需要丢弃数 据包或者需要屏蔽威胁主机的时候。直接调用IDS决策服务器进行相应的威胁处理操作。
[0087] 所述IDS决策服务器的具体的实施步骤包括:
[0088] 丢弃所述报文,即丢弃数据包的步骤包括如下:
[0089] OF交换机(OF交换机)在未匹配到相应的流表情况下,会将该数据包封装在 Packet In消息中,同时OF交换机会将此数据包存在本地的缓存中,数据包存放在缓存中, 有一个缓存区ID号,送个ID号也会封装在化cket In消息的buffe;r_id中,通过化cket out的形式,同时化cketout消息内的buffe;r_id填写要丢弃的数据包的缓存区ID(对应的 F*acketln 消息中的 buffe;r_id)。
[0090] 屏蔽主机的步骤包括如下:
[0091] 化enFlow协议流表结构如下:
[0092]
[0093] 其中包头域的结构为:
[0094]
[0095] IDS决策服务器中包括对应用程序进行屏蔽的步骤包括如下:
[0096] 在流表的包头域中填写相应匹配字段,并且通过设置Wildcards屏蔽字段,来获 取屏蔽攻击程序或主机信息。其中,如需屏蔽攻击程序,则在流表包头域中填写下列匹配字 段;IP、MC、VLAN、SwtichDPID、SwtichPort、协议类型及其端口号等。如需屏蔽主机,贝リ 在流表包头域中填写;IP、MAC、VLAN、Swtich DPID、Swtich化的等匹配字段。将流表动作 列表置空,实现攻击程序/主机的数据包丢弃。调用各哈希表中的记录值,计算出流表超时 自动删除时间。下发流表屏蔽程序或主机。
[0097] 因此,本技术方案可有效识别并滤除攻击包。
[0098] 可选的,正常报文也可W通过实时最优路由策略的下发。
[0099] 最优路由策略的步骤如下:
[0100] 首先进入向SDN控制器的拓扑接口(API)提交获取请求,W获取全网拓扑,再通过 获取的全网链路状态计算出全网链路剩余带宽。
[0101] 所述实时最优路径的计算,算法采用经典的Di Astra算法,算法的权值改为上一 步获取的全网链路剩余带宽的倒数,W保证计算出的路径是最通畅,传输时延最小的路径。 关于最优路径的具体实施步骤在实施例2中进行了详细论述。
[0102] 最后,将计算出的最优路径转换成由流表组成的实时最优路径策略,下发。
[0103] 步骤S1,使用的是拓扑接口,所述SDN控制器自带的API接口,使用LLDP(链路层 发现协议)和广播包发现链路,然后SDN控制器自动计算出网络拓扑。
[0104] 步骤S2, SDN控制器的拓扑接口向"实时最优路径计算模块"的"全网拓扑获取模 块"拓扑获取请求的反馈。
[0105] 步骤S3中,"全网链路状态获取模块"向"OF交换机查询接口模块"提出请求,获 取全网链路状态。其中,"OF交换机查询接口模块"是在SDN控制器自带的"OF交换机特性 查询模块"和"OF交换机状态查询模块"基础上拓展而来,实现了链路剩余带宽的计算及查 询功能。
[0106] 然后,"OF交换机查询模块"通过步骤S4向网络中所有OF交换机发送OF交换机 特性请求的广播包。再通过步骤S5来接收来自网络中OF交换机特性反馈的报文,解析出 报文里面的curr字段,得到每个OF交换机端口当前带宽B。
[0107] 接下来,该模块通过步骤S6向网络中所有OF交换机发送OF交换机状态请求的广 播包,包括端口发送包数、端口发送字节数、端口接收字节数、端口接收包数等报文状态。接 着,该模块通过步骤S7接收来自网络中OF交换机状态反馈的报文,解析出tx_bytes字段, 得到发送字节数N1,获取当前时间tl。
[0108] 接下来,该模块通过步骤S8向网络中所有OF交换机发送OF交换机状态请求的广 播包,接着,该模块通过S9接收来自网络中OF交换机状态反馈的报文,计时停止,获取当前 时间t2。解析出tx_bytes字段,得到发送字节数N2。
[0109] 则可W计算出当前端口剩余带宽为;B-(N2-Nl)/(t2-tl)。
[0110] 然后,再利用获取的网络拓扑进行每条链路的剩余带宽计算:
[0111] 若是OF交换机与OF交换机之间的连接,则获取该条链路两端的OF交换机端口的 剩余带宽,该链路的剩余带宽为两个端口剩余带宽中的较小者。
[0112] 如果是主机与OF交换机之间的连接,则获取连接主机的OF交换机端口的剩余带 宽,该条链路剩余带宽即为连接该主机的OF交换机端口剩余带宽。
[0113] 步骤S4,SDN控制器W广播的形式向全网所有OF交换机发送化ature Request消 息。
[0114] 步骤S5, SDN控制器接收来自网络中OF交换机反馈给SDN控制器的化ature Iteply消息。
[0115] 步骤S6,SDN控制器W广播的形式向全网所有OF交换机发送Stats Request消 息。
[0116] 步骤S7, SDN控制器接收来自网络中OF交换机反馈给SDN控制器的Stats R巧ly 消息。
[0117] 步骤S8,SDN控制器W广播的形式向全网所有OF交换机发送Stats Request消 息。
[0118] 步骤S9, SDN控制器接收来自网络中OF交换机反馈给SDN控制器的Stats R巧ly 消息。
[0119] 步骤SIO, OF交换机查询接口将计算出的链路剩余带宽信息反馈给"全网链路状 态获取模块"。
[0120] 步骤S11,路由策略下发模块计算出的实时最优路由策略,将计算出的流表通过步 骤S12来下发给相关的OF交换机。
[012。 步骤S12,该接口是SDN控制器自带的API接口,用于下发计算出的最优路由策略。
[0122] 过所述最优路径策略是在防御DD0S攻击的同时,网络的平均传输延时并没有激 增。
[0123] 所述SDN控制器包括;路径备份单元,用于根据SDN网络拓扑和各链路开销计算 主路径的备份路径;标志位分配单元,用于为各备份路径分配用于标记备份路径的标志位; 流表下发单元,用于根据备份路径和对应标志位向该备份路径上各OF交换机下发流表项; 所述SDN控制器适于在SDN网络拓扑改变后,根据SDN网络拓扑改变的原因,确认报文下 发路径;即,当SDN控制器DDoS威胁处理后,将报文通过最优路径下发报文,或判断主路径 发生故障后,报文匹配所述流表项通过备份路径进行转发。具体的,可W在SDN控制器的 化enFlow域中获取端口是否出现问题,进而实现判断SDN网络拓扑改变的原因。
[0124] 实施例2
[012引在实施例1基础上的一种SDN网络架构的工作方法,W通过检测和集中式的处理, 有效的减轻了 SDN控制器的工作负担,提高了检测效率和数据传输率,并且通过收集SDN链 路状态信息W避免链路发生故障时,流量丢失。
[0126] 本发明的SDN网络架构的工作方法,包括如下步骤;步骤S100,网络初始化;步骤 S200,分布式DDoS威胁监测和/或收集SDN链路状态信息;W及步骤S300,威胁处理和/或 数据下发。
[0127] 进一步,所述步骤S100中网络初始化所涉及的装置包括;SDN控制器、IDS决策服 务器和IDS设备;网络初始化的步骤如下;步骤S101,所述IDS决策服务器与IDS设备建立 专用的S化信道;步骤S102,所述SDN控制器构建网络设备信息绑定表,并且将网络设备信 息绑定表实时更新到IDS设备中;步骤S104,所述SDN控制器下发镜像策略的流表,即将OF 交换机所有拖载有主机的端口流量镜像转发给所述IDS设备;W及步骤S105,所述SDN控 制器下发DDoS威胁识别规则给每个网域中对应的IDS设备。
[012引所述步骤S200中分布式孤oS威胁监测的方法包括;依次对链路层和网际层地址 的欺骗行为,网际层和传输层标志位设置异常行为,W及应用层和传输层的泛洪式攻击行 为进行检测;若上述过程中检测判断出报文存在相应行为时,则将该报文转入步骤S300。
[0129] 图9示出了分布式DDoS威胁监测的方法的流程框图。
[0130] 如图9所示,具体的实施步骤包括:
[0131] 步骤S210,对链路层和网际层地址的欺骗行为进行检测。
[0132] 步骤S220,对网际层和传输层标志位设置的异常行为进行检测。
[0133] 步骤S230,对应用层和传输层的泛洪式攻击行为进行检测。
[0134] 步骤S240,若将报文依次通过所述步骤S210、步骤S220、步骤S230后,步骤判断出 报文存在欺骗、异常、攻击行为时,则将所述报文转入步骤S300。
[0135] 所述步骤S210中对链路层和网际层地址的欺骗行为进行检测的方法包括如下步 骤;步骤S211,通过欺骗报文检测模块调用网络设备信息绑定表;步骤S212,通过欺骗报文 检测模块将封装在化cket-In消息中报文的类型进行解析,W获得相应的源、目的IP地址、 MAC地址W及上传此化cket-In消息的OF交换机的DPID号和端口号,并将上述各信息分别 与网络设备信息绑定表中的相应信息进行比对;若报文中的上述信息匹配,则将报文转入 步骤S220 ;若报文中的上述信息不匹配,则将报文转入步骤S300。
[0136] 所述步骤S220中对网际层和传输层标志位设置异常行为进行检测的方法包括: 对报文的各标志位进行检测,W判断各标志位是否符合TCP/IP协议规范;若报文的各标志 位符合,则将报文转入S230 ;若报文的各标志位不符合,则将报文转入步骤S300。
[0137] 所述步骤S230中对应用层和传输层的泛洪式攻击行为进行检测的方法包括如下 步骤;步骤S231,在异常报文检测模块构建用于识别泛洪式攻击报文的哈希表;步骤S232, 通过异常报文检测模块根据所述哈希表中设定的阀值判断所述报文是否为泛洪式攻击报 文,且将判断结果转入步骤S300,即若无攻击行为,则将数据正常下发或通过上述最优路径 策略下发;若具有攻击行为,则采取相应的屏蔽措施。
[013引其中,收集SDN链路状态信息的方法包括;用于根据SDN网络拓扑和各链路开销计 算主路径的备份路径;用于为各备份路径分配用于标记备份路径的标志位;用于根据备份 路径和对应标志位向该备份路径上各OF交换机下发流表项。
[0139] 所述步骤S300中威胁处理/或数据下发的方法包括:
[0140] 若报文具有欺骗行为,且攻击威胁在化enFlow域中,则所述IDS决策服务器适于 通过SDN控制器屏蔽主机;W及当攻击威胁不在化enFlow域中,则通过SDN控制器将该报 文所对应的OF交换机接入端口流量重定向至流量清洗中必进行过滤;若报文具有异常行 为,则所述IDS决策服务器通过SDN控制器对攻击程序或攻击主机的流量进行屏蔽;具体的 实施步骤包括:针对破坏报文攻击,由于IDS设备当前处理的报文通过了欺骗报文检测,所 W该报文地址是真实的。IDS决策服务器只需通过SDN控制器的北向接口下发动作为化op 的流表将攻击程序或攻击主机的流量屏蔽。但送都只是粗粒度的决策,只适用于攻击包少 量的破坏报文攻击。
[014。 若报文具有泛洪式攻击行为,则所述IDS决策服务器通过SDN控制器将该报文所 对应的OF交换机接入端口流量重定向至流量清洗中必进行过滤;可选的,流量清洗中必的 安全设备也可W将防护的结果反馈给SDN控制器,调整网络策略,实现SDN网络W及混合有 传统网络情况下的多维防护。
[0142] 进一步,根据链路负载系数计算出优化路径,即检测两相邻节点的链路剩余带宽, 获得该链路的负载系数,在根据该负载系数和初始化的网络拓扑图获得任意两点的最优路 径,所述SDN控制器根据该最优路径得出对应的转发流表并下发各OF交换机。
[0143] 优化路径的具体算法流程如下:
[0144] 设r。, h U为两相邻节点的链路剩余带宽,则其链路负载系数为:
[0145]
由SDN控制器计算出链路负载系数* /
[0146] U(a,b)为任意两点间的负载系数和:
[0147]
[014引设初始网络拓扑图为G°,计算任意两点间的最优路径,
[0149]
[0151] 所述IDS决策服务器屏蔽发送报文的程序和/或主机的方法包括:
[0152] 首先,构建计数用的相应哈希表及设定相应阔值,即单位时间内,所述IDS决策服 务器中构建对欺骗行为进行计数的第一哈希表,标志位设置异常行为进行计数的第二哈希 表,W及对泛洪式攻击行为进行计数的第Η哈希表;同时设定第一、第二、第Η哈希表中的 第一、第二、第Η阀值;其次,屏蔽发送该报文的程序和/或主机,即针对转入IDS决策服务 器的报文的行为,利用相应哈希表进行计数,当计数值超过相应阀值时,屏蔽发送该报文的 程序和/或主机。
[0153] 所述步骤S300中数据下发的方法还包括;根据SDN网络拓扑改变的原因,确认报 文下发路径;即,当SDN控制器威胁处理后,将报文通过最优路径下发报文,或判断主路径 发生故障后,报文匹配所述流表项通过备份路径进行转发。
[0154] 实施例3
[015引 本发明的 SDN 架构可 W 定义 SDNQA(SDN Communication如ality Assurance Strategy)即SDN通信质量保障策略。
[0156] 本发明的SDN架构的测试环境和测试内容如下:
[0157] 基于化enFlow 1. 3协议,测试装有DDoS威胁过滤与通信质量保障组件的 Floodli曲tSDN控制器、OF交换机、IDS设备W及IDS决策服务器之间的通信。
[0158] 测试IDS设备是否能够实时监测网络中的异常攻击流量,并且通过S化信道上报 IDS决策服务器。
[0159] 测试IDS决策服务器是否能够根据IDS设备上报的信息,制定出处理对应攻击威 胁的策略,并通过SDN控制器的北向接口下发。
[0160] 测试SDN控制器是否能够根据网络实时状况,生成并下发实时优化的转发路径。
[0161] 图8示出了实验场景的具体部署的拓扑图。
[0162] 实验场景的具体部署如图8所示。中间为基础网络区域,有两个虚网。其中虚网A 部署了本SDNQA系统,而虚网B尚未部署,并且各虚网中都存在若干DDoS攻击愧佩机。右侧 为实验效果对比区域,包括一台Web服务器和两台用户主机,其中Web服务器上运行Tomcat 对外提供Web服务,用户主机A、B分别是接入虚网A、B的主机。左侧为攻击模拟区域,有一 台DDoS攻击机,攻击机将作为主控机控制虚网A和虚网B中的愧佩机对Web服务器发起混 合式的DDoS攻击。
[0163] 基于上述实验环境,从两方面对SDNQA架构的性能进行验证;(1)对比混合式的 DDoS攻击下Web服务器端所承受的攻击频率;(2)对比泛洪式攻击所造成的网络平均传输 延迟。
[0164] 实验结果及分析如图9 (a)和图9化)所示。
[016引图9(a)为未使用本发明的SDN架构的Web服务器所承受的攻击频率的曲线图。
[0166] 图9(b)为使用本发明的SDN架构的Web服务器所承受的攻击频率的曲线图。
[0167] 首先,对Web服务器端流量流入情况进行分析。攻击机控制各虚网中的愧佩机同 时对Web服务器发起混合式的DDoS攻击,其最高频率为55化,攻击时长为100砂。截取Web 服务器所有的数据包序列,并分离出各虚网的请求序列,分别得出虚网A和虚网B所流入服 务器的请求序列,Web服务器所承受的攻击频率对比如图9(a)和图9(b)所示。
[016引 图10为平均传输速率对比图。
[0169] 从图10可W看出,本发明的SDN架构在Os~5s时间段内快速识别了典型的DDoS 攻击,并在Os~40s的时间段内采取了过滤防护措施。在40s之后,网络流量趋于正常,测 试用户主机A -直可正常得到网页请求响应。而未部署SDNQA系统的虚网B中一直有大量 的攻击流量流入,测试用户主机B无法得到网页请求响应。
[0170] 其次,从之前截取的数据包序列中提取出测试用户主机A和测试用户主机B的请 求序列,从各请求序列中统计数据包的平均传输的延迟时间,得出两个虚网的平均传输延 时对比如图9(a)和图9(b)所示。
[0171] 从图10中可W看出,经过路由优化,虚网A的平均传输延迟没有随着数据量的增 大而激增。由此可见,SDNQA架构能够基于对网络实时状况的感知,对流转发路径进行优化, 从而在网络中存在DDoS攻击或正常大流量业务的情况下保证网络数据传输。
【主权项】
1. 一种SDN网络架构的工作方法,包括如下步骤: 步骤S100,网络初始化; 步骤S200,分布式DDoS威胁监测和/或收集SDN链路状态信息;以及 步骤S300,威胁处理和/或数据下发。2. 根据权利要求1所述SDN网络架构的工作方法,其特征在于,所述步骤S100中网络 初始化所涉及的装置包括:SDN控制器、IDS决策服务器和IDS设备; 网络初始化的步骤如下: 步骤S101,所述IDS决策服务器与IDS设备建立专用的SSL信道; 步骤S102,所述SDN控制器构建网络设备信息绑定表,并且将网络设备信息绑定表实 时更新到IDS设备中; 步骤S104,所述SDN控制器下发镜像策略的流表,即将OF交换机所有拖载有主机的端 口流量镜像转发给所述IDS设备;以及 步骤S105,所述SDN控制器下发DDoS威胁识别规则给每个网域中对应的IDS设备。3. 根据权利要求2所述SDN网络架构的工作方法,其特征在于,所述步骤S200中分布 式DDoS威胁监测的方法包括: 依次对链路层和网际层地址的欺骗行为,网际层和传输层标志位设置异常行为,以及 应用层和传输层的泛洪式攻击行为进行检测; 若上述过程中检测判断出报文存在相应行为时,则将该报文转入步骤S300 ; 艮P,所述对链路层和网际层地址的欺骗行为进行检测的方法包括: 通过欺骗报文检测模块对欺骗行为进行检测,即 首先,通过欺骗报文检测模块调用网络设备信息绑定表; 其次,通过欺骗报文检测模块将封装在Packet-In消息中报文的类型进行解析,以获 得相应的源、目的IP地址、MAC地址以及上传此Packet-In消息的OF交换机DPID号和端 口号,并将上述各信息分别与网络设备信息绑定表中的相应信息进行比对; 若报文中的上述信息匹配,则将报文进行下一检测; 若报文中的上述信息不匹配,则将报文转入步骤S300 ; 所述网际层和传输层标志位设置异常行为进行检测的方法包括: 通过破坏报文检测模块对标志位设置异常行为进行检测,即 对报文的各标志位进行检测,以判断各标志位是否符合TCP/IP协议规范; 若报文的各标志位符合,则将报文转入进行下一检测; 若报文的各标志位不符合,则将报文转入步骤S300 ; 所述应用层和传输层的泛洪式攻击行为进行检测的方法包括: 通过异常报文检测模块对泛洪式攻击行为进行检测,即 在异常报文检测模块构建用于识别泛洪式攻击报文的哈希表,并根据该哈希表中设定 的阀值判断报文是否具有泛洪式攻击行为,且将判断结果转入步骤S300 ;以及 收集SDN链路状态信息的方法包括: 根据SDN网络拓扑和各链路开销计算主路径的备份路径; 为各备份路径分配用于标记备份路径的标志位;以及 根据备份路径和对应标志位向该备份路径上各OF交换机下发流表项。4. 根据权利要求3所述SDN网络架构的工作方法,其特征在于,所述步骤S300中威胁 处理/或数据下发的方法包括: 若报文具有欺骗行为,且攻击威胁在OpenFlow域中,则所述IDS决策服务器适于通过 SDN控制器屏蔽主机;以及当攻击威胁不在OpenFlow域中,则通过SDN控制器将该报文所 对应的OF交换机接入端口流量重定向至流量清洗中心进行过滤; 若报文具有异常行为,则所述IDS决策服务器通过SDN控制器对攻击程序或攻击主机 的流量进行屏蔽; 若报文具有泛洪式攻击行为,则所述IDS决策服务器通过SDN控制器将该报文所对应 的OF交换机接入端口流量重定向至流量清洗中心进行过滤;和/或 根据链路负载系数计算出优化路径,即检测两相邻节点的链路剩余带宽,获得该链路 的负载系数,在根据该负载系数和初始化的网络拓扑图获得任意两点的最优路径,所述SDN 控制器根据该最优路径得出对应的转发流表并下发各OF交换机。5. 根据权利要求4所述SDN网络架构的工作方法,其特征在于,所述IDS决策服务器屏 蔽发送报文的程序和/或主机的方法包括: 首先,构建计数用的相应哈希表及设定相应阈值,即 单位时间内,所述IDS决策服务器中构建对欺骗行为进行计数的第一哈希表,标志位 设置异常行为进行计数的第二哈希表,以及对泛洪式攻击行为进行计数的第三哈希表; 同时设定第一、第二、第三哈希表中的第一、第二、第三阀值; 其次,屏蔽发送该报文的程序和/或主机,即 针对转入IDS决策服务器的报文的行为,利用相应哈希表进行计数,当计数值超过相 应阀值时,屏蔽发送该报文的程序和/或主机。6. 根据权利要求5所述SDN网络架构的工作方法,其特征在于,所述步骤S300中数据 下发的方法还包括: 根据SDN网络拓扑改变的原因,确认报文下发路径;即,当SDN控制器威胁处理后,将 报文通过最优路径下发报文,或判断主路径发生故障后,报文匹配所述流表项通过备份路 径进行转发。
【文档编号】H04L29/06GK105871772SQ201510024417
【公开日】2016年8月17日
【申请日】2015年1月18日
【发明人】吴正明, 张家华
【申请人】吴正明
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1