PrNet:一种应对链路洪泛攻击的机制

2023-08-15 02:02杨智威林梓钘
计算机技术与发展 2023年8期
关键词:网络拓扑瓶颈攻击者

杨智威,林梓钘,李 睿

(东莞理工学院 网络空间安全学院,广东 东莞 523808)

0 引 言

分布式拒绝服务(Distribution Denial of Service,DDoS)攻击是当今互联网主要的威胁之一[1],其主要通过控制大量僵尸主机向目标节点发送大量数据包,消耗目标节点的资源,以影响合法用户的正常使用。例如,在2016年Mirai恶意软件利用了受损的IoT设备向DNS提供商Dyn发起的DDoS攻击,造成了美国大规模网络瘫痪[2]。而链路洪泛攻击(Link-Flooding Attack,LFA)[3]作为新型的DDoS攻击,不同于以服务器为目标的传统DDoS攻击,LFA通过控制大量僵尸主机向网络中的关键路由器和关键链路注入大量低速率流量,目的在于切断尽可能多的网络连接,破坏合法用户与服务器之间的正常通信。由于LFA发送的是具有真实IP地址的低速率流量,这种流量与合法流量的特征基本一致,因此诸如检测虚假IP地址和特定签名[4]之类的传统对策是不起作用的,与传统DDoS攻击相比,LFA具有更强的隐蔽性。

根据网络拓扑的特性,节点之间的连接并不是均匀分布的。无论规模如何,一个片区中大多数节点的流量会汇聚到少部分关键节点和链路上,通过关键节点和链路与其他片区的节点进行通信[5]。也就是说,在真实的网络拓扑中,大多数节点和链路的重要性较低,而少数节点和链路具备较高的重要性,从对抗性的角度来看,节点和链路的重要性越大,其越可能成为导致网络瘫痪的网络瓶颈。攻击者只需要在攻击前利用网络空间资源测绘技术探测目标网络的拓扑结构,把关键节点或链路作为LFA的攻击目标,在破坏少数关键资源的情况下就可以对整个网络的连通性造成严重影响。隐藏拓扑的网络瓶颈是目前主流的防御机制之一,但是现有的拓扑欺骗系统普遍存在一些局限性。首先,计算网络瓶颈的度量标准较为单一,他们多数只考虑了静态部分的度量指标(如路由路径数量),但是在网络正常运行过程中的动态度量(如链路使用率)同样会导致网络瓶颈的出现。其次,现有的拓扑欺骗系统多数只考虑了应对攻击者发起的拓扑测绘行为,但是当攻击者发起不依赖测绘结果的盲攻击时,他们的防御行为就变得毫无意义。因此,目前应对攻击者发起的LFA主要面临以下挑战:(1)如何丰富网络瓶颈的度量指标,准确定位瓶颈节点和链路;(2)如何利用拓扑混淆技术以较低的成本有效地隐藏网络瓶颈;(3)如何应对攻击者发起的盲攻击。

为解决以上问题,该文基于软件定义网络(Software Defined Network,SDN)[6]提出了PrNet。贡献如下:(1)该系统综合考虑了网络拓扑的不同特征,从静态和动态的角度定义网络瓶颈度量指标;(2)该系统会生成针对测绘流量的混淆拓扑,通过识别测绘流量并将其引向绕开网络瓶颈的混淆路径,使攻击者得到错误的信息;(3)提出一个概率路径转发算法,该算法会为节点之间的所有可达路径分配概率,根据概率选择数据包的转发路径,通过主动使网络流量分散,降低对度量指标值较高的节点和链路的使用,减少网络瓶颈的产生;(4)在流行的SDN控制器Ryu上部署PrNet,并在现实网络拓扑上进行了模拟和仿真,证明了PrNet在应对攻击者发起链路洪泛攻击时具有可行性,并且能够有效缓解攻击者发起的盲攻击。

1 相关工作

现有的LFA防御方法主要分为两种:被动防御和主动防御。被动防御的重点在于捕捉LFA,针对出现拥塞的链路执行各种反应式的操作。在Wang等提出的LFADefender[7]和Kang等提出的SPIFFY[8]中,通过在系统中部署专门检测链路拥塞的模块来检测网络中是否出现LFA。针对出现拥塞的链路,对其中的流量执行重路由操作以将流量分散至其他链路,在逻辑上临时增加链路带宽来缓解LFA造成的链路堵塞。Aydeger等[9]提出了一个基于SDN的模型,该模型通过收集统计测绘流量来推测可疑的目标链路,当统计的数量超过阈值时,则会启动重路由功能使流量流向替代链路。但是,被动防御主要用于发生LFA后,其本身并不会阻止攻击者获取目标网络的信息以发现网络瓶颈。

与被动防御方法相比,LFA的主动防御利用拓扑混淆技术在攻击者的侦察阶段进行干预,使其形成与真实拓扑相似性较低的攻击视图,从而误导其攻击非瓶颈目标,增加攻击成本。Trassare等[10]首先通过添加虚拟链路使关键节点的瓶颈度量最小化的方式形成虚拟拓扑,然后在网络中部署智能路由器来识别并拦截测绘流量,由智能路由器对测绘流量根据虚拟拓扑生成返回的数据包。Liu等提出的TopoObfu[11]首先将部分路由器替换为SDN交换机,通过修改IP数据包的TTL字段来实现在拓扑中添加虚拟链路,使攻击者获得虚假的拓扑测绘结果。Kim等提出的SDHoneyNet[12]首先在瓶颈节点的附近节点上部署符合幂律分布的诱饵网络,当真实网络中出现TTL值为1的traceroute测绘流量时,将其引入到诱饵网络中。这三种方法有一个共性在于少数的部署节点需要处理大量的测绘流量,则这些少数的部署节点就成为了瓶颈本身。Liu等提出了一个轻量级、低消耗的防御系统NetObfu[13],其首先针对网络中的瓶颈链路均生成对应的虚拟链路,以降低瓶颈链路的流密度,然后将尽可能多的流量引向安全性较高的链路,诱导攻击者向其发起进攻。Ding等提出的Linkbait[14]首先根据各链路的流量密度来推测潜在的目标链路,然后将攻击者发送的测绘流量重路由至目标链路附近的诱饵链路,以增加诱饵链路的流量密度,达到误导攻击者的效果。这些机制在应对攻击者发起的拓扑测绘行为上均能够达到一定的混淆效果,但是当攻击者发起不依赖测绘结果的盲攻击时,针对于测绘阶段的拓扑混淆则无法发挥作用了。由Kim等提出的BottleNet[15]在缓解盲攻击问题上提供了一个思路,在瓶颈链路附近部署虚拟拓扑,当瓶颈链路出现拥塞的时候,将一部分流量重路由至虚拟拓扑,让其经过足够多的虚拟节点后再转发至目标节点。但是该方法在防御过程中欠缺主动性,而且需要额外部署虚拟节点,当瓶颈链路发生改变后,需要花费较大的部署成本。

2 应对链路洪泛攻击的机制PrNet

2.1 威胁模型概述

假设攻击者控制着一组可以在网络中注入流量的主机bots,拓扑中的节点和链路均可成为网络瓶颈,每个节点和链路的瓶颈值由聚合流量、路由路径和链路使用率等多种因素定义。要发起LFA,攻击者需要执行三个步骤:(1)攻击者控制bots多次使用测绘工具探测节点之间的路径,并形成攻击视图;(2)将流量汇聚的节点和链路确定为网络瓶颈;(3)攻击者控制bots向选定的节点发送大量合法的、低速率的流量来淹没网络瓶颈。如此一来,这些拥塞的网络瓶颈会严重影响整个网络的连通性。

traceroute[16]和iperf[17]是攻击者常用的拓扑测绘工具。traceroute具有定位主机之间所有路由器的功能,其通过向目标发送TTL值从零递增的数据包,并收集沿途节点返回的“超时”信息来刻画数据包的转发路径。攻击者通过在不同的bot上执行traceroute并分析其结果,可以确定目标网络的拓扑结构[18]。iperf可用于测量端到端之间的带宽,这意味着攻击者可以大致发现带宽使用率大的链路。这两个工具是合法用户常用的主机在线状态和网络故障的检测工具,因此攻击者可将其测绘行为伪装成合法用户发起的故障检测行为,以绕过防御者的检测机制。此外,该文还假设攻击者会发起不依赖拓扑测绘结果的盲攻击,通过向随机目标发送大量低速流量,以消耗沿途链路的剩余带宽,进而使得网络出现拥塞甚至瘫痪的情况。

2.2 PrNet系统设计

PrNet的整体架构分为路径权重计算、混淆拓扑生成算法、测绘流量识别和概率路径转发算法4个模块,如图1所示。

图1 PrNet系统架构

其中,路径权重计算和混淆拓扑生成算法主要作用是分析网络拓扑。路径权重计算模块定期收集拓扑信息,包括连接结构和流量统计信息,基于各节点和链路的瓶颈指标与配置文件信息,计算得出当前各节点之间可达路径的瓶颈权重,混淆拓扑生成算法根据计算结果生成用于欺骗攻击者的混淆拓扑。测绘流量识别和概率拓扑转发算法主要作用是拓扑运行过程中为数据包选择转发路径。测绘流量识别模块会识别网络中具有追踪功能的数据包,并为其分配对应的混淆路径。对于非测绘流量,由概率路径转发算法根据节点之间可达路径的瓶颈权重分别形成概率值,并按概率为非测绘流量选择转发路径。

2.2.1 路径权重计算

PrNet综合考虑了网络拓扑的不同特征,从静态和动态的角度定义节点和链路的瓶颈度量指标。静态度量指标的定义主要从网络拓扑的基本结构入手,不同的特征可以从不同的角度决定节点的重要性,参考BottleNet[15]中提出的3个静态指标来识别网络瓶颈,具体定义如下:

介数中心性(Betweenness Centrality,BC)表示在两个节点的可达路径中,经过某个节点的路径数量。节点的介数中心性越大,意味着它是越多路径的中间节点,该节点的故障将会造成许多路径的连接中断。对于任意节点u的介数中心性,其定义为:

(1)

其中,pathst表示节点s和t之间的可达路径的数量,而pathst(u)表示这些路径中经过节点u的数量。

紧密中心性(Closeness Centrality,CC)可以用来表示一个节点到所有其他可达节点的平均距离,节点的紧密中心性越大,其所在拓扑中的位置越靠近中心。对于任意节点u的紧密中心性,其定义为:

(2)

其中,d(u,v)表示节点u和v之间的最短距离。

度中心性(Degree Centrality,DC)可以用来表示一个节点与其他节点的相关性程度。若一个节点具有较高的度,则意味着该节点与邻居节点存在着较多连接,那么该节点的故障将会对网络连通性造成很大的影响。对于任意节点u的度中心性,其定义为:

(3)

其中,deg(u)表示节点u的度。此外,根据网络拓扑运行过程中节点和链路的流量变化情况定义动态度量指标,通过OpenFlow协议[19]收集以下2个动态指标来识别网络瓶颈,具体定义如下:

聚合流量比例(Aggregate Traffic Ratio,ATR)用于表示一个节点在一定时间内接收到的字节总数的比例,能够反映出拓扑中各节点的使用率。使用REST API[20]来实现与底层OpenFlow交换机的通信,定期获取各个节点的聚合统计信息,对于任意节点u的聚合流量比例,其计算公式为:

(4)

(5)

其中,fu(t)表示节点u在t时间戳接收的字节总数,F(u)表示节点u在t2-t1时间间隔接收字节总数的变化率。

链路使用率(Consumed Link Ratio,CLR)表示一条链路的使用带宽占链路总带宽的比例,能够反映出该链路的使用情况。运用OpenFlow协议的Port_Statistics消息收集SDN交换机中所有端口的流量统计信息,对于任意链路e(u,v)的使用率,其计算公式为:

(6)

其中,TXu,v(t)表示在t时间内e(u,v)传输的字节数量,bw(u,v)表示e(u,v)的总带宽。

PrNet会在部署阶段使用深度优先算法计算两两节点之间所有的可达路径Pathu,v,然后在网络拓扑工作过程中定期收集各个节点和链路的度量指标信息来计算每一条可达路径的瓶颈权重。不同指标对路径权重计算的影响程度由影响因子M=(mBC,mCC,mDC,mATR,mCLR)T决定。例如当M取值为[1,1,1,0,0]时,表示该路径的权重只由静态指标BC、CC和DC决定。对于每个节点的度量指标信息使用矩阵D来表示:

(7)

其中,r表示节点度量指标的类型,n表示节点的数量,dij表示第i个节点的第j类指标的度量值。

对于每条链路的使用率,使用矩阵C来表示:

C=(c1…ce…cn)T

(8)

其中,n表示链路的数量,ce表示链路e的使用率。

因此,对于每条可达路径path的瓶颈权重path_w可表示为:

(9)

其中,mj表示第j类指标的影响因子。

2.2.2 混淆拓扑生成算法

拓扑混淆使攻击者形成与实际流量拓扑不一致的视图,从而达到隐藏网络瓶颈的目的。该实际流量拓扑意为当前时间数据包的转发路径形成的拓扑视图,攻击者只有掌握流量的走向和分布,才能实施有效的攻击,因此隐藏数据包的实际转发路径是拓扑混淆的关键所在。攻击者可能会在不同的时间段发起多次测绘行为,测绘结果的不一致会引起攻击者的怀疑,进而发起盲攻击,因此PrNet根据静态度量指标来生成混淆拓扑,并且混淆拓扑均由真实的网络节点和链路形成,避免额外的部署开销。针对攻击者的测绘流量,PrNet会分配一条包含最少瓶颈节点的最远的转发路径,因此测绘流量会经过更多的非瓶颈节点,使得非瓶颈节点在攻击者的攻击视图中呈现更高的瓶颈度量。用Bu表示每个节点的瓶颈权重,Ib表示一条可达路径中包含的瓶颈节点,Wb表示一条可达路径中瓶颈节点的权重和。

(10)

混淆拓扑生成算法Obfu-Topology的工作流程如算法1所示,输入为网络拓扑G、节点度量指标D、瓶颈节点个数K、影响因子M=[1,1,1,0,0],输出为混淆拓扑G'。混淆拓扑生成算法首先取Bu中最大的K个节点形成瓶颈节点集合Vb,优先选择不包含瓶颈节点的路径作为混淆路径,若一对节点中所有的可达路径都需要经过瓶颈节点,则选择Wb最小的路径作为混淆路径。并且PrNet会对瓶颈节点的选择进行负载均衡处理,适当调整被选中的瓶颈节点的权重值Bu。

图2为网络拓扑Eunetworks,假设K取值为网络拓扑节点总数的15%,根据计算可得出(S5,S7)为瓶颈节点。当S4中的主机向S3发起traceroute测绘时,会分配不经过瓶颈节点的路径path=(S4,S1,S2,S3)作为混淆路径;对于S4到S11的混淆路径,会分配为经过最少的瓶颈节点且最远的路径,即path=(S4,S5,S8,S9,S10,S11);而对于S4到S12的混淆路径,系统会进行负载均衡处理,将其分配为path=(S4,S1,S2,S3,S7,S12)。

图2 拓扑Eunetworks

Algorithm 1:Obfu-Topology

Input: Physical topologyG; Node MetricsD; Number of bottleneck nodesK; Impact FactorM=[1,1,1,0,0]

Output:Obfuscated TopologyG'

1.Bu←D*M

2.Vb← TheKlargest value inBu

3.foru,v∈G

4.for path in Pathu,v

5.Ib← path∩Vb

6.ifIb=Ø

7.Ou,v←path

8.else

10.Ou,v←The path with the smallestWb

11.Bu(Ib)←Bu(Ib)+1

12.end if

13.end for

14.G'← The largest path_w inOu,v

15.end for

16.returnG'

2.2.3 测绘流量识别

测绘流量识别模块主要用于识别网络中的测绘数据包,当新的数据包进入OpenFlow交换机时,因为缺少针对该数据包的转发流表,所以交换机会触发table_miss向SDN控制器请求下发相应的流表,此时测绘流量识别模块会对该数据包的内容进行特征分析,若为测绘流量,则分配混淆路径。攻击者能够使用traceroute工具进行拓扑发现,其通过向目标主机发送目的端口为33 434-33 534并且TTL=1的UDP数据包,再根据沿途路由器返回的“超时”信息刻画数据包的转发路径。一个简单的解决方案是部署蜜罐检测所有TTL=1的UDP数据包,但是如果攻击者精心设计数据包使其在蜜罐节点上的TTL值大于1,或者使用其他类型的数据包,则可绕过蜜罐的检测。为了使检测规则更加完善,PrNet让所有OpenFlow交换机都成为检测节点,捕捉网络中目的端口大于33 434并且TTL值小于6的所有类型的数据包,再由SDN控制器为相应的节点下发高优先级的特定流表用于转发该测绘数据包。

2.2.4 概率路径转发算法

经过测绘流量识别模块的过滤后,需要为合法的流量分配转发路径,该部分工作由概率路径转发算法完成。在传统的网络架构中,路由转发路径是固定的,当网络中出现链路拥塞或者攻击者的恶意盲攻击时,路由器没法灵活调整流量的走向,从而影响了数据的传输效率。为了提高网络的灵活性和可用性,PrNet会在源节点和目标节点之间选择L条最优的可达路径作为备选路径As,d,定期变更数据包的转发路径,使网络中的流量尽可能实现负载均衡,减少网络瓶颈的产生。

可达路径的瓶颈权重path_w越大,则代表经过的节点和链路越多,或者经过的节点和链路正处于高负荷状态,选择path_w较大的路径将使得数据包的转发延迟增大。考虑到转发效率的问题,概率路径转发算法需要先对数据包的源地址s和目的地址d之间所有的可达路径Paths, d根据用户自定义的备选路径数量L进行筛选,排除掉path_w较大的路径,再对剩下的路径进行概率值分配。备选路径的概率值Probpath计算公式为:

(11)

最后从备选路径中选择一条路径作为数据包在T时间的转发路径,确保转发路径的分配会根据网络拓扑流量的实际情况进行调整。概率路径转发算法Prob-Path的工作流程如算法2所示,输入为数据包的源地址s、目的地址d和备选路径的数量L,输出为数据包的转发路径pathforward。

例如,在网络拓扑Eunetworks中,与S7直连的H7向与S8直连的H8发送UDP数据包,节点S7到S8一共有4条可达路径,分别是path=(S7,S6,S5,S8)、path=(S7,S12,S11,S13,S8)、path=(S7,S12,S11,S10,S9,S8)、path=(S7,S3,S2,S1,S4,S5,S8), 其path_w分别为1.3、1.6、3.2、4.5,假设此时备选路径数量为3,则path=(S7,S3,S2,S1,S4,S5,S8)在该时间段会被剔除,而剩下的3条路径作为备选路径,其被选中的概率分别为0.45、0.37、0.18,根据概率值组成三个区间(1,45)(45,82)(82,100),假设由随机算法产生的随机值为56,位于第二个区间,则将path=(S7,S12,S11,S13,S8)分配为数据包(H7,H8,UDP)的转发路径。SDN控制器会向路径沿途的交换机S7、S12、S11、S13和S8下发相应的流表,在T时间内该类型的数据包可在网络拓扑中直接转发而无需经过控制器,在T时间后,先前分配的流表超时,控制器需要重新计算出新的转发路径,并将流表下发至对应的交换机中。PrNet以数据包的源地址、目的地址和协议区分不同的数据包,若H7向H8同时发送UDP和TCP数据包,控制器会为两种数据包类型进行独立计算,并下发不同的流表。

Algorithm2:Prob-Path

Input: Source Addresss; Destination Addressd; Number of alternative pathsL

Output: Forwarding path pathforward

1.As,d←TheLsmallest values of path_w in Paths,d

2.for path inAs,d

4.Set[i]←Set[i-1]+Probpath

5.end for

6.r←random(1,100)

7.foriin Set

8.if Set[i-1]

9.pathforward←Thei-th path inAs,d

10.end if

11.end for

12.return pathforward

3 实验评估

该文使用基于OpenFlow1.3协议的Ryu作为SDN控制器,使用Mininet对数据集Topology Zoo[21]中3种不同规模的网络拓扑进行模拟仿真,其网络节点与链路的数量如表1所示。主要从以下几个方面来评估PrNet:(1)验证混淆拓扑的安全性;(2)验证概率路径转发算法的有效性;(3)PrNet性能基准测试。对下面给出的每项评估均重复实验30次,并展示出最终的平均值。

表1 网络拓扑信息

3.1 验证混淆拓扑的安全性

混淆拓扑的安全性可以通过比较混淆拓扑与实际流量拓扑的相似性来衡量。该文引入编辑距离(Levenshtein distance)表示混淆路径与实际流量路径之间的差异,路径的差异性可以表示为编辑距离和实际流量路径的长度比,实际流量路径为备选路径的概率的加权和,拓扑整体的相似性表示为:

simi=1-

(12)

图3 相似性

3.2 验证概率路径转发算法的有效性

在网络拓扑运行过程中验证概率路径转发算法的有效性,首先测试备选路径的概率值是否根据网络实时流量的变化而变化,其次测试概率路径转发算法对盲攻击的缓解效果。

3.2.1 备选路径的概率变化

在Eunetworks中,设定瓶颈节点数量为总节点的20%,备选路径数量为4,为了能够凸显拓扑运行过程中链路使用率CLR对备选路径概率值的影响,影响因子M取值为[1,1,1,1,3]。H7和H8是分别连接在节点S7和S8上的两台主机,path1=(S7,S6,S5,S8)、path2=(S7,S12,S11,S13,S8)、path3=(S7,S12,S11,S10,S9,S8)、path4=(S7,S3,S2,S1,S4,S5,S8)为数据包(H7,H8,UDP)的所有可达路径,由于备选路径数量为4,故该4条可达路径均为备选路径。

图4中给出了数据包(H7,H8,UDP)的备选路径概率值变化情况。随着e(S5,S6)的CLR上升,包含有e(S5,S6)的备选路径path1的瓶颈权重会上升,使得分配给该备选路径的概率值会随之下降,当e(S5,S6)的CLR为0.2时,path1的概率值为0.24,而当e(S5,S6)的CLR为1.0时,代表e(S5,S6)处于拥塞状态,此时SDN控制器将不再把流量引向拥塞的链路,因此path1的概率值会调整为0。实验结果与预想相符合,说明PrNet在拓扑运行过程中能够定期收集各个节点和链路的度量指标信息用于更新可达路径的瓶颈权重,并调整可达路径分配得到的概率值,使得网络具备更好的处理能力和灵活性。

图4 备选路径的概率变化

3.2.2 缓解盲攻击

在Eunetworks中验证PrNet如何缓解网络中出现的盲攻击。假设攻击者在节点S1、S6、S9和S13上部署有bots,其中S6、S9、S13中的bots发送大量低速率流量至S1的诱饵服务器上,此时e(S4,S5)成为了最有可能被攻击者洪泛的链路,如图5所示。将所有链路的带宽设置为10 Gbps,每个节点之间产生的背景流量消耗每条链路大约40%的链路使用率。考虑到LFA具有低速率流量的特性,规定每个bot最多发送8 Mbps的攻击流量。

图5 用于测试盲攻击的拓扑Eunetworks

图6给出了分别运行最短路径策略(Shortest Path First,SPF)和PrNet时链路使用率随攻击成本的变化趋势,横坐标为攻击者洪泛e(S4,S5)所需要的攻击成本,攻击成本以每个节点需要部署bots的数量来呈现,纵坐标为e(S4,S5)的链路使用率CLR。根据实验结果,当bots的数量为250时,在SPF方案中e(S4,S5)的使用率达到了100%,而在PrNet中e(S4,S5)的使用率仅为65%,与SPF方案相比,PrNet使攻击者需要多花费接近一倍的代价才能达到洪泛链路的目的。实验结果与预想相符合,说明PrNet在拓扑运行过程中会根据流量的走向和分布调整数据包的转发路径,使网络中的流量尽可能实现负载均衡,减少链路拥塞情况的出现,有效缓解了攻击者发起的盲攻击。

图6 缓解盲攻击

3.3 PrNet性能基准测试

通过测试系统在拓扑结构更新时的灵敏性和备选路径数量对数据包转发时延的影响来衡量PrNet的性能。

3.3.1 系统的灵敏性

当网络拓扑结构发生变化时,PrNet需要根据实际拓扑结构调整各节点的静态度量指标值,以及重新生成混淆拓扑。在3种不同规模的网络拓扑中测量这两个步骤的处理时间,如表2所示。结果表明,对于规模较小的网络拓扑,PrNet能够在0.5秒以内完成节点度量指标值和混淆拓扑的计算,而对于大型网络拓扑如Iris,计算时间虽然对比前两者有明显增大,但是总时间仍控制在1分钟以内。因此,笔者认为PrNet具有良好的灵敏性,能够有效应对真实环境中拓扑结构更新的情况。

表2 处理时间 ms

3.3.2 数据包的转发时延

在此评估中,测量备选路径数量增多,对数据包转发时延的影响。在3种不同规模的网络拓扑中,随机挑选两个位于不同节点的主机进行通信,主机之间连续30秒每秒发送10个数据包,每个数据包大小为5 000字节。当PrNet中备选路径数量为1时,代表此时系统使用最短路径策略分配转发路径。

如图7所示,当备选路径数量为1时,单个数据包在3种拓扑中的平均转发时延分别为0.193 ms,0.205 ms,0.211 ms,当备选路径数量为2时,转发时延分别为0.202 ms,0.216 ms,0.223 ms。在PrNet中,数据包的转发路径会是备选路径中的任意一条路径,而随着备选路径数量的增大,会有更长的路径纳入备选路径中,当数据包的转发路径为其中的一条较长的路径时,其转发延迟也会相应的增大,因此数据包的转发延迟会随着备选路径数量的增大而增大。但是在3种网络拓扑中,转发时延的平均涨幅分别为0.010 5 ms,0.011 ms和0.012 ms,变化幅度较小,对数据包的正常转发造成的影响不大。

图7 转发时延

4 结束语

该文提出了一种应对链路洪泛攻击的机制PrNet,PrNet的主要思想是从多角度定义形成网络瓶颈的度量指标,通过识别攻击者的测绘流量并为其分配一条安全的混淆路径,使得网络瓶颈在攻击者形成的攻击视图中具有较低的瓶颈度量值,并且通过概率路径转发算法,使网络拓扑中的流量尽可能实现负载均衡,减少网络瓶颈的产生。实验表明,PrNet生成的混淆拓扑能够抵御攻击者在攻击前期实施的网络侦察行为,概率路径转发算法能够让网络具备更好的处理能力和灵活性,并且有效缓解攻击者不依赖测绘结果而发起的盲攻击。PrNet仅考虑了将所有传统路由器变更为SDN交换机的实现方案,对于大型网络来说,更换所有路由器需要付出较大的代价,下一步将继续探索仅将网络中的部分路由器更换为SDN交换机的方案;对于大型网络拓扑,加入多个控制器,提升系统的数据处理能力;引入机器学习的算法,由算法根据当前拓扑的流量情况,决定备选路径的数量,为数据包分配最优的转发路径。

猜你喜欢
网络拓扑瓶颈攻击者
基于通联关系的通信网络拓扑发现方法
基于微分博弈的追逃问题最优策略设计
能量高效的无线传感器网络拓扑控制
正面迎接批判
劳斯莱斯古斯特与魅影网络拓扑图
突破雾霾治理的瓶颈
基于多任务异步处理的电力系统序网络拓扑分析
突破瓶颈 实现多赢
有限次重复博弈下的网络攻击行为研究
如何渡过初创瓶颈期