CN110650141A - 一种链路洪泛攻击的sdn分段路由防御方法 - Google Patents
一种链路洪泛攻击的sdn分段路由防御方法 Download PDFInfo
- Publication number
- CN110650141A CN110650141A CN201910910967.6A CN201910910967A CN110650141A CN 110650141 A CN110650141 A CN 110650141A CN 201910910967 A CN201910910967 A CN 201910910967A CN 110650141 A CN110650141 A CN 110650141A
- Authority
- CN
- China
- Prior art keywords
- link
- node
- source
- sdn
- capacity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种链路洪泛攻击的SDN分段路由防御方法。其包括对于一个给定的网络拓扑,将其构建为基于有向图的网络模型,获得链路的实体流量集合、容量和流量负载;利用基于SDN的系统防御模型对步骤1)中构建的网络模型进行监测,并判断网络模型是否被LFA攻击且链路出现严重拥塞,若判断结果为“是”,则利用SDN控制器和上述链路的实体流量集合、容量和流量负载对网络拓扑进行分段路由;否则继续进行监控等步骤。本发明方法在进行链路洪泛攻击防御时,利用SDN的分段路由策略疏解被攻击链路的拥塞负载,可避免全局路由可能造成的大量资源消耗,缓解链路拥塞,从而达到对于链路洪泛攻击的有效防御。
Description
技术领域
本发明属于网络信息安全技术领域,特别涉及一种链路洪泛攻击的SDN(软件定义网络)分段路由防御方法。
背景技术
链路洪泛攻击(Link Flooding Attack,LFA)是一种新型的DDoS攻击(分布式拒绝服务攻击),最近受到学术界和工业界的极大关注。其中Coremelt攻击和Crossfire攻击被视为最具威胁性的LFA。Coremelt攻击分三步启动:①选择核心网络中的目标链接;②选择可以产生遍历目标链路流量的僵尸机;③产生流量并洪泛目标链路。Crossfire是Coremelt的演变,具有流密度和滚动攻击的新概念。Crossfire攻击通常通过四个步骤启动:①构建链接图;②计算流密度并选择目标链接;③协调僵尸网络;④启动滚动攻击。
LFA具有几个显著特征,使得LFA不同于传统的DDoS攻击,并且难以检测和防御。LFA攻击者通常会组织一个大规模的僵尸网络来生成低速率数据流,以洪泛关键网络链路,而不是将大量流量直接发送到目标服务器。传统的DDoS防御系统通常会尝试过滤由DDoS攻击者流动的僵尸机发送的非法流量,但是由于LFA中的僵尸机可以使用合法的流量,因此这种防御方式很难产生效果。对比之下,SDN是下一代互联网的革命性架构技术,可以通过操作流表灵活地细化网络设备的流转发功能。与此同时,分段路由(Segment Rerouting,SR)是一种创新的路由范例。如果利用SDN分段路由防御链路洪泛攻击,在灵活性,可扩展性和适用性方面将具有很大优势。但目前针对链路洪泛攻击尚缺少有效的防御机制。
发明内容
为了解决上述问题,本发明的目的在于提供一种链路洪泛攻击的SDN分段路由防御方法。
为了达到上述目的,本发明提供的链路洪泛攻击的SDN分段路由防御方法包括按顺序进行的下列步骤:
1)对于一个给定的网络拓扑,将其构建为基于有向图的网络模型,获得链路的实体流量集合、容量和流量负载;
2)利用基于SDN的系统防御模型对步骤1)中构建的网络模型进行监测,并判断网络模型是否被LFA攻击且链路出现严重拥塞,若判断结果为“是”,则利用SDN控制器和上述链路的实体流量集合、容量和流量负载对网络拓扑进行分段路由;否则继续进行监控。
在步骤1)中,所述的构建基于有向图的网络模型,获得链路的实体流量集合、容量和流量负载的方法如下:
1-1)获取给定的网络拓扑中的SDN交换机分布信息、服务器分布信息、通信链路位置信息和通信业务信息;
1-2)根据上述信息计算出基于G,l分别表示网络中路由器和交换机的网络路径;其中,链路r定义如下:
r={vs,vs+1,…vd|d>=s+1}
每条链路从源节点vs开始,以目标节点vd结束,至少经过两个节点;
1-3)获取起点为源节点vs,终点为目标节点vd的链路r的实体流量集合,并将其定义如下:
As,d={α|source(α)=vs∩destination(α)=vd};
1-4)计算交换机G或者路由器l的节点与链路的容量矩阵C(p+q)×(p+q),用来表示链路的容量信息;若容量矩阵C(p+q)×(p+q)中的元素cij等于0,则表示节点vi和节点vj之间不存在直连链路;否则,cij表示节点vi和节点vj之间直连链路的容量;
1-5)计算交换机G或者路由器l的节点与链路的容量矩阵D(p+q)×(p+q),用来表示链路的流量信息;若流量矩阵D(p+q)×(p+q)中的元素dij等于0,则表示节点vi和节点vj之间不存在直连链路;否则,dij表示节点vi和节点vj之间直连链路的流量负载。
在步骤2)中,所述的利用SDN控制器和上述链路的实体流量集合、容量和流量负载对网络拓扑进行分段路由的方法如下:
2-1)当基于SDN的系统防御模型中的拥塞监控组件检测到某链路出现严重阻塞时,SDN控制器通知路由调整模块来缓解拥塞;将以vs作为源节点,vd为作目标节点的出现严重拥塞的链路表示为r={source(α)=vs∩destination(α)=vd}或r={vs,vs+1,vs+2,…vs+n,vd};
2-2)使用分段路由算法和上述链路的实体流量集合、容量和流量负载对出现严重拥塞的链路r={vs,vs+1,vs+2,…vs+n,vd}进行分段路由;分段路由的方法在于找到中间节点v’,使链路r={source(α)=vs∩destination(α)=v’}和r={source(α)=v’∩destination(α)=vs+1}分别按照SDN控制器自带的具有最短路径计算功能的Dijkstra算法局部重新路由;
2-3)待出现严重阻塞的链路的拥塞得到缓解后,将分段路由路径上的一部分流量重新移动到上述出现严重拥塞的链路,由此共同分担流量负载。
在步骤2-2)中,所述的使用分段路由算法和上述链路的实体流量集合、容量和流量负载对出现严重拥塞的链路r={vs,vs+1,vs+2,…vs+n,vd}进行分段路由的方法是根据出现严重拥塞的链路r={vs,vs+1,vs+2,…vs+n,vd}中源节点vs和目标节点vd是否直连分为以下情况进行处理:
Ⅰ)如果n=0即d=s+1,这意味着源节点vs和目标节点vd直连,假设As,d={α|source(α)=vs∩destination(α)=vd}是在出现严重拥塞前的链路r={vs,vd}中经过的实体流量集合,实体流量集合As,d经过该链路的流量带宽为Ds,d;将V0定义为所有与源节点vs直连的节点集合,显然vd∈V0;任取一个源节点vs的上游节点并将它表示为vs-1,然后根据节点集合V0中的元素可以分为以下两种情况:
①如果即节点集合V0中仅包括上游节点vs-1和目标节点vd,意味着源节点vs仅与目标节点vd和一个上游节点vs-1相连,这说明该链路r={vs,vd}的容量cs,d不足,因此分段路由时应直接跳过该链路,将经过链路r={vs,vd}的流量重新路由到链路r={vs-1,vd}上,并且删除链路r={vs,vd}和r={vs-1,vs},即将链路r={vs-1,vs,vd}处理简化为链路r={vs-1,vd},如图2(a)所示;然后判断链路通信是否恢复,如果没有恢复,再继续将链路r={vs-1,vd}按照上述进行分段路由的链路r={vs,vd}的方法进行处理;
②如果即节点集合V0中不仅包括上游节点vs-1和目标节点vd,还包括n个与源节点vs直连的节点;因为链路是双向的,因此将直接与源节点vs相连的除了目标节点vd的上游或者下游节点之外的节点都使用vn s-1表示(因为链路是双向的,因此除了源节点vs以外,其他直接与源节点vs相连的上游或者下游节点都可以使用vn表示),n表示与源节点vs直连的节点的序号;令Vn s-1表示节点集合V0移除上游节点vs-1和目标节点vd两个元素后剩余元素的集合;在这里给出带宽利用率的定义:
βij=dij/cij (1)
其中,dij表示节点vi和节点vj之间直连的链路所经过的流量负载,cij表示节点vi和节点vj之间直连的链路的容量;
Ⅱ)如果n≠0即d≠s+1,这意味着源节点vs和目标节点vd不直连且中间经过n个节点(n>0),则出现严重拥塞的链路可以表示为r={vs,vs+1,…,vs+p,vd|d>=s+1};由于链路r={vs,vs+1,…vd|d>=s+1}上包含(p+1)条直连单链路,可分别表示为r={vs,vs+1},r={vs+1,vs+2}…r={vs+p,vd};因为一条多节点的链路包含多条单链路,一条多节点的链路出现严重拥塞可能是由于其中的一条单链路流量超负荷所致;在这种情况下,按情况Ⅰ)的方法解决其包含的单链路故障问题,多链路故障就会被解决。
在步骤①中,所述的对链路r={vs,vd}进行分段路由的方法如下:
步骤1:计算源节点vs与周边所有节点vn s-1直连的链路的带宽利用率集合Bn s-1={β1 s-1,s,β2 s-1,s,βn s-1,s},计算公式如下:
βk s-1,s=dk s-1,s/ck s-1,s k=0,1,2,…n (2)
其中,βk s-1,s表示源节点vs与周边节点vk s-1之间直连的链路的带宽利用率,dk s-1,s表示源节点vs与周边节点vk s-1之间的直连的链路的流量带宽,ck s-1,s表示由源节点vs与周边节点vk s-1组成的直连链路的容量;k表示与上游节点vs-1直连的节点序号,取值范围从1到n;出现严重拥塞时则将该链路利用率记为0,易得βk s-1,s∈[0,1);
步骤2将带宽利用率集合Bn s-1中的元素按照从小到大的顺序,选出它的子集合Bq s-1,q代表子集合Bq s-1中元素的个数;相应的,令Vq s-1表示与子集合Bq s-1相对应的和源节点vs直连的节点vq s-1作为节点元素组成的集合;对于 βi s-1,s∈Bq s-1和βj s-1,s∈Bn s-1,需满足以下条件:
βi s-1,s≤βj s-1,s (3)
βi s-1,s>0 (5)
公式(3)表示子集合Bq s-1中的元素由带宽利用率集合Bn s-1中的元素从小到大选取部分元素组成;公式(4)表示子集合Vq s-1中的元素和源节点vs组成的直连链路的容量能够承载出现严重拥塞的链路重新路由的流量负载;γ是一个参数,用来调整吞吐量;公式(5)表示子集合Vq s-1中的元素和源节点vs组成的直连链路具有可达性;计算链路r={source(α)=vs∩destination(α)=v’}和r={source(α)=v’∩destination(α)=vs+1}的容量和,直到满足公式(4)为止;如果能找到解,满足公式(3)、(4)和(5)的元素最少的集合Vq s-1即为所求分段路由的中间节点集;对于上游节点vk s-1∈Vq s-1,k=1,2,…,q,r={vs,vk s-1}和链路r={vk s-1,vs}分别按照Dijkstra算法局部重新路由;如果公式(3)、(4)、(5)不能找到解,则采用递归的方式,用任取的一个源节点vs的上游节点vs-1替换源节点vs重新进行计算,直到找到满足分段路由的中间节点集为止;这里假设j为递归的次数(j≥0),Vq s-1-j为使用vs-1-j替换源节点vs进行计算后得到的最小节点集,则将经过链路r={vs-1-j,vs-1-(j-1),…,vd}的流量负载在r={source(α)=vs∩destination(α)=vs-1-j}和r={source(α)=vs-1-j∩destination(α)=vs}链路上分别按照Dijkstra算法进行局部重新路由。
与现有技术相比,本发明提供的链路洪泛攻击的SDN分段路由防御方法在进行链路洪泛攻击防御时,利用SDN的分段路由策略疏解出现严重拥塞链路的负载,通过对流量的灵活调度缓解拥塞并避免关键链路中断对网络业务造成严重干扰。本发明采用分段路由的局部路由方法,在缓解链路拥塞的同时,避免了全局路由可能造成的大量资源消耗。本发明可以有效防御链路洪泛攻击且SDN分段路由方法不会造成显著开销。
附图说明
图1为本发明提供的单链路拥塞示意图。
图2(a)为本发明提供的单路径拥塞且时的路由示意图。
图2(b)为本发明提供的单路径拥塞且时的路由示意图。
图3为本发明提供的多链路拥塞示意图。
具体实施方式
下面结合附图及具体实施例对本发明做进一步的说明,但下述实施例绝非对本发明有任何限制。
本发明提供的链路洪泛攻击的SDN分段路由防御方法包括按顺序进行的下列步骤:
1)对于一个给定的网络拓扑,将其构建为基于有向图的网络模型,获得链路的实体流量集合、容量和流量负载;
2)利用基于SDN的系统防御模型对步骤1)中构建的网络模型进行监测,并判断网络模型是否被LFA攻击且链路出现严重拥塞,若判断结果为“是”,则利用SDN控制器和上述链路的实体流量集合、容量和流量负载对网络拓扑进行分段路由;否则继续进行监控。
在步骤1)中,所述的构建基于有向图的网络模型,获得链路的实体流量集合、容量和流量负载的方法如下:
1-1)获取给定的网络拓扑中的SDN交换机分布信息、服务器分布信息、通信链路位置信息和通信业务信息;
1-2)根据上述信息计算出基于G,l分别表示网络中路由器和交换机的网络路径;其中,链路r定义如下:
r={vs,vs+1,…vd|d>=s+1}
每条链路从源节点vs开始,以目标节点vd结束,至少经过两个节点;
1-3)获取起点为源节点vs,终点为目标节点vd的链路r的实体流量集合,并将其定义如下:
As,d={α|source(α)=vs∩destination(α)=vd};
1-4)计算交换机G或者路由器l的节点与链路的容量矩阵C(p+q)×(p+q),用来表示链路的容量信息;若容量矩阵C(p+q)×(p+q)中的元素cij等于0,则表示节点vi和节点vj之间不存在直连链路;否则,cij表示节点vi和节点vj之间直连链路的容量;
1-5)计算交换机G或者路由器l的节点与链路的容量矩阵D(p+q)×(p+q),用来表示链路的流量信息;若流量矩阵D(p+q)×(p+q)中的元素dij等于0,则表示节点vi和节点vj之间不存在直连链路;否则,dij表示节点vi和节点vj之间直连链路的流量负载。
在步骤2)中,所述的利用SDN控制器和上述链路的实体流量集合、容量和流量负载对网络拓扑进行分段路由的方法如下:
2-1)当基于SDN的系统防御模型中的拥塞监控组件检测到某链路出现严重阻塞时,SDN控制器通知路由调整模块来缓解拥塞;将以vs作为源节点,vd为作目标节点的出现严重拥塞的链路表示为r={source(α)=vs∩destination(α)=vd}或r={vs,vs+1,vs+2,…vs+n,vd};
2-2)使用分段路由算法和上述链路的实体流量集合、容量和流量负载对出现严重拥塞的链路r={vs,vs+1,vs+2,…vs+n,vd}进行分段路由;分段路由的方法在于找到中间节点v’,使链路r={source(α)=vs∩destination(α)=v’}和r={source(α)=v’∩destination(α)=vs+1}分别按照SDN控制器自带的具有最短路径计算功能的Dijkstra算法局部重新路由;
2-3)待出现严重阻塞的链路的拥塞得到缓解后,将分段路由路径上的一部分流量重新移动到上述出现严重拥塞的链路,由此共同分担流量负载。
在步骤2-2)中,所述的使用分段路由算法和上述链路的实体流量集合、容量和流量负载对出现严重拥塞的链路r={vs,vs+1,vs+2,…vs+n,vd}进行分段路由的方法是根据出现严重拥塞的链路r={vs,vs+1,vs+2,…vs+n,vd}中源节点vs和目标节点vd是否直连分为以下情况进行处理:
Ⅰ)如果n=0即d=s+1,这意味着源节点vs和目标节点vd直连,如图1所示。假设As,d={α|source(α)=vs∩destination(α)=vd}是在出现严重拥塞前的链路r={vs,vd}中经过的实体流量集合,实体流量集合As,d经过该链路的流量带宽为Ds,d;将V0定义为所有与源节点vs直连的节点集合,显然vd∈V0;任取一个源节点vs的上游节点并将它表示为vs-1,然后根据节点集合V0中的元素可以分为以下两种情况:
①如果即节点集合V0中仅包括上游节点vs-1和目标节点vd,意味着源节点vs仅与目标节点vd和一个上游节点vs-1相连,这说明该链路r={vs,vd}的容量cs,d不足,因此分段路由时应直接跳过该链路,将经过链路r={vs,vd}的流量重新路由到链路r={vs-1,vd}上,并且删除链路r={vs,vd}和r={vs-1,vs},即将链路r={vs-1,vs,vd}处理简化为链路r={vs-1,vd},如图2(a)所示;然后判断链路通信是否恢复,如果没有恢复,再继续将链路r={vs-1,vd}按照上述进行分段路由的链路r={vs,vd}的方法进行处理。
②如果即节点集合V0中不仅包括上游节点vs-1和目标节点vd,还包括n个与源节点vs直连的节点。因为链路是双向的,因此将直接与源节点vs相连的除了目标节点vd的上游或者下游节点之外的节点都使用vn s-1表示(因为链路是双向的,因此除了源节点vs以外,其他直接与源节点vs相连的上游或者下游节点都可以使用vn表示),n表示与源节点vs直连的节点的序号;令Vn s-1表示节点集合V0移除上游节点vs-1和目标节点vd两个元素后剩余元素的集合。在这里给出带宽利用率的定义:
βij=dij/cij (1)
其中,dij表示节点vi和节点vj之间直连的链路所经过的流量负载,cij表示节点vi和节点vj之间直连的链路的容量。
在步骤①中,所述的对链路r={vs,vd}进行分段路由的方法如下:
步骤1:计算源节点vs与周边所有节点vn s-1直连的链路的带宽利用率集合Bn s-1={β1 s-1,s,β2 s-1,s,βn s-1,s},计算公式如下:
βk s-1,s=dk s-1,s/ck s-1,s k=0,1,2,…n (2)
其中,βk s-1,s表示源节点vs与周边节点vk s-1之间直连的链路的带宽利用率,dk s-1,s表示源节点vs与周边节点vk s-1之间的直连的链路的流量带宽,ck s-1,s表示由源节点vs与周边节点vk s-1组成的直连链路的容量。k表示与上游节点vs-1直连的节点序号,取值范围从1到n;出现严重拥塞时则将该链路利用率记为0,易得βk s-1,s∈[0,1)。
步骤2将带宽利用率集合Bn s-1中的元素按照从小到大的顺序,选出它的子集合Bq s-1,q代表子集合Bq s-1中元素的个数;相应的,令Vq s-1表示与子集合Bq s-1相对应的和源节点vs直连的节点vq s-1作为节点元素组成的集合;对于 βi s-1,s∈Bq s-1和βj s-1,s∈Bn s-1,需满足以下条件:
βi s-1,s≤βj s-1,s (3)
βi s-1,s>0 (5)
公式(3)表示子集合Bq s-1中的元素由带宽利用率集合Bn s-1中的元素从小到大选取部分元素组成。公式(4)表示子集合Vq s-1中的元素和源节点vs组成的直连链路的容量能够承载出现严重拥塞的链路重新路由的流量负载。γ是一个参数,用来调整吞吐量。公式(5)表示子集合Vq s-1中的元素和源节点vs组成的直连链路具有可达性。计算链路r={source(α)=vs∩destination(α)=v’}和r={source(α)=v’∩destination(α)=vs+1}的容量和,直到满足公式(4)为止。如果能找到解,满足公式(3)、(4)和(5)的元素最少的集合Vq s-1即为所求分段路由的中间节点集。对于上游节点vk s-1∈Vq s-1,k=1,2,…,q,r={vs,vk s-1}和链路r={vk s-1,vs}分别按照Dijkstra算法局部重新路由,如图2(b)所示。如果公式(3)、(4)、(5)不能找到解,则采用递归的方式,用任取的一个源节点vs的上游节点vs-1替换源节点vs重新进行计算,直到找到满足分段路由的中间节点集为止。这里假设j为递归的次数(j≥0),Vq s-1-j为使用vs-1-j替换源节点vs进行计算后得到的最小节点集,则将经过链路r={vs-1-j,vs-1-(j-1),…,vd}的流量负载在r={source(α)=vs∩destination(α)=vs-1-j}和r={source(α)=vs-1-j∩destination(α)=vs}链路上分别按照Dijkstra算法进行局部重新路由。
Ⅱ)如果n≠0即d≠s+1,这意味着源节点vs和目标节点vd不直连且中间经过n个节点(n>0),则出现严重拥塞的链路可以表示为r={vs,vs+1,…,vs+p,vd|d>=s+1}。由于链路r={vs,vs+1,…vd|d>=s+1}上包含(p+1)条直连单链路,可分别表示为r={vs,vs+1},r={vs+1,vs+2}…r={vs+p,vd}。因为一条多节点的链路包含多条单链路,一条多节点的链路出现严重拥塞可能是由于其中的一条单链路流量超负荷所致。在这种情况下,按情况Ⅰ)的方法解决其包含的单链路故障问题,多链路故障就会被解决。
Claims (5)
1.一种链路洪泛攻击的SDN分段路由防御方法,其特征在于:所述的链路洪泛攻击的SDN分段路由防御方法包括按顺序进行的下列步骤:
1)对于一个给定的网络拓扑,将其构建为基于有向图的网络模型,获得链路的实体流量集合、容量和流量负载;
2)利用基于SDN的系统防御模型对步骤1)中构建的网络模型进行监测,并判断网络模型是否被LFA攻击且链路出现严重拥塞,若判断结果为“是”,则利用SDN控制器和上述链路的实体流量集合、容量和流量负载对网络拓扑进行分段路由;否则继续进行监控。
2.根据权利要求1所述的链路洪泛攻击的SDN分段路由防御方法,其特征在于:在步骤1)中,所述的构建基于有向图的网络模型,获得链路的实体流量集合、容量和流量负载的方法如下:
1-1)获取给定的网络拓扑中的SDN交换机分布信息、服务器分布信息、通信链路位置信息和通信业务信息;
1-2)根据上述信息计算出基于G,l分别表示网络中路由器和交换机的网络路径;其中,链路r定义如下:
r={vs,vs+1,…vd|d>=s+1}
每条链路从源节点vs开始,以目标节点vd结束,至少经过两个节点;
1-3)获取起点为源节点vs,终点为目标节点vd的链路r的实体流量集合,并将其定义如下:
As,d={α|source(α)=vs∩destination(α)=vd};
1-4)计算交换机G或者路由器l的节点与链路的容量矩阵C(p+q)×(p+q),用来表示链路的容量信息;若容量矩阵C(p+q)×(p+q)中的元素cij等于0,则表示节点vi和节点vj之间不存在直连链路;否则,cij表示节点vi和节点vj之间直连链路的容量;
1-5)计算交换机G或者路由器l的节点与链路的容量矩阵D(p+q)×(p+q),用来表示链路的流量信息;若流量矩阵D(p+q)×(p+q)中的元素dij等于0,则表示节点vi和节点vj之间不存在直连链路;否则,dij表示节点vi和节点vj之间直连链路的流量负载。
3.根据权利要求1所述的链路洪泛攻击的SDN分段路由防御方法,其特征在于:在步骤2)中,所述的利用SDN控制器和上述链路的实体流量集合、容量和流量负载对网络拓扑进行分段路由的方法如下:
2-1)当基于SDN的系统防御模型中的拥塞监控组件检测到某链路出现严重阻塞时,SDN控制器通知路由调整模块来缓解拥塞;将以vs作为源节点,vd为作目标节点的出现严重拥塞的链路表示为r={source(α)=vs∩destination(α)=vd}或r={vs,vs+1,vs+2,…vs+n,vd};
2-2)使用分段路由算法和上述链路的实体流量集合、容量和流量负载对出现严重拥塞的链路r={vs,vs+1,vs+2,…vs+n,vd}进行分段路由;分段路由的方法在于找到中间节点v’,使链路r={source(α)=vs∩destination(α)=v’}和r={source(α)=v’∩destination(α)=vs+1}分别按照SDN控制器自带的具有最短路径计算功能的Dijkstra算法局部重新路由;
2-3)待出现严重阻塞的链路的拥塞得到缓解后,将分段路由路径上的一部分流量重新移动到上述出现严重拥塞的链路,由此共同分担流量负载。
4.根据权利要求3所述的链路洪泛攻击的SDN分段路由防御方法,其特征在于:在步骤2-2)中,所述的使用分段路由算法和上述链路的实体流量集合、容量和流量负载对出现严重拥塞的链路r={vs,vs+1,vs+2,…vs+n,vd}进行分段路由的方法是根据出现严重拥塞的链路r={vs,vs+1,vs+2,…vs+n,vd}中源节点vs和目标节点vd是否直连分为以下情况进行处理:
Ⅰ)如果n=0即d=s+1,这意味着源节点vs和目标节点vd直连,假设As,d={α|source(α)=vs∩destination(α)=vd}是在出现严重拥塞前的链路r={vs,vd}中经过的实体流量集合,实体流量集合As,d经过该链路的流量带宽为Ds,d;将V0定义为所有与源节点vs直连的节点集合,显然vd∈V0;任取一个源节点vs的上游节点并将它表示为vs-1,然后根据节点集合V0中的元素可以分为以下两种情况:
①如果即节点集合V0中仅包括上游节点vs-1和目标节点vd,意味着源节点vs仅与目标节点vd和一个上游节点vs-1相连,这说明该链路r={vs,vd}的容量cs,d不足,因此分段路由时应直接跳过该链路,将经过链路r={vs,vd}的流量重新路由到链路r={vs-1,vd}上,并且删除链路r={vs,vd}和r={vs-1,vs},即将链路r={vs-1,vs,vd}处理简化为链路r={vs-1,vd},如图2(a)所示;然后判断链路通信是否恢复,如果没有恢复,再继续将链路r={vs-1,vd}按照上述进行分段路由的链路r={vs,vd}的方法进行处理;
②如果即节点集合V0中不仅包括上游节点vs-1和目标节点vd,还包括n个与源节点vs直连的节点;因为链路是双向的,因此将直接与源节点vs相连的除了目标节点vd的上游或者下游节点之外的节点都使用vn s-1表示(因为链路是双向的,因此除了源节点vs以外,其他直接与源节点vs相连的上游或者下游节点都可以使用vn表示),n表示与源节点vs直连的节点的序号;令Vn s-1表示节点集合V0移除上游节点vs-1和目标节点vd两个元素后剩余元素的集合;在这里给出带宽利用率的定义:
βij=dij/cij (1)
其中,dij表示节点vi和节点vj之间直连的链路所经过的流量负载,cij表示节点vi和节点vj之间直连的链路的容量;
Ⅱ)如果n≠0即d≠s+1,这意味着源节点vs和目标节点vd不直连且中间经过n个节点(n>0),则出现严重拥塞的链路可以表示为r={vs,vs+1,…,vs+p,vd|d>=s+1};由于链路r={vs,vs+1,…vd|d>=s+1}上包含(p+1)条直连单链路,可分别表示为r={vs,vs+1},r={vs+1,vs+2}…r={vs+p,vd};因为一条多节点的链路包含多条单链路,一条多节点的链路出现严重拥塞可能是由于其中的一条单链路流量超负荷所致;在这种情况下,按情况Ⅰ)的方法解决其包含的单链路故障问题,多链路故障就会被解决。
5.根据权利要求4所述的链路洪泛攻击的SDN分段路由防御方法,其特征在于:在步骤①中,所述的对链路r={vs,vd}进行分段路由的方法如下:
步骤1:计算源节点vs与周边所有节点vn s-1直连的链路的带宽利用率集合Bn s-1={β1 s-1,s,β2 s-1,s,βn s-1,s},计算公式如下:
βk s-1,s=dk s-1,s/ck s-1,s k=0,1,2,…n (2)
其中,βk s-1,s表示源节点vs与周边节点vk s-1之间直连的链路的带宽利用率,dk s-1,s表示源节点vs与周边节点vk s-1之间的直连的链路的流量带宽,ck s-1,s表示由源节点vs与周边节点vk s-1组成的直连链路的容量;k表示与上游节点vs-1直连的节点序号,取值范围从1到n;出现严重拥塞时则将该链路利用率记为0,易得βk s-1,s∈[0,1);
步骤2将带宽利用率集合Bn s-1中的元素按照从小到大的顺序,选出它的子集合Bq s-1,q代表子集合Bq s-1中元素的个数;相应的,令Vq s-1表示与子集合Bq s-1相对应的和源节点vs直连的节点vq s-1作为节点元素组成的集合;对于∈(q,n],βi s-1,s∈Bq s-1和βj s-1,s∈Bn s-1,需满足以下条件:
βi s-1,s≤βj s-1,s (3)
βi s-1,s>0 (5)
公式(3)表示子集合Bq s-1中的元素由带宽利用率集合Bn s-1中的元素从小到大选取部分元素组成;公式(4)表示子集合Vq s-1中的元素和源节点vs组成的直连链路的容量能够承载出现严重拥塞的链路重新路由的流量负载;γ是一个参数,用来调整吞吐量;公式(5)表示子集合Vq s-1中的元素和源节点vs组成的直连链路具有可达性;计算链路r={source(α)=vs∩destination(α)=v’}和r={source(α)=v’∩destination(α)=vs+1}的容量和,直到满足公式(4)为止;如果能找到解,满足公式(3)、(4)和(5)的元素最少的集合Vq s-1即为所求分段路由的中间节点集;对于上游节点vk s-1∈Vq s-1,k=1,2,…,q,r={vs,vk s-1}和链路r={vk s-1,vs}分别按照Dijkstra算法局部重新路由;如果公式(3)、(4)、(5)不能找到解,则采用递归的方式,用任取的一个源节点vs的上游节点vs-1替换源节点vs重新进行计算,直到找到满足分段路由的中间节点集为止;这里假设j为递归的次数(j≥0),Vq s-1-j为使用vs-1-j替换源节点vs进行计算后得到的最小节点集,则将经过链路r={vs-1-j,vs-1-(j-1),…,vd}的流量负载在r={source(α)=vs∩destination(α)=vs-1-j}和r={source(α)=vs-1-j∩destination(α)=vs}链路上分别按照Dijkstra算法进行局部重新路由。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910910967.6A CN110650141B (zh) | 2019-09-25 | 2019-09-25 | 一种链路洪泛攻击的sdn分段路由防御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910910967.6A CN110650141B (zh) | 2019-09-25 | 2019-09-25 | 一种链路洪泛攻击的sdn分段路由防御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110650141A true CN110650141A (zh) | 2020-01-03 |
CN110650141B CN110650141B (zh) | 2021-08-17 |
Family
ID=69011216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910910967.6A Active CN110650141B (zh) | 2019-09-25 | 2019-09-25 | 一种链路洪泛攻击的sdn分段路由防御方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110650141B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113364810A (zh) * | 2021-07-02 | 2021-09-07 | 东北大学秦皇岛分校 | 一种链路洪泛攻击检测与防御系统及方法 |
CN114157446A (zh) * | 2021-10-15 | 2022-03-08 | 西安交通大学 | 抵抗骨干链路DDoS攻击的方法、系统、设备及可读存储介质 |
CN116094749A (zh) * | 2022-11-25 | 2023-05-09 | 济南大学 | 一种针对crossfire tcp流量攻击的检测防御方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102057631A (zh) * | 2008-06-09 | 2011-05-11 | 微软公司 | 数据中心互连和流量工程 |
US20140313880A1 (en) * | 2010-09-29 | 2014-10-23 | Telefonaktiebolaget L.M. Ericsson (Publ) | Fast flooding based fast convergence to recover from network failures |
US20160294700A1 (en) * | 2015-03-30 | 2016-10-06 | Alcatel-Lucent Usa, Inc. | Online route computation and traffic engineering with segment routing |
CN108156078A (zh) * | 2016-12-02 | 2018-06-12 | 中国移动通信有限公司研究院 | 一种流表构建方法及系统 |
US20180343193A1 (en) * | 2017-05-25 | 2018-11-29 | Fang Hao | Method and apparatus for minimum label bandwidth guaranteed path for segment routing |
CN108933737A (zh) * | 2017-05-26 | 2018-12-04 | 中兴通讯股份有限公司 | 负载均衡方法及装置 |
CN109194577A (zh) * | 2018-10-23 | 2019-01-11 | 清华大学 | 一种基于部分部署的分段路由网络的流量工程方法及装置 |
CN109495385A (zh) * | 2018-12-04 | 2019-03-19 | 安徽皖兴通信息技术有限公司 | 一种实现非连续分段路由域的网络流量调度方法 |
CN109510843A (zh) * | 2019-01-04 | 2019-03-22 | 中国民航大学 | 一种Crossfire链路洪泛攻击的SND移动目标防御方法 |
-
2019
- 2019-09-25 CN CN201910910967.6A patent/CN110650141B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102057631A (zh) * | 2008-06-09 | 2011-05-11 | 微软公司 | 数据中心互连和流量工程 |
US20140313880A1 (en) * | 2010-09-29 | 2014-10-23 | Telefonaktiebolaget L.M. Ericsson (Publ) | Fast flooding based fast convergence to recover from network failures |
US20160294700A1 (en) * | 2015-03-30 | 2016-10-06 | Alcatel-Lucent Usa, Inc. | Online route computation and traffic engineering with segment routing |
CN108156078A (zh) * | 2016-12-02 | 2018-06-12 | 中国移动通信有限公司研究院 | 一种流表构建方法及系统 |
US20180343193A1 (en) * | 2017-05-25 | 2018-11-29 | Fang Hao | Method and apparatus for minimum label bandwidth guaranteed path for segment routing |
CN108933737A (zh) * | 2017-05-26 | 2018-12-04 | 中兴通讯股份有限公司 | 负载均衡方法及装置 |
CN109194577A (zh) * | 2018-10-23 | 2019-01-11 | 清华大学 | 一种基于部分部署的分段路由网络的流量工程方法及装置 |
CN109495385A (zh) * | 2018-12-04 | 2019-03-19 | 安徽皖兴通信息技术有限公司 | 一种实现非连续分段路由域的网络流量调度方法 |
CN109510843A (zh) * | 2019-01-04 | 2019-03-22 | 中国民航大学 | 一种Crossfire链路洪泛攻击的SND移动目标防御方法 |
Non-Patent Citations (2)
Title |
---|
DENNIS CAI.ET.AL: "Evolve Carrier Ethernet Architecture with SDN and", 《PROCEEDING OF IEEE INTERNATIONAL SYMPOSIUM ON A WORLD OF WIRELESS, MOBILE AND MULTIMEDIA NETWORKS 2014》 * |
董谦等: "软件定义网络中基于分段路由的流量调度方法", 《通讯学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113364810A (zh) * | 2021-07-02 | 2021-09-07 | 东北大学秦皇岛分校 | 一种链路洪泛攻击检测与防御系统及方法 |
CN114157446A (zh) * | 2021-10-15 | 2022-03-08 | 西安交通大学 | 抵抗骨干链路DDoS攻击的方法、系统、设备及可读存储介质 |
CN116094749A (zh) * | 2022-11-25 | 2023-05-09 | 济南大学 | 一种针对crossfire tcp流量攻击的检测防御方法及系统 |
CN116094749B (zh) * | 2022-11-25 | 2024-05-07 | 济南大学 | 一种针对crossfire tcp流量攻击的检测防御方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110650141B (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110650141B (zh) | 一种链路洪泛攻击的sdn分段路由防御方法 | |
Li et al. | The impact of topology on overlay routing service | |
JP6321628B2 (ja) | パケットデータネットワーキングにおける輻輳制御 | |
JP2014039314A (ja) | リンクステートプロトコルにより制御されるネットワークにおいて転送状態を算出する装置及び方法 | |
EP3523925A1 (en) | Discovery of ingress provider edge devices in egress peering networks | |
CN113794638B (zh) | 基于差分进化算法的sdn数据中心网络大象流调度方法 | |
Viet et al. | Traffic engineering for multiple spanning tree protocol in large data centers | |
CN114844708B (zh) | 基于流量重路由链路泛洪攻击缓解方法、设备及存储介质 | |
Li et al. | Pasr: An efficient flow forwarding scheme based on segment routing in software-defined networking | |
Huang et al. | Measurement-aware monitor placement and routing: a joint optimization approach for network-wide measurements | |
CN113810405A (zh) | 一种基于sdn网络的路径跳变动态防御系统及方法 | |
Zheng et al. | Learning to configure converters in hybrid switching data center networks | |
Zhao et al. | Flow aggregation through dynamic routing overlaps in software defined networks | |
Chen et al. | Congestion avoidance transmission mechanism based on two-dimensional forwarding | |
Alabbad et al. | Localised credit based QoS routing | |
Pereira et al. | Comparison of single and multi-objective evolutionary algorithms for robust link-state routing | |
Al Mtawa et al. | Disjoint-Path Segment Routing: Network Reliability Perspective | |
Hou et al. | An improved SDN-based fabric for flexible data center networks | |
JP2004147060A (ja) | ネットワークシステム | |
Yao et al. | Maze Routing: An Information Privacy-aware Secure Routing in Internet of Things for Smart Grid | |
Liu et al. | Performance evaluation of K shortest path algorithms in MPLS traffic engineering | |
CN115865796B (zh) | 路由器标签交换的路径规划方法 | |
Muthirayan et al. | Online algorithms for network robustness under connectivity constraints | |
Nasar et al. | Computer Network Routing Using Fuzzy Neural Networks | |
Kulkarni et al. | On multipath routing algorithm for software defined networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |