一种命名数据网络中基于速率的多路径感知拥塞控制方法

文档序号:34855121发布日期:2023-07-22 17:08阅读:76来源:国知局

本发明涉及计算机网络数据拥塞控制领域,具体涉及一种命名数据网络中基于速率的多路径感知拥塞控制方法。


背景技术:

1、ndn是一种非常有前途的未来网络体系结构,它与tcp/ip完全不同。在ndn中,没有ip地址,所有数据内容都用唯一的数据内容名称命名。通信由消费者发起,消费者通过发送带有唯一所需数据内容名称的interest包向网络请求所需数据内容。路由节点根据数据内容名称将interest包转发给相应的节点,这个节点可以是拥有数据内容的生产者,也可以是一个缓存数据内容的路由节点。在tcp/ip中,有两种实现拥塞控制的方案:分别是基于滑动窗口的拥塞控制机制和基于速率的拥塞控制机制。基于滑动窗口的拥塞控制机制已经得到了广泛的研究和部署,它利用一个滑动窗口来限制数据包的发送,并根据拥塞指示(如接收正常ack报文、数据包超时和乱序消息)来调整窗口大小。基于速率的拥塞控制是tcp/ip拥塞控制的后来者,它计算路由节点中每个数据流的发送速率,并将其反馈给端点。但是基于速率的协议对于tcp/ip并不友好,并且与基于滑动窗口的机制不兼容,因此在实际应用中并不广泛。

2、幸运的是,ndn是一种新的网络架构。到目前为止,在ndn中还没有标准的拥塞控制机制,也没有像tcp/ip中基于滑动窗口的拥塞控制机制那样强大的拥塞控制基础,这给基于速率的拥塞控制机制带来了新的机遇。传统的基于滑动窗口的拥塞控制机制在接收到正常的ack报文时增大拥塞窗口,并在检测到拥塞时通过测量rtt、超时和无序数据交付来缩小拥塞窗口。但在ndn中,data包可以从多个源、在网络缓存中通过多条路径进行检索,从而使rtt发生变化,使得rto的值难以计算,并且来自不同缓存的data包可能会无序到达。这使得基于rtt的超时和无序的数据交付成为不可靠的拥塞指标。然而,基于速率的拥塞控制机制并不依赖于这些指标。

3、本发明采用基于速率的方案,探索了rcp和ndn的多路径转发特性的结合,设计、实现和评估了一种基于速率的多路径感知拥塞控制机制,它允许路由节点公平地反馈速率信息并避免拥塞,同时提出一种多路径转发策略,通过充分利用所有可用路径上的网络资源来实现更高的总吞吐量。


技术实现思路

1、本发明的目的在于针对现有技术中存在的上述问题,提出一种命名数据网络中基于速率的多路径感知拥塞控制方法,更快地检测和响应拥塞状态,实现高链路利用率下的低丢包率和快速数据传输。

2、本发明的上述目的通过以下的技术方案实现:

3、一种命名数据网络中基于速率的多路径感知拥塞控制方法,包括以下步骤:

4、步骤1、路由节点根据命名数据网络名字前缀的不同将interest包和data包分为不同的interest流和data流,并计算interest包的平均发送速率和data包的平均发送速率d(t);

5、步骤2、根据fib表项记录的interest包允许发送速率a(t),通过轮盘选择算法确定最终转发接口;

6、步骤3、计算data包所属data流f的允许发送速率和data包的允许发送速率分配值,路由节点在接收到data包时,将data包所属的data流的允许发送速率rf (t)分配给每个接口,data包转发到接口k时,将data包的允许发送速率b(t)设为data包的允许发送速率分配值;

7、步骤4、消费者通过反馈data包允许发送速率b(t)更新interest包的允许发送速率a(t)。

8、如上所述的步骤1包括以下步骤:

9、步骤1.1、根据命名数据网络名字前缀的不同将interest包和data包分为不同的interest流和data流;

10、步骤1.2、计算每个接口对应的t时刻的interest包的平均发送速率:

11、,

12、其中,i(t)为每个接口对应的t时刻的interest包的平均发送速率,i(t-d)为每个接口对应的t-d时刻的interest包的平均发送速率,η为目标链路利用率,α和β分别为控制稳定性和性能的参数,为t时刻通过接口的interest包数量,为t时刻通过接口的data包数量,c为链路可用带宽,y(t)为接口在时间段已使用的带宽,q(t)表示t时刻缓冲队列的长度,dt是t时刻消费者发送interest包到匹配data包到达当前路由节点之间的平均响应时间,s为data包与interest包的大小比的平均值,

13、步骤1.3、计算同一接口data包的平均发送速率d(t):。

14、如上所述的步骤1还包括以下步骤:

15、步骤1.4、当接口接收到新的interest包时,通过以下公式更新interest包的平均发送速率:,

16、其中,inew(t)表示更新后interest包的平均发送速率,ni(t)表示在t时刻通过接口的interest包数量,nd(t)表示在t时刻通过接口的data包数量,

17、步骤1.5、当接口接收到新的data包时,使用以下公式更新data包的平均发送速率:,

18、其中,dnew(t)表示更新后data包的平均发送速率,ni(t)表示在t时刻通过接口的interest包数量,nd(t)表示在t时刻通过接口的data包数量。

19、如上所述的步骤2包括以下步骤:

20、步骤2.1、fib表项记录每个interest包的允许发送速率a(t),并将interest包的允许发送速率a(t)设为interest包的转发权值,当路由节点接收到interest包的请求时,记fib表项有n个可用转发接口,选中接口h的概率通过如下公式计算得出:,

21、其中,为t时刻接口h的interest包允许发送速率;为t时刻接口i的interest包允许发送速率,

22、步骤2.2、每个接口h的累积概率通过如下公式计算得出:,

23、使用随机函数生成0到1之间的随机值r,如果,则选择第一个接口,否则,当,时,选择第k个接口转发interest包。

24、如上所述的步骤3包括以下步骤:

25、步骤3.1、在路由节点中,每个接口记录interest包的平均发送速率i(t)和data包的平均发送速率d(t),

26、将interest包从消费者发往生产者称为上游方向,data包从生产者向消费者返回的方向称为下游方向,当接口从上游路由节点接收到允许发送速率为b(t)的data包时,将a(t)更新为i(t)×s和b(t)之间的较小值,

27、步骤3.2、当路由节点转发data包时,路由节点计算并告知下游路由节点该data包所属data流f的允许发送速率:,

28、其中,l为interest包在路由节点fib表项中的转发接口可用列表,表示fib表项中转发接口可用列表项j的interest包允许的发送速率,

29、在转发data包时,路由节点将data包允许发送速率b(t)替换为该data包所属data流f允许发送速率rf (t),进一步的,将b(t)更新为与d(t)之间的较小值,将b(t)作为反馈值,具有反馈值b(t)的data包将根据pit表项的记录转发到相应的接口,

30、步骤3.3、当路由节点将一个interest包转发到一个接口时或当接口接收到下游路由节点的interest包时,该接口将interest包的反馈值f(t)更新为f(t)和i(t)×s之间的较小值,

31、步骤3.4、路由节点对每个interest流维护一个输入接口列表,记录所有接收到属于该interest流的interest包的接口,并保留每个接口的权值w,计算,δ是加权因子,f(t) 为t时刻interest包的反馈值,wt为权值w在t时刻的取值,wt-1为权值w在t-1时刻的取值,

32、路由节点在接收到data包时,根据data包的数据内容名称,得到相应的interest包的输入接口列表,记interest包的输入接口列表中有m个接口,基于以下公式将data包所属的data流的允许发送速率rf (t)分配给每个接口:

33、,

34、,

35、其中,m表示data包对应的interest包的输入接口列表中接口数量,表示t时刻第p个接口的权值,为接口的data包的允许发送速率分配值,的下标m和p为接口序号,为第p个接口的中间权值,

36、当data包转发到接口k时,将data包的允许发送速率b(t)设为data包的允许发送速率分配值。

37、如上所述的步骤4包括以下步骤:

38、当有data包到达消费者,消费者从data包中提取data包允许发送速率b(t),将interest包允许发送速率a(t)更新为i(t)×s和b(t)之间的较小值。

39、本发明相对于现有技术具有以下有益效果:

40、由于ndn中存在多源、多路径、pit聚合等问题,使得interest包的rtt值难以精确计算,导致传统的端到端拥塞控制算法不适用于ndn。本发明是基于速率的拥塞控制机制更新路由节点的发送速率,从而避免了rtt难以估计和无序数据包到达不能作为拥塞信号的问题。当前路由节点通过数据内容名称前缀不同更新interest包和data包平均发送速率,根据拥塞程度选择interest包转发接口,再通过interest包和data包平均发送速率计算反馈data包发送速率,最终更新interest包的发送速率,从而实现拥塞控制,在ndnsim2.0中的实验结果表明,本发明在ndn网络中有效且公平,所提出的多路径转发策略能够充分利用可用链路带宽,实现流量负载均衡。

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