一种命名数据网络中基于速率的多路径感知拥塞控制方法
未命名
07-29
阅读:151
评论:0
1.本发明涉及计算机网络数据拥塞控制领域,具体涉及一种命名数据网络中基于速率的多路径感知拥塞控制方法。
背景技术:
2.ndn是一种非常有前途的未来网络体系结构,它与tcp/ip完全不同。在ndn中,没有ip地址,所有数据内容都用唯一的数据内容名称命名。通信由消费者发起,消费者通过发送带有唯一所需数据内容名称的interest包向网络请求所需数据内容。路由节点根据数据内容名称将interest包转发给相应的节点,这个节点可以是拥有数据内容的生产者,也可以是一个缓存数据内容的路由节点。在tcp/ip中,有两种实现拥塞控制的方案:分别是基于滑动窗口的拥塞控制机制和基于速率的拥塞控制机制。基于滑动窗口的拥塞控制机制已经得到了广泛的研究和部署,它利用一个滑动窗口来限制数据包的发送,并根据拥塞指示(如接收正常ack报文、数据包超时和乱序消息)来调整窗口大小。基于速率的拥塞控制是tcp/ip拥塞控制的后来者,它计算路由节点中每个数据流的发送速率,并将其反馈给端点。但是基于速率的协议对于tcp/ip并不友好,并且与基于滑动窗口的机制不兼容,因此在实际应用中并不广泛。
3.幸运的是,ndn是一种新的网络架构。到目前为止,在ndn中还没有标准的拥塞控制机制,也没有像tcp/ip中基于滑动窗口的拥塞控制机制那样强大的拥塞控制基础,这给基于速率的拥塞控制机制带来了新的机遇。传统的基于滑动窗口的拥塞控制机制在接收到正常的ack报文时增大拥塞窗口,并在检测到拥塞时通过测量rtt、超时和无序数据交付来缩小拥塞窗口。但在ndn中,data包可以从多个源、在网络缓存中通过多条路径进行检索,从而使rtt发生变化,使得rto的值难以计算,并且来自不同缓存的data包可能会无序到达。这使得基于rtt的超时和无序的数据交付成为不可靠的拥塞指标。然而,基于速率的拥塞控制机制并不依赖于这些指标。
4.本发明采用基于速率的方案,探索了rcp和ndn的多路径转发特性的结合,设计、实现和评估了一种基于速率的多路径感知拥塞控制机制,它允许路由节点公平地反馈速率信息并避免拥塞,同时提出一种多路径转发策略,通过充分利用所有可用路径上的网络资源来实现更高的总吞吐量。
技术实现要素:
5.本发明的目的在于针对现有技术中存在的上述问题,提出一种命名数据网络中基于速率的多路径感知拥塞控制方法,更快地检测和响应拥塞状态,实现高链路利用率下的低丢包率和快速数据传输。
6.本发明的上述目的通过以下的技术方案实现:一种命名数据网络中基于速率的多路径感知拥塞控制方法,包括以下步骤:步骤1、路由节点根据命名数据网络名字前缀的不同将interest包和data包分为
不同的interest流和data流,并计算interest包的平均发送速率和data包的平均发送速率d(t);步骤2、根据fib表项记录的interest包允许发送速率a(t),通过轮盘选择算法确定最终转发接口;步骤3、计算data包所属data流f的允许发送速率和data包的允许发送速率分配值,路由节点在接收到data包时,将data包所属的data流的允许发送速率r
f (t)分配给每个接口,data包转发到接口k时,将data包的允许发送速率b(t)设为data包的允许发送速率分配值;步骤4、消费者通过反馈data包允许发送速率b(t)更新interest包的允许发送速率a(t)。
7.如上所述的步骤1包括以下步骤:步骤1.1、根据命名数据网络名字前缀的不同将interest包和data包分为不同的interest流和data流;步骤1.2、计算每个接口对应的t时刻的interest包的平均发送速率:,其中,i(t)为每个接口对应的t时刻的interest包的平均发送速率,i(t-d)为每个接口对应的t-d时刻的interest包的平均发送速率,η为目标链路利用率,α和β分别为控制稳定性和性能的参数,为t时刻通过接口的interest包数量,为t时刻通过接口的data包数量,c为链路可用带宽,y(t)为接口在时间段已使用的带宽,q(t)表示t时刻缓冲队列的长度,d
t
是t时刻消费者发送interest包到匹配data包到达当前路由节点之间的平均响应时间,s为data包与interest包的大小比的平均值,步骤1.3、计算同一接口data包的平均发送速率d(t):。
8.如上所述的步骤1还包括以下步骤:步骤1.4、当接口接收到新的interest包时,通过以下公式更新interest包的平均发送速率:,其中,i
new
(t)表示更新后interest包的平均发送速率,ni(t)表示在t时刻通过接口的interest包数量,nd(t)表示在t时刻通过接口的data包数量,步骤1.5、当接口接收到新的data包时,使用以下公式更新data包的平均发送速率:,其中,d
new
(t)表示更新后data包的平均发送速率,ni(t)表示在t时刻通过接口的interest包数量,nd(t)表示在t时刻通过接口的data包数量。
9.如上所述的步骤2包括以下步骤:步骤2.1、fib表项记录每个interest包的允许发送速率a(t),并将interest包的允许发送速率a(t)设为interest包的转发权值,当路由节点接收到interest包的请求时,
记fib表项有n个可用转发接口,选中接口h的概率通过如下公式计算得出:,其中,为t时刻接口h的interest包允许发送速率;为t时刻接口i的interest包允许发送速率,步骤2.2、每个接口h的累积概率通过如下公式计算得出:,使用随机函数生成0到1之间的随机值r,如果,则选择第一个接口,否则,当,时,选择第k个接口转发interest包。
10.如上所述的步骤3包括以下步骤:步骤3.1、在路由节点中,每个接口记录interest包的平均发送速率i(t)和data包的平均发送速率d(t),将interest包从消费者发往生产者称为上游方向,data包从生产者向消费者返回的方向称为下游方向,当接口从上游路由节点接收到允许发送速率为b(t)的data包时,将a(t)更新为i(t)
×
s和b(t)之间的较小值,步骤3.2、当路由节点转发data包时,路由节点计算并告知下游路由节点该data包所属data流f的允许发送速率:,其中,l为interest包在路由节点fib表项中的转发接口可用列表,表示fib表项中转发接口可用列表项j的interest包允许的发送速率,在转发data包时,路由节点将data包允许发送速率b(t)替换为该data包所属data流f允许发送速率r
f (t),进一步的,将b(t)更新为与d(t)之间的较小值,将b(t)作为反馈值,具有反馈值b(t)的data包将根据pit表项的记录转发到相应的接口,步骤3.3、当路由节点将一个interest包转发到一个接口时或当接口接收到下游路由节点的interest包时,该接口将interest包的反馈值f(t)更新为f(t)和i(t)
×
s之间的较小值,步骤3.4、路由节点对每个interest流维护一个输入接口列表,记录所有接收到属于该interest流的interest包的接口,并保留每个接口的权值w,计算,δ是加权因子,f(t) 为t时刻interest包的反馈值,w
t
为权值w在t时刻的取值,w
t-1
为权值w在t-1时刻的取值,路由节点在接收到data包时,根据data包的数据内容名称,得到相应的interest包的输入接口列表,记interest包的输入接口列表中有m个接口,基于以下公式将data包所属的data流的允许发送速率r
f (t)分配给每个接口:,
,其中,m表示data包对应的interest包的输入接口列表中接口数量,表示t时刻第p个接口的权值,为接口的data包的允许发送速率分配值,的下标m和p为接口序号,为第p个接口的中间权值,当data包转发到接口k时,将data包的允许发送速率b(t)设为data包的允许发送速率分配值。
11.如上所述的步骤4包括以下步骤:当有data包到达消费者,消费者从data包中提取data包允许发送速率b(t),将interest包允许发送速率a(t)更新为i(t)
×
s和b(t)之间的较小值。
12.本发明相对于现有技术具有以下有益效果:由于ndn中存在多源、多路径、pit聚合等问题,使得interest包的rtt值难以精确计算,导致传统的端到端拥塞控制算法不适用于ndn。本发明是基于速率的拥塞控制机制更新路由节点的发送速率,从而避免了rtt难以估计和无序数据包到达不能作为拥塞信号的问题。当前路由节点通过数据内容名称前缀不同更新interest包和data包平均发送速率,根据拥塞程度选择interest包转发接口,再通过interest包和data包平均发送速率计算反馈data包发送速率,最终更新interest包的发送速率,从而实现拥塞控制,在ndnsim2.0中的实验结果表明,本发明在ndn网络中有效且公平,所提出的多路径转发策略能够充分利用可用链路带宽,实现流量负载均衡。
具体实施方式
13.为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
14.一种命名数据网络中基于速率的多路径感知拥塞控制方法,包括以下步骤:步骤1、路由节点根据数据内容名称前缀的不同将interest包和data包分为不同的interest流和data流,并计算interest包的平均发送速率和data包的平均发送速率d(t);步骤1具体包括以下步骤:步骤1.1、根据数据内容名称前缀的不同将interest包和data包分为不同的interest流和data流;步骤1.2、在ndn网络中,路由节点将interest包和data包转发到其接口,导致interest包和data包同时流出接口,这促使本方法在为data包分配带宽时考虑interest包的影响。如果接口不能及时转发data包,data包将会在路由节点排队,为了清空data包的排队队列并将可用链路带宽分配给每个接口的data包,使用如下公式来计算每个接口对应的t时刻的interest包的平均发送速率:
(1)公式中,i(t)为每个接口对应的t时刻的interest包的平均发送速率,i(t-d)为每个接口对应的t-d时刻的interest包的平均发送速率,η为目标链路利用率,α和β分别为控制稳定性和性能的参数。表示t时刻通过接口的interest包数量,为t时刻通过接口的data包数量。其中c为链路可用带宽,y(t)为接口在时间段已使用的带宽。q(t)表示t时刻缓冲队列的长度,d
t
是t时刻消费者发送interest包到匹配data包到达当前路由节点之间的平均响应时间,s为data包与interest包的大小比的平均值。
15.平均响应时间采用指数加权移动平均(exponential weighted moving average,ewma)计算:,其中d
t
为平均响应时间d在t时刻的移动平均预测值,θ
t
为平均响应时间d在t时刻的真实取值,为加权因子,d
t-1
为t-1时刻消费者发送interest包到匹配data包到达当前路由节点之间的平均响应时间。
16.步骤1.3、利用interest包的平均发送速率i(t),计算出同一接口data包的平均发送速率d(t): (2)步骤1.4、当接口接收到新的interest包时,由于以上公式已将链路带宽分配给所有通过的interest包,因此没有可用带宽供新的interest包使用,这可能会显著超出范围并导致丢包。为了避免这个问题,需要降低其他interest包的平均发送速率。当新的interest包到达时,本方法通过以下公式更新interest包的平均发送速率: (3)其中,i
new
(t)表示更新后interest包的平均发送速率,区别于更新前的i(t)。ni(t)表示在t时刻通过接口的interest包数量,nd(t)表示在t时刻通过接口的data包数量。
17.步骤1.5、当接口接收到新的data包时,使用以下公式更新data包的平均发送速率:(4)其中d
new
(t)表示更新后data包的平均发送速率,区别于更新前的d(t)。ni(t)表示在t时刻通过接口的interest包数量,nd(t)表示在t时刻通过接口的data包数量。
18.步骤2、在ndn中,可以从多路径检索数据内容路由节点,本方法根据fib表项记录的interest包允许发送速率a(t),通过轮盘选择算法确定最终转发接口,充分利用网络资源来实现更高的总吞吐量。
19.步骤2具体包括以下步骤:步骤2.1、根据interest包的fib表项,记录interest包允许发送速率a(t),并将a(t)设为interest包的转发权值。当路由节点接收到interest包的请求时,如果fib表项有n个可用转发接口,通过轮盘选择算法选择可用转发接口,选中接口h的概率可通过如下公式计算得出:
(5)其中,为t时刻接口h的interest包允许发送速率;为t时刻接口i的interest包允许发送速率。
20.步骤2.2、在得到每个接口的选中概率后,每个接口h的累积概率可通过如下公式计算得出:(6)其中,计算每个接口h的累积概率可以理解为当h分别为1,2,3
…
n时,的累加。
21.通过累积概率可以确定interest包的转发接口。本方法使用随机函数生成0到1之间的随机值r,如果,则选择第一个接口,否则,当(2≤k≤n)时,选择第k个接口转发interest包。
22.步骤3、计算data包所属data流f的允许发送速率和data包的允许发送速率分配值,路由节点在接收到data包时,将data包所属的data流的允许发送速率r
f (t)分配给每个接口,data包转发到接口k时,将data包的允许发送速率b(t)设为data包的允许发送速率分配值,并将其分配给每个接口。
23.步骤3具体包括以下步骤:步骤3.1、在ndn中,不同data流的data包大小可能并不统一。反馈interest包的允许发送速率会导致相同发送速率的interest包会拉回不同发送速率的data包。因此,本方法反馈data包的允许发送速率,以保证不同data包大小的消费者之间的公平性。
24.在路由节点中,每个接口通过步骤1计算并记录interest包的平均发送速率i(t)和data包的平均发送速率d(t),同时根据fib表项记录每个interest包的允许发送速率a(t)。
25.将interest包从消费者发往生产者称为上游方向,data包从生产者向消费者返回的方向称为下游方向。当接口从上游路由节点接收到允许发送速率为b(t)的data包时,为了避免出现丢包的问题,接口需要降低interest包允许发送速率a(t),即将a(t)更新为i(t)
×
s和b(t)之间的较小值,即:(7)步骤3.2、当路由节点转发data包时,路由节点需要计算并告知下游路由节点该data包所属data流f的允许发送速率:(8)其中,l为interest包在路由节点fib表项中的转发接口可用列表,表示fib表项中转发接口可用列表项j的interest包允许的发送速率。
26.在转发data包时,路由节点将data包允许发送速率b(t)替换为该data包所属data
流f允许发送速率r
f (t),进一步的,由于data包都有自己的平均发送速率d(t),为了保证data包的接收速率不大于d(t),接口会检查b(t),并将b(t)更新为与d(t)之间的较小值即:(9)将b(t)作为反馈值,具有反馈值b(t)的data包将根据pit表项的记录转发到相应的接口。
27.步骤3.3、在ndn中,请求相同数据内容的interest包可能会到达不同的接口,导致data包允许发送速率(反馈值)必须反馈给多个接口,这可能导致拥塞。为了避免这个问题,本方法提出了一个多路径反馈机制:interest包也将携带一个反馈值f(t),在保证数据传输的公平性的前提下,向多个接口分配data包允许发送速率。
28.当路由节点将一个interest包转发到一个接口时或当接口接收到下游路由节点的interest包时,该接口将interest包的反馈值f(t)更新为f(t)和i(t)
×
s之间的较小值,即:(10)步骤3.4、路由节点对每个interest流维护一个输入接口列表,记录所有接收到属于该interest流的interest包的接口,并保留每个接口的权值w,通过ewma(指数加权移动平均法)计算:。其中δ是加权因子,f(t) 为t时刻interest包的反馈值,w
t
为权值w在t时刻的取值,w
t-1
为权值w在t-1时刻的取值。
29.在ndn中,路由节点在接收到data包时,根据data包的数据内容名称,会得到相应的interest包的输入接口列表。如果interest包的输入接口列表中有m个接口,本方法中的多路径反馈机制采用最大最小公平分配原则,根据每个接口的权值w,将data包所属的data流的允许发送速率r
f (t)分配给每个接口,具体公式如下所示:(11)(12)其中,m表示data包对应的interest包的输入接口列表中接口数量,表示t时刻第p个接口的权值,为接口的data包的允许发送速率分配值,的下标m和p为接口序号,为第p个接口的中间权值。
30.当data包转发到接口k时,将data包的允许发送速率b(t)设为data包的允许发送速率分配值。
31.当具有相同数据内容名称的interest包聚合到一个pit条目时,该机制不能立即充分利用链路带宽,但由于步骤1是周期性执行的,所以可以在几个时间间隔d后利用可用带宽。在没有pit聚合的情况下,该机制能很好地防止上游链路拥塞。
32.步骤4、在ndn中,通信是由消费者发起的。在本方法中,消费者通过反馈data包允
许发送速率b(t)更新interest包的允许发送速率a(t)。
33.初始阶段,消费者发送interest包。一旦有data包到达消费者,消费者从data包中提取data包允许发送速率b(t)并反馈,根据data包允许发送速率b(t)并基于公式(7)更新interest包的允许发送速率a(t)。
34.当路由节点因为缓冲区溢出而丢包时,它会发送一个不含请求数据内容的data包给消费者,不含请求数据内容的data包中同样包含反馈值b(t)。路由节点也通过不含请求数据内容的data包将传输速率反馈给消费者,这与上述data包中的反馈模式相同。当接收到不含请求数据内容的data包时,消费者需要重新发送丢失的interest包,并根据不含请求数据内容的data包中的反馈值b(t)基于公式(7)更新interest包允许发送速率a(t)。
35.消费者还将为interest包维护超时重传(retransmission timeout, rto)机制。由于多源、多路径和路由节点缓存,ndn中数据传输往返时延(round trip time,rtt)的测量并不准确。在本方法中,为每个interest包设置一个相对较大超时重传时间(200ms),虽然这样会导致消费者对丢包的响应变慢,但是可以保持队列长度很小甚至为零,从而避免丢包,不会影响算法的性能。
36.最后,将对本发明方法(rmcm)进行性能仿真分析。采用的仿真平台为ndnsim2.0,ndnsim2.0是基于ns-3网络仿真软件用c++编写实现ccnx协议的ndn仿真模块,实现了基本的网络协议、路由转发策略以及数据包节点缓存等功能,能够仿真多样化的部署场景,支持大范围的ndn实验;步骤1中有三个参数,η为目标链路利用率,在所有的实验中其都被设置为0.9。α和β分别为控制稳定性和性能的参数,通过实验发现,当α值小于0.3,β值在0.5到1.0之间时,本发明(rmcm)可以很好地工作。因此,在接下来的实验中,将α设置为0.2,β设置为0.9。
37.1、本发明(rmcm)的有效性(1)单路径场景:本发明(rmcm)首先利用哑铃拓扑来评估在公式(1)中考虑interest流的效果。consumer1(消费者1)从producer1(生产者1)检索数据内容,consumer2(消费者2)延迟5s开始,向producer2(生产者2)检索数据内容。
38.实验结果显示,在不考虑interest流的场景里, router1(路由节点1)和router2(路由节点2)中的队列是在consumer2(消费者2)在5s的时间点开始请求data包时建立的,并在consumer2(消费者2)在20s的时间点停止之前在router2(路由节点2)中保持平均100个data包的长度。这说明了在步骤1中考虑interest流的影响的必要性。
39.(2)多路径场景:接下来,实验评估了本发明(rmcm)在多源多路径场景中的有效性。在实验中使用两个数据源producer1和producer2,存储相同的数据内容。consumer从这两个数据源中检索数据内容。
40.根据实验结果显示不同链路的利用率和不同节点中的丢包情况,我们发现在三个瓶颈链路中,数据流的平均速率都大于4mbps,接近最佳值4.5 mbps(η为0.9)。在实验过程中,没有发生数据包丢失。实验结果表明,本发明(rmcm)能够有效地支持多径场景。
41.(3)缓存和多路径反馈场景:在此场景中,评估了缓存的效果和多路径反馈机制的性能,使用c1(消费者1)和c2(消费者2)来检索存储在p1(生产者1)中的相同的数据内容。c2(消费者2)从8s的时间点开始,在25s的时间点停止。r1(路由节点1)的缓存区大小为5000,采取的缓存策略为最近最少使用(leastrecently used,lru)算法。每个接口的缓冲区大小
为100。分别进行了有多径反馈机制和无多径反馈机制的实验。
42.实验结果显示在8s的时间点之前,c1(消费者1)是网络拓扑中唯一的消费者,以接近4.5mbps的速率检索数据内容。在8s的时间点,c2(消费者2)开始请求数据,请求命中r1(路由节点1)处的缓存,导致18mbps的更高的带宽。大约在9s左右的时间点,c2耗尽r1(路由节点1)处的缓存,并加入c1(消费者1)从p1(生产者1)处检索数据内容,致使大量的请求进入p1(生产者1),这导致p1(生产者1)中的队列不断增加。
43.同样的结果也可以在实验12s到14s的时间点之间发现。在采用多径反馈机制的实验结果中,经过14s的时间点之后,c1(消费者1)和c2(消费者2)以相同的发送速率从p1(生产者1)中检索数据内容,链路r1-p1的发送速率接近于最优值9mbps。在此期间,p1(生产者1)和r1(路由节点1)的队列长度为零。在没有多径反馈机制的实验结果中,在13s到18s的时间点之间,c1(消费者1)从r1(路由节点1)的缓存中检索数据内容,导致c2(消费者2)以9mbps的发送速率从p1(生产者1)中检索数据内容。但是在19s之后,c1(消费者1)加入c2(消费者2)从p1(生产者1)检索数据内容。这就是没有多路径反馈机制的问题开始显现的地方r1(路由节点1)向c1(消费者1)和c2(消费者2)反馈9mbps的发送速率。因为瓶颈链路c1-r1的带宽为5mbps,c1(消费者1)以4.5mbps的速率检索数据内容,而c2(消费者2)以9mbps的速率检索数据内容。但是在r1-p1链路上,带宽只有10mbps,小于13.5mbps,从而导致了大量的丢包。基于以上的分析,可以发现本发明(rmcm)能够适应ndn中的网内缓存,多径反馈机制使得本发明(rmcm)能够保持公平性,避免拥塞的发生。
44.2、rmcm的公平性实验通过与另外两个拥塞控制算法ircf和irpi的比较来评估本发明(rmcm)的公平性。ircf是一种多路径拥塞控制算法,结合了远程自适应主动队列管理raaqm和多路径转发策略cf。irpi是raaqm和另一种多路径转发策略pi的结合。本实验在使用了以下三种场景:equal:四个消费者具有相同的数据传输往返时延(round trip time,rtt)和相同大小的data包。
45.diff_rtt:四个消费者具有不同的rtt和相同大小的data包。从c1(消费者1)、c2(消费者2)、c3(消费者3)和c4(消费者4)到r1(路由节点1)的rtt分别为1ms、10ms、20ms和40ms。
46.diff_ds:四个消费者具有相同的rtt,但data包大小不同,分别为1kb、2kb、3kb和4kb。
47.从实验结果可以明显观察到,与其他两种算法相比,本发明(rmcm)能够保证消费者在不同场景下的公平性。在相等和不同的rtt场景中,不同消费者的data包的接收速率几乎相同。在diff_ds场景中其差别也不大,data包大小较大的消费者的速率略大,但与其他两种算法相比,四个消费者之间的速率差异可以忽略不计。此外,还可以发现本发明(rmcm)比其他两种算法具有更好的稳定性。
48.3、多路径感知转发的性能以上仿真结果已经证明了本发明(rmcm)的有效性和公平性。接下来将对本发明(rmcm)中多路径转发的性能进行验证。本发明选取了r2(路由节点2)-p1(生产者1)、r2(路由节点2)-p2(生产者2)和r2(路由节点2)-p3(生产者3)这三条路径来实现三种不同的场
景,在这里,r2(路由节点2)充当消费者,从三个生产者那里获取数据内容。三种情况如下:equal:r2(路由节点2)-p1(生产者1)、r2(路由节点2)-p2(生产者2)和r2(路由节点2)-p3(生产者3)这三条路径具有相同的带宽,均为10mbps,rtt也相同,均为10ms。
49.diff_rtt:三条路径具有相同的带宽,均为10mbps,但rtt不同,分别为10ms(端口257)、50ms(端口258)和100ms(端口259)。
50.diff_bw:三条路径具有相同的rtt,均为10ms,但带宽不同,分别为10 mbps (端口257)、20 mbps (端口258)、40 mbps (端口259)。
51.本文将本发明(rmcm)同另外两种多路径转发策略cf和pi进行了对比。其中,pi 优先选择待定兴趣包最少的接口进行转发,而 cf 在pi 的基础上计算每个接口的权重,并使用加权轮询算法选择转发接口。在每个算法都稳定之后的情况下,再对每个端口的传输流量进行统计。
52.实验结果显示在equal场景下,三种转发策略的效果都很好,即三个端口接收的流量基本相同。在diff_rtt场景下,pi和cf都更倾向于rtt比较低的端口。在diff_bw场景下,pi和cf不能有效地使用更高带宽的端口。理想的最优比率是14%:28%:57%,但实际只达到了18%:36%:45%,从而降低了总吞吐量。在diff_rtt和diff_bw两种场景下,cf和pi的转发策略更倾向于rtt更低或带宽更高的路径。由于本发明的多路径转发直接响应可用带宽,所以在任何情况下都可以达到预期的转发分流比,这使得本发明(rmcm)能够快速获得更高的整体吞吐量。
53.需要指出的是,本发明中所描述的具体实施例仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例作各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或超越所附权利要求书所定义的范围。
技术特征:
1.一种命名数据网络中基于速率的多路径感知拥塞控制方法,其特征在于,包括以下步骤:步骤1、路由节点根据命名数据网络名字前缀的不同将interest包和data包分为不同的interest流和data流,并计算interest包的平均发送速率和data包的平均发送速率d(t);步骤2、根据fib表项记录的interest包允许发送速率a(t),通过轮盘选择算法确定最终转发接口;步骤3、计算data包所属data流f的允许发送速率和data包的允许发送速率分配值,路由节点在接收到data包时,将data包所属的data流的允许发送速率r
f (t)分配给每个接口,data包转发到接口k时,将data包的允许发送速率b(t)设为data包的允许发送速率分配值;步骤4、消费者通过反馈data包允许发送速率b(t)更新interest包的允许发送速率a(t)。2.根据权利要求1所述的一种命名数据网络中基于速率的多路径感知拥塞控制方法,其特征在于,所述的步骤1包括以下步骤:步骤1.1、根据命名数据网络名字前缀的不同将interest包和data包分为不同的interest流和data流;步骤1.2、计算每个接口对应的t时刻的interest包的平均发送速率:,其中,i(t)为每个接口对应的t时刻的interest包的平均发送速率,i(t-d)为每个接口对应的t-d时刻的interest包的平均发送速率,η为目标链路利用率,α和β分别为控制稳定性和性能的参数,为t时刻通过接口的interest包数量,为t时刻通过接口的data包数量,c为链路可用带宽,y(t)为接口在时间段已使用的带宽,q(t)表示t时刻缓冲队列的长度,d
t
是t时刻消费者发送interest包到匹配data包到达当前路由节点之间的平均响应时间,s为data包与interest包的大小比的平均值,步骤1.3、计算同一接口data包的平均发送速率d(t):。3.根据权利要求2所述的一种命名数据网络中基于速率的多路径感知拥塞控制方法,其特征在于,所述的步骤1还包括以下步骤:步骤1.4、当接口接收到新的interest包时,通过以下公式更新interest包的平均发送速率:,其中,i
new
(t)表示更新后interest包的平均发送速率,n
i
(t)表示在t时刻通过接口的interest包数量,n
d
(t)表示在t时刻通过接口的data包数量,步骤1.5、当接口接收到新的data包时,使用以下公式更新data包的平均发送速率:,
其中,d
new
(t)表示更新后data包的平均发送速率,n
i
(t)表示在t时刻通过接口的interest包数量,n
d
(t)表示在t时刻通过接口的data包数量。4.根据权利要求3所述的一种命名数据网络中基于速率的多路径感知拥塞控制方法,其特征在于,所述的步骤2包括以下步骤:步骤2.1、fib表项记录每个interest包的允许发送速率a(t),并将interest包的允许发送速率a(t)设为interest包的转发权值,当路由节点接收到interest包的请求时,记fib表项有n个可用转发接口,选中接口h的概率通过如下公式计算得出:,其中,为t时刻接口h的interest包允许发送速率;为t时刻接口i的interest包允许发送速率,步骤2.2、每个接口h的累积概率通过如下公式计算得出:,使用随机函数生成0到1之间的随机值r,如果,则选择第一个接口,否则,当,时,选择第k个接口转发interest包。5.根据权利要求4所述的一种命名数据网络中基于速率的多路径感知拥塞控制方法,其特征在于,所述的步骤3包括以下步骤:步骤3.1、在路由节点中,每个接口记录interest包的平均发送速率i(t)和data包的平均发送速率d(t),将interest包从消费者发往生产者称为上游方向,data包从生产者向消费者返回的方向称为下游方向,当接口从上游路由节点接收到允许发送速率为b(t)的data包时,将a(t)更新为i(t)
×
s和b(t)之间的较小值,步骤3.2、当路由节点转发data包时,路由节点计算并告知下游路由节点该data包所属data流f的允许发送速率:,其中,l为interest包在路由节点fib表项中的转发接口可用列表,表示fib表项中转发接口可用列表项j的interest包允许的发送速率,在转发data包时,路由节点将data包允许发送速率b(t)替换为该data包所属data流f允许发送速率r
f (t),进一步的,将b(t)更新为与d(t)之间的较小值,将b(t)作为反馈值,具有反馈值b(t)的data包将根据pit表项的记录转发到相应的接口,步骤3.3、当路由节点将一个interest包转发到一个接口时或当接口接收到下游路由节点的interest包时,该接口将interest包的反馈值f(t)更新为f(t)和i(t)
×
s之间的较小值,步骤3.4、路由节点对每个interest流维护一个输入接口列表,记录所有接收到属于该interest流的interest包的接口,并保留每个接口的权值w,计算,δ是加权因子,f(t) 为t时刻interest包的反馈值,w
t
为权值w在t时刻的取值,w
t-1
为权值w
在t-1时刻的取值,路由节点在接收到data包时,根据data包的数据内容名称,得到相应的interest包的输入接口列表,记interest包的输入接口列表中有m个接口,基于以下公式将data包所属的data流的允许发送速率r
f (t)分配给每个接口:,,其中,m表示data包对应的interest包的输入接口列表中接口数量,表示t时刻第p个接口的权值,为接口的data包的允许发送速率分配值,的下标m和p为接口序号,为第p个接口的中间权值,当data包转发到接口k时,将data包的允许发送速率b(t)设为data包的允许发送速率分配值。6.根据权利要求5所述的一种命名数据网络中基于速率的多路径感知拥塞控制方法,其特征在于,所述的步骤4包括以下步骤:当有data包到达消费者,消费者从data包中提取data包允许发送速率b(t),将interest包允许发送速率a(t)更新为i(t)
×
s和b(t)之间的较小值。
技术总结
本发明公开了一种命名数据网络中基于速率的多路径感知拥塞控制方法,计算Interest包的平均发送速率和Data包的平均发送速率;通过轮盘选择算法确定最终转发接口;计算Data包所属Data流的允许发送速率和Data包的允许发送速率分配值;消费者通过反馈Data包允许发送速率更新Interest包的允许发送速率。本发明通过充分利用所有可用路径上的网络资源来实现更高的总吞吐量。高的总吞吐量。
技术研发人员:侯睿 甘翊歆 胡青 金继欢 陈士民 邢光林
受保护的技术使用者:中南民族大学
技术研发日:2023.06.19
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
