一种基于多SDN协同机制的DDoS攻击防御系统及方法技术方案

技术编号:20729875 阅读:18 留言:0更新日期:2019-03-30 19:26
本发明专利技术公开了一种基于多SDN协同机制的DDoS攻击防御系统及方法,涉及计算机网络安全领域。防御系统包括由多个SDN控制器构成的一个基于P2P的控制器网络、自定义的控制器网络通信协议以及DDoS攻击数据交互协议。SDN控制器包括实现流表控制功能的流表下发模块,实现控制器网络中的数据包收发功能并提供UDP数据包确认机制的数据包收发模块,用于构建并维护控制器网络的P2P网络通信模块,以及用于防御DDoS攻击的DDoS攻击防御模块。防御方法包括步骤1、执行UDP数据包确认机制;步骤2、执行控制器网络构建及维护;步骤3、执行DDoS攻击防御。本发明专利技术能够有效地从源头上防御DDoS攻击,并且不会影响正常的通信,尽量减小对网络中的其他流量的影响。

【技术实现步骤摘要】
一种基于多SDN协同机制的DDoS攻击防御系统及方法
本专利技术涉及计算机网络安全
,尤其涉及一种基于多SDN协同机制的DDoS攻击防御系统及方法。
技术介绍
拒绝服务(DenialofService,DoS)攻击,是指故意攻击网络协议实现的缺陷或直接耗尽被攻击对象的资源,让目标计算机或网络无法提供正常的服务或资源访问的行为。DDoS则是指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。DDoS攻击是目前网络环境下最严重的威胁之一。而在传统网络环境下,难以从攻击源头对DDoS攻击进行防御。SDN是一种新型的数据和控制层面分离的灵活的网络架构。在控制层面,通过控制器监控整个网络,并实现对各种协议的部署和转发规则的分发;在数据转发层面,交换机只需要根据已有的转发规则,对数据包进行匹配转发。这种新型的网络架构由于其可控性,能有效地获取整个网络中的流量,并控制网络中的流量走向,从而解决从源头防御DDoS攻击的问题。对等网络(Peer-to-peernetworking,P2P),是指参与者共享他们所拥有的一部分硬件资源,这些共享资源通过网络提供服务和内容,能被其它对等节点直接访问而无需经过中间实体的网络。相对于传统的客户端/服务器网络,P2P的主要特点为去中心化,网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之间进行,无需中心服务器的介入,具有负载均衡、健壮性好、扩展性强等优势,更适用于作为本专利技术中多个SDN之间的通信网络结构。用户数据报协议(UserDatagramProtocol,UDP),是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,是本专利技术中多SDN之间进行通信所采用的的传输层协议。因此,本领域的技术人员致力于开发一种基于多SDN协同机制的DDoS攻击防御系统及方法,以便能够有效地从源头上防御DDoS攻击,并且不会影响正常的通信,尽量减小对网络中的其他流量的影响。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是针对传统网络环境下,DDoS攻击者的溯源和阻断多在靠近受害者一端进行的状况,采用怎样的技术方案来有效地从源头上防御DDoS攻击,同时保证基本不会影响正常的通信,尽量减小对网络中的其他流量的影响。为实现上述目的,本专利技术提供了一种基于多SDN协同机制的DDoS攻击防御系统,包括多个不同的SDN控制器、一个基于P2P的控制器网络、自定义的控制器网络通信协议以及DDoS攻击数据交互协议;所述多个不同的SDN控制器构成所述基于P2P的控制器网络,所述多个不同的SDN控制器之间通过所述控制器网络通信协议以及所述DDoS攻击数据交互协议进行通信,以合作完成对DDoS攻击的防御。进一步地,所述控制器包括流表下发模块、数据包收发模块、P2P网络通信模块和DDoS攻击防御模块;所述流表下发模块被配置为实现所述控制器基础的流表控制功能;所述数据包收发模块被配置为实现所述控制器网络中的数据包收发功能,并提供UDP数据包确认机制;所述P2P网络通信模块被配置为实现所述控制器网络通信协议,用于构建并维护所述基于P2P的控制器网络;所述DDoS攻击防御模块被配置为实现所述DDoS攻击数据交互协议,用于防御DDoS攻击。进一步地,所述基于P2P的控制器网络采用Chord算法的思想实现,每个所述控制器被配置成为所述基于P2P的控制器网络中的一个节点,全部所述节点分布于一个容量为2n的环上,每个所述节点通过哈希函数生成一个表明其在网络中的位置的ID,每个所述节点维护一张具有n个表项的指向表,依次记录位于该节点后20、21、...、2n-1个位置处的后继节点,其中,n为所述控制器节点编号的位数。本专利技术还提供一种基于多SDN协同机制的DDoS攻击防御方法,包括以下步骤:步骤1、执行UDP数据包确认机制;步骤2、执行控制器网络构建及维护;步骤3、执行DDoS攻击防御。进一步地,所述步骤1中的UDP数据包确认机制由所述数据包收发模块提供;所述步骤2中的控制器网络构建及维护由所述P2P网络通信模块实现;所述步骤3中的DDoS攻击防御由所述DDoS攻击防御模块实现。进一步地,所述步骤1还包含如下步骤:步骤101、第一控制器发送数据包a到第二控制器,同时将所述数据包a、确认码ACK和计时器t1作为一组数据,存入所述第一控制器的发包缓存区;步骤102、所述第二控制器收到所述数据包a,发送回复包m到所述第一控制器,同时将所述回复包m、所述确认码ACK和计时器t2作为一组数据,存入所述第二控制器的回复包缓存区;步骤103、若所述第一控制器收到所述回复包m,则通过所述确认码ACK找到所述第一控制器的发包缓存区中数据包a的对应记录,删除该记录,确认送达所述数据包a;步骤104、若所述第一控制器未收到所述回复包m,则遍历所述第一控制器的发包缓存区,如果所述数据包a对应记录的所述计时器t1超过阈值T1,则重发所述数据包a,并更新所述计时器t1;步骤105、所述第二控制器收到重发的所述数据包a,遍历所述回复包缓存区,如果所述回复包m匹配所述确认码ACK成功,则丢弃该数据包a,并更新对应记录的所述计时器t2;步骤106、所述第二控制器遍历所述回复包缓存区,如果所述回复包m对应记录的所述计时器t2超过阈值T2,则删除该记录。进一步地,所述步骤2包括广播实现过程和新控制器加入及旧控制器退出网络过程。进一步地,所述步骤2中的广播实现过程还包括以下步骤:步骤2101、所述第一控制器构建数据包,设置初始跳数,将所述数据包发往与所述第一控制器对应的所述指向表中的所有所述后继节点;步骤2102、第i控制器收到广播的所述数据包,如果所述数据包跳数为0,则舍弃该数据包,否则将所述跳数减1,执行操作,然后转发该数据包到与所述第i控制器对应的所述指向表中的所有所述后继节点。进一步地,所述步骤2中的新控制器加入及旧控制器退出网络过程还包括以下步骤:步骤2201、所述第一控制器首先初始化与其自身对应的所述指向表,初始情况下,所有所述后继节点均被设置为所述第一控制器自身,然后所述第一控制器遍历与其自身对应的所述指向表,对于其中的每个表项,向所述第二控制器发送查询数据包;步骤2202、所述第二控制器收到所述查询数据包,在与其自身对应的所述指向表中查找是否有所述后继节点满足查询位置,如果有,则回复所述第一控制器查询结果数据包,否则转发所述查询数据包至所述第二控制器的指向表中在查询位置之前且离查询位置最近的所述后继节点;步骤2203、重复所述步骤2202直到找到满足查询位置的节点;步骤2204、所述第一控制器收到所述查询结果数据包,找到与该数据包对应的表项,对比查询结果和初始值,选择离查询位置距离更近的节点,更新所述表项,并使所述指向表的更新数加1,所述指向表的更新数初始值为0;步骤2205、如果所述第一控制器的指向表更新数为n,表明指向表初始化完毕,则向所述第二控制器发送加入数据包,申请加入所述控制器网络,其中,n为所述控制器节点编号的位数;步骤2206、所述第二控制器收到所述加入数据包,广播该数据包,并使用所述第一控制器的节点ID更新所述第二控本文档来自技高网
...

【技术保护点】
1.一种基于多SDN协同机制的DDoS攻击防御系统,其特征在于,包括多个不同的SDN控制器、一个基于P2P的控制器网络、自定义的控制器网络通信协议以及DDoS攻击数据交互协议;所述多个不同的SDN控制器构成所述基于P2P的控制器网络,所述多个不同的SDN控制器之间通过所述控制器网络通信协议以及所述DDoS攻击数据交互协议进行通信,以合作完成对DDoS攻击的防御。

【技术特征摘要】
1.一种基于多SDN协同机制的DDoS攻击防御系统,其特征在于,包括多个不同的SDN控制器、一个基于P2P的控制器网络、自定义的控制器网络通信协议以及DDoS攻击数据交互协议;所述多个不同的SDN控制器构成所述基于P2P的控制器网络,所述多个不同的SDN控制器之间通过所述控制器网络通信协议以及所述DDoS攻击数据交互协议进行通信,以合作完成对DDoS攻击的防御。2.如权利要求1所述的基于多SDN协同机制的DDoS攻击防御系统,其特征在于,所述控制器包括流表下发模块、数据包收发模块、P2P网络通信模块和DDoS攻击防御模块;所述流表下发模块被配置为实现所述控制器基础的流表控制功能;所述数据包收发模块被配置为实现所述控制器网络中的数据包收发功能,并提供UDP数据包确认机制;所述P2P网络通信模块被配置为实现所述控制器网络通信协议,用于构建并维护所述基于P2P的控制器网络;所述DDoS攻击防御模块被配置为实现所述DDoS攻击数据交互协议,用于防御DDoS攻击。3.如权利要求1所述的基于多SDN协同机制的DDoS攻击防御系统,其特征在于,所述基于P2P的控制器网络采用Chord算法的思想实现,每个所述控制器被配置成为所述基于P2P的控制器网络中的一个节点,全部所述节点分布于一个容量为2n的环上,每个所述节点通过哈希函数生成一个表明其在网络中的位置的ID,每个所述节点维护一张具有n个表项的指向表,依次记录位于该节点后20、21、...、2n-1个位置处的后继节点,其中,n为所述控制器节点编号的位数。4.一种基于多SDN协同机制的DDoS攻击防御方法,其特征在于,包括以下步骤:步骤1、执行UDP数据包确认机制;步骤2、执行控制器网络构建及维护;步骤3、执行DDoS攻击防御。5.如权利要求4所述的基于多SDN协同机制的DDoS攻击防御方法,其特征在于,所述步骤1中的UDP数据包确认机制由所述数据包收发模块提供;所述步骤2中的控制器网络构建及维护由所述P2P网络通信模块实现;所述步骤3中的DDoS攻击防御由所述DDoS攻击防御模块实现。6.如权利要求4所述的基于多SDN协同机制的DDoS攻击防御方法,其特征在于,所述步骤1还包含如下步骤:步骤101、第一控制器发送数据包a到第二控制器,同时将所述数据包a、确认码ACK和计时器t1作为一组数据,存入所述第一控制器的发包缓存区;步骤102、所述第二控制器收到所述数据包a,发送回复包m到所述第一控制器,同时将所述回复包m、所述确认码ACK和计时器t2作为一组数据,存入所述第二控制器的回复包缓存区;步骤103、若所述第一控制器收到所述回复包m,则通过所述确认码ACK找到所述第一控制器的发包缓存区中数据包a的对应记录,删除该记录,确认送达所述数据包a;步骤104、若所述第一控制器未收到所述回复包m,则遍历所述第一控制器的发包缓存区,如果所述数据包a对应记录的所述计时器t1超过阈值T1,则重发所述数据包a,并更新所述计时器t1;步骤105、所述第二控制器收到重发的所述数据包a,遍历所述回复包缓存区,如果所述回复包m匹配所述确认码ACK成功,则丢弃该数据包a,并更新对应记录的所述计时器t2;步骤106、所述第二控制器遍历所述回复包缓存区,如果所述回复包m对应记录的所述计时器t2...

【专利技术属性】
技术研发人员:邹福泰贺博仁刘东明吴越
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1