基于轮盘算法的公平多路径路由策略

文档序号:25991768发布日期:2021-07-23 21:03阅读:314来源:国知局
基于轮盘算法的公平多路径路由策略

本发明涉及计算机网络技术领域,具体说的是基于轮盘算法的公平多路径路由策略。



背景技术:

为了保证ndn的稳定性以及流量负载均衡,对ndn的转发策略研究是有必要的。ndn项目组实现了洪泛路由和最优路径路由策略,洪泛路由可以将兴趣包向所有可用的转发接口进行转发,虽然可以快速获得请求的数据,但也会给网络带来大量的冗余,增加网络负担。最优路径策略通过选择一条最短路径转发兴趣包,虽然可以减少兴趣包请求,但会带来流量分配不公平的问题,当频繁选择某一条转发路径将会使该条路径变的拥塞,而其它空闲的路径却没有得到充分地使用。命名数据网络内在支持多条路径转发,如何利用多条路径协作转发成为ndn研究中的一个重要课题。



技术实现要素:

为解决上述技术问题,本发明提供一种基于轮盘算法的公平多路径路由策略,能够有效避免网络中数据冗余和流量分配不公平问题。

为实现上述技术目的,所采用的技术方案是:基于轮盘算法的公平多路径路由策略,包括以下步骤:

步骤一、当路由节点接收到上游节点反馈的nack包时,根据nack包携带的链路信息,更新efib表中的字段值,得到可转发该兴趣包的各个端口以及分配的权重;

步骤二、当兴趣包到达路由节点时,路由节点的cs和pit中没有该兴趣包相关记录时,在efib中选择转发路径,触发基于轮盘算法的路径选择策略;

步骤三、轮盘算法的路径选择策略具体实现方法为:先根据分配的权重计算可转发该兴趣包的各个端口被选中的概率,再将各个端口概率进行累积得到端口的累积概率,累积概率通过不同长度的线段表示,这些线段组合成一条直线,直线的长度为1,最长的那段线段,代表端口被选中的概率最大,之后在区间[0,1]中随机产生一个数字,数字落在的区间即为本次策略选择的转发端口,通过此转发端口转发数据。

efib表包括face字段、state字段、updatetime字段和w字段;

face字段表示兴趣包可由哪些端口转发,由路径发现阶段确定;

state字段用来记录路径链路状态,是由上游节点反馈的nack包携带的链路信息维护;

updatetime字段表示条目的存活时间,用于保证条目的有效性;

w字段代表权重,权重值通过链路状态确定。

updatetime字段的更新方法是,每个端口通过生存时间确保有效性,在生存时间到期前,如果该端口为有效端口,则生存时间会延长,否则该端口将会被删除,延长后的时间为:

tupdate表示更新后的存活时间,tnow代表当前的更新时间,tbefore为兴趣包上一次的转发时间,t为当前兴趣包的转发时间,λ为调整参数。

各个端口分配的权重是根据4种链路状态进行分配,权重分配策略如下所示:

ws1=αws2=βws3=γws4(2)

ws1、ws2、ws3、ws4代表空闲、正常、繁忙、拥塞四种链路状态的权重值;α,β,γ是四种权重值的比值参数;fn代表可选路径的端口个数;代表j端口的权重,各个端口权重值和为1。

根据分配的权重计算可转发该兴趣包的各个端口被选中的概率为

为转发该兴趣包的端口i的权重,代表j端口的权重,fn代表可选路径的端口个数,为各个端口被选择的概率;

端口的累积概率为

其中,为端口k被选择的概率。

本发明有益效果是:基于轮盘算法公平多路径策略整体性能优于ndn网络的拥塞控制策略,相较于ndn项目组已经实现的洪泛路由和最优路径路由策略,由于基于轮盘算法公平多路径策略对网络的链路状态加以甄别,并采取相应路径选择策略,能够有效避免将兴趣包转发到网络拥塞的链路,最大程度的利用网络资源,提高网络整体性能,能够有效避免网络中数据冗余和流量分配不公平问题。

附图说明

图1为本发明的流程图;

图2为瓶颈拓扑结构图;

图3为路径r1-r2的链路利用率图;

图4为路径r1-r3-r2的链路利用率图;

图5为复杂网络拓扑图;

图6为消费者每秒接收的数据量对比图;

图7为兴趣包超时数据量对比图。

具体实施方式

为了充分提高链路状态对兴趣包路由选择的影响,本文提出基于轮盘算法的公平多路径策略,在原有ndn架构不变的基础之上,对fib字段进行扩展,扩展后的efib结构如表1所示。多路径实现包括3个步骤:路径发现、拥塞控制和多路径转发策略。路径发现阶段主要任务是确认出有效路径,探测过程是通过在边缘节点发送探路兴趣包,网内节点收到此特殊兴趣包后进行广播,在网内节点没有任何缓存内容的条件下,兴趣包请求会到达内容生产者,内容生产者返回对应数据包,数据包携带往返时延、跳数等基本信息。中间路由节点第一次收到此特殊数据包后,对接收端口进行标记,而边缘节点对收到返回数据包的所有端口标记为有效端口;多路径拥塞控制的研究主要是与转发策略结合,完成数据流在多条传输路径上的分配。在多路径发现已完成的情况下,通过拥塞监测获取各条链路的拥塞状态,之后对不同链路的拥塞状态分配对应的权重,用来更新扩展后的转发信息表efib字段。当兴趣包需要被路由节点转发时,利用轮盘算法对转发信息表权重字段进行计算,确定一条转发路径,该算法使每个可用端口都有机会被选择且又不必每个可用端口都被转发,避免了洪泛策略开销大的不足,同时也能很好的解决最优路径路由策略引起流量分配不公平的问题。

表1改进后的转发信息表efib

本发明提出基于轮盘算法的公平多路径策略,主要包括更新和维护扩展转发信息表的字段和轮盘选择路径算法两部分。

如图1所示,当路由节点收到上游节点反馈的nack包信号时,根据nack包携带的链路状态信息,更新efib表字段值。兴趣包到来时,如果在cs(缓存存储库)、pit(未满足的兴趣包表)中都没有关于该兴趣包的记录时,执行基于轮盘算法的路径选择策略。

1.更新和维护efib表中的字段

face字段表示该前缀的兴趣包可由哪些端口转发,它是由路径发现阶段确定的。

state字段用来记录路径链路状态,是由上游节点反馈的nack包信息维护。

updatetime字段表示条目的存活时间,用于保证条目的有效性。

w字段代表权重,权重值是通过链路状态确定的。

边缘结点周期性的维护efib各字段,每个端口通过生存时间确保有效性,在生存时间到期前,如果该端口被使用(即路径发现阶段标记为有效端口),则生存时间会延长,否则该端口所在条目将会被删除,延长后的时间为:

tupdate表示更新后的存活时间,tnow代表当前的更新时间,tbefore为兴趣包上一次的转发时间,t为当前兴趣包的转发时间,λ为调整参数。t-tbefore越小,该条目的存活时间增长速度越慢,这是为了防止在某一段时间内,该端口频繁发送兴趣包,使该条目的存活时间太长,而后一段时间,该条目很少发送兴趣包甚至兴趣包不从该端口发送,但是由于该条目存活时间过长,不到删除该条目的时间,从而占用转发表空间。

扩展的转发信息表中每个表项对应转发路径的链路状态有4种:空闲,正常,繁忙,拥塞,而w域信息是根据以上4种链路状态进行分配,权重分配策略如下所示:

ws1=αws2=βws3=γws4(2)

ws1、ws2、ws3、ws4代表空闲,正常,繁忙,拥塞四种链路状态的权重值;α,β,γ是四种权重值的比值参数;fn代表可选路径的接口个数;代表j端口的权重,该前缀兴趣包下各个符合转发条件的端口权重值和为1。

2.轮盘选择策略

fib表项各个字段被填充后,当接收到的兴趣包需要被路由节点转发的时候,将会触发轮盘选择策略。轮盘算法的思想是使每个个体都有机会被选择,防止概率较小的个体被淘汰。轮盘选择策略是根据fib表链路状态分配的权重字段值,利用轮盘算法选择一个接口进行转发,具体的执行过程是先根据分配的权重计算各个端口被选中的概率,再将各个端口概率进行累积得到端口的累积概率,累积概率通过不同长度的线段,这些线段组合成一条直线,直线的长度为1,在这样的直线中,最长的那段线段,代表端口被选中的概率最大,之后在区间[0,1]中随机产生一个数字,数字落在的区间即为本次策略选择的转发端口。具体计算公式如下:

pfi为各个端口被选择的概率;qfi为端口i被选择的累积概率。

3.算法步骤

1)当路由节点接收到上游节点反馈的nack包时,根据nack携带的链路信息,更新efib表中的字段值,得到可转发该兴趣包的各个端口以及分配的权重,可利用公式(1)(2)(2)实现;

2)当兴趣包到达路由节点时,路由节点的cs,pit中没有该兴趣包相关记录时,需要在fib中选择转发路径,触发基于轮盘的路径选择策略;

3)轮盘算法的路径选择策略具体实现方法为:先根据分配的权重计算可转发该兴趣包的各个端口被选中的概率,再将各个端口概率进行累积得到端口的累积概率,累积概率通过不同长度的线段表示,这些线段组合成一条直线,直线的长度为1,最长的那段线段,代表端口被选中的概率最大,之后在区间[0,1]中随机产生一个数字,数字落在的区间即为本次策略选择的转发端口,通过此转发端口转发数据。

可根据efib中的w字段值与选择概率计算,利用公式4与公式5,找出在存活时间内的一条路径,通过此端口转发数据。

4)算法结束;

5)下一个路由节点继续执行步骤1)2)3)。

4.实验结果

实验使用ndnsim模拟器对路径选择策略进行评估,并与ndn本身的拥塞控制策略作对比。为了达到本实验的目的,预先设置一条瓶颈链路,这条瓶颈链路不能提供足够的带宽。为了验证本算法针对网络拥塞能够表现出自适应的能力,因此在实验中没有启用网内缓存功能。仿真开始的时候,先让网络正常的运行一段时间,让每个路由节点获得初始的参数。

仿真实验在两种不同的网络拓扑结构中完成,分别为瓶颈型网络拓扑结构和复杂型网络拓扑结构。瓶颈网络验证本文提出的策略和ndn自身拥塞控制策略的工作方式差异;复杂网络拓扑验证二者在网络吞吐量和请求超时数量上的差异。

1.瓶颈网络

瓶颈网络拓扑结构选用11个网络节点,拓扑结构如图2所示。

节点c1、c2、c3、c4为网络中的内容消费者节点,p1、p2、p3、p4为内容生产者节点,r1,r2,r3代表网络中的路由节点。节点旁边的数字编号代表该节点的端口id。

拓扑中的内容消费者节点与路由节点,以及路由节点和内容生产者节点之间的链路带宽设置为10mbps,路由节点间的链路带宽为1mbps,路由节点的缓冲区队列长度为25,数据包大小为1024bytes,兴趣包大小为16bytes,路由节点的转发策略使用基于轮盘算法的公平多路径策略。

实验主要对r1、r2以及r1、r3,r2的链路利用率进行比较,如图3所示。其中,横坐标代表兴趣包发送时间,纵坐标代表链路利用率,链路利用率是由当前链路的流量大小除以链路带宽计算得到。

从图3可以看出,由于r1和r2之间的路径的优先级更高,因此在仿真中,ndn拥塞控制和基于轮盘算法都预先使用r1和r2之间的路径。由图4可以看出,基于轮盘算法更早的使用了经过r3的传输路径,这是由于基于网络链路状态,轮盘算法能够提前选择一条合适的链路进行转发,因此更早的使用r1,r3,r2之间的路径,这说明基于轮盘算法对于路径的选择有更高的灵敏性。ndn拥塞策略链路利用率的抖动是因为ndn采取的aimd算法,当链路出现拥塞的时候,兴趣包发送窗口减半。

2.复杂网络拓扑

复杂网络拓扑结构如图5所示。拓扑结构有22个节点,36条链路,链路之间的带宽设为1mbps,时延设为10ms,兴趣包的存活时间为3s,重传时间为50ms,路由节点的缓冲区队列大小设置为20,每个消费者节点去对应的生产者节点下载所需的数据,且生产者节点产生的内容有共同的前缀,仿真结果如下:

从图6中可以看出,使用基于轮盘算法公平多路径策略比使用ndn自身的拥塞控制,在消费者每秒接收到的数据包数量方面具有更好的表现。从图7中可以看出,在兴趣包超时数量上,使用基于轮盘算法小于使用ndn自身的拥塞控制,并且随着时间的推移始终保持较平稳的状态。其中ndn拥塞控制产生了几次大幅度波动,这是由于当链路发生拥塞时,节点将快速的减小兴趣包发送速率,之后一段时间的兴趣包超时数量迅速下降。而当节点接收到相应的数据包后,发送速率快速增加,兴趣包超时数量也随之上升。而基于轮盘算法公平多路径策略是基于链路拥塞状态,利用轮盘算法及时选择其他合适路径,避免使用拥塞链路,因此兴趣包超时数量低于ndn拥塞控制。

从仿真结果可以看出,基于轮盘算法公平多路径策略整体性能优于ndn网络的拥塞控制策略。这是由于基于轮盘算法公平多路径策略对网络的链路状态加以甄别,并采取相应路径选择策略,能够有效避免将兴趣包转发到网络拥塞的链路,最大程度的利用网络资源,提高网络整体性能。

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