一种基于转发路径数目的命名数据网逐跳拥塞控制方法

未命名 07-19 阅读:102 评论:0


1.本发明属于高性能拥塞控制方案设计领域,用以应对命名数据网(named data networking)中拥塞的单路径流和多路径流。


背景技术:

2.随着互联网规模的不断扩大,全息通信、感官互联、智能交互、通信感知等新业务与新需求的不断涌现,网络的功能正逐渐由数据传输通道向高效率、大规模的内容获取与分发转变。然而,目前以终端为中心、位置为寻址标识的tcp/ip网络体系架构已经无法很好地满足未来创新应用与服务模式的发展需求。为此,国内外学术界与工业界都大力投身于未来互联网体系架构的研究。2010年,由加州大学的lixia zhang与施乐公司的van jacobson提出的命名数据网(named data networking,ndn)被视未来网络架构的典型范式。
3.命名数据网络(named data networking,ndn)作为一种新兴网络范式,其将ip“端到端”的“地址”传输方式转变为依“名称”传递信息:消费者通过向网络内发送兴趣包(interest packet)以请求数据包(data packet)。此外,由于网络内缓存特性的存在,数据包可以被存储至ndn路由器内部,这使得消费者可以从多个内容源端获取内容,即生产者的原始内容库和路由器内部缓存。然而,不同的内容源端会导致不同的检索延迟,消费者仅依靠内容“名称”无法区分它们。因此,tcp/ip架构依赖的rtt成为不可靠的拥塞检测指标,这意味tcp/ip架构的“端到端”拥塞控制方案难以适用于ndn架构。因此,需要为ndn网络设计一种新颖有效的拥塞控制方案。
4.针对ndn的传输特性,目前学术界提出了逐跳拥塞控制方法。根据控制方式不同,其被划分为兴趣包发送速率调整策略和多路径转发策略。兴趣包发送速率调整策略是每个ndn路由器通过调整兴趣的发送速率来相应控制返回数据的传输速率,从而缓解拥塞。然而,当持续发生严重拥塞时,仅在一条路径上使用速率控制可能不足以缓解拥塞。在这种情况下,多路径传输可能是分配流量和缓解拥堵的好方法。多路径转发策略是指当流量超过一条路径的容量时,路由器将多余的兴趣包转移到一条或多条备选路径上,以缓解拥塞。然而,多路径转发策略不支持单路径场景下出现拥塞的情况,其无法对潜在路径进行挖掘,无法及时缓解拥塞。
5.然而,逐跳拥塞控制仍有不足需要被进一步地完善。具体来说,在多路径场景中,当路由器持续地发生严重拥塞时,兴趣速率整形策略可能不足以缓解拥塞。此外,多路径转发策略无法及时缓解单路径场景中的拥塞,其无法对潜在路径进行挖掘。因此逐跳拥塞控制机制需要研究如何同时应对网络中拥塞的单路径流和多路径流。
6.[参考文献]
[0007]
[1]schneider k,yi c,zhang b,et al.a practical congestion control scheme for named data networking[c].in proceedings of the 3rd acm conference on information-centric networking,2016:21

30.


技术实现要素:

[0008]
为了解决上述问题,本发明提供了一种基于转发路径数目的命名数据网(ndn)逐跳拥塞控制方法,以有效、及时地缓解单路径流和多路径流的拥塞。
[0009]
为了解决上述的技术问题,本发明提出了一种基于转发路径数目的命名数据网逐跳拥塞控制方法,如图1和图2所示,主要包括路由器拥塞检测和路由器拥塞控制。
[0010]
所述路由器拥塞检测是在拥塞控制协议中,路由器计算并更新数据包所携带的拥塞信息,包括:当前路由器借助主动队列管理方法,计算本地路由器的拥塞程度;依据拥塞程度判别本地拥塞状态并更新数据包所需携带的拥塞状态、拥塞程度以及数据包排队延迟;
[0011]
所述的路由器拥塞控制是根据数据包携带的拥塞信息,路由器执行拥塞控制动作,包括:下游相邻路由器基于转发路径数目执行多路径转发或者兴趣包发送速率调整,所述的下游相邻路由器执行多路径转发是:该路由器依据数据包中当前的拥塞信息计算当前接口能承载的兴趣包流量的分流比例并将剩余流量通过当前转发接口或相对次优接口转发;所述的下游相邻路由器执行兴趣包发送速率调整是:该路由器依据数据包中当前的拥塞信息计算当前接口兴趣包发送速率的减少或增加总速率,并依据数据包的名称前缀动态衰减或增加相同名称前缀的兴趣包发送速率。
[0012]
进一步讲,本发明所述的控制方法中,其中:
[0013]
所述路由器拥塞检测包括以下步骤:
[0014]
步骤1-1)计算当前周期的拥塞程度p,并存储当前周期的拥塞信息:
[0015]
用当前数据包排队延迟减去参考排队延迟,然后乘以折算因子θ,得到当前排队时延与期望排队时延的偏移量;用当前数据包排队延迟减去路由器记录的上一周期数据包排队延迟,并将结果乘以折算因子ε,得到当前排队时延与上一周期排队时延的偏移量;
[0016]
将上述得到的两个偏移量与上一周期的拥塞程度相加,得到当前周期的拥塞程度p;如果p大于或等于1,p被赋值为1,如果p小于或等于0,p被赋值为0;路由器将当前数据包排队延迟记录为上一周期数据包排队延迟,将得到的当前周期的拥塞程度p记录为上一周期的拥塞程度;
[0017]
步骤1-2)更新拥塞状态和拥塞程度:如果步骤1-1)得到的拥塞程度p大于0,则数据包的拥塞状态位以p的概率被更新为轻度拥塞标记,以1-p的概率被更新为辅助拥塞标记,否则数据包的拥塞状态位依旧保持为初始标记或数据包携带的状态,更新的优先级由低到高为初始标记、辅助拥塞标记、轻度拥塞标记、重度拥塞标记,且更新不可逆;根据步骤1-1)得到的拥塞程度p更新数据包内原有记录的拥塞程度;
[0018]
步骤1-3)将当前数据包排队延迟更新数据包内记录的排队延迟,完成路由器拥塞检测。
[0019]
所述的路由器执行拥塞控制动作,包括以下步骤:
[0020]
步骤2-1)路由器首先提取数据包中的名称前缀以及拥塞信息;
[0021]
步骤2-2)确定进行多路径转发或者兴趣包发送速率调整:路由器根据fib表检测数据包同名称前缀的兴趣包的转发路径数目是否大于1,如果大于1,则表明当前节点为分流节点,执行步骤2-3)进行多路径转发,否则,执行步骤2-4)进行兴趣包发送速率调整;
[0022]
步骤2-3)在下游相邻路由器执行多路径转发中,分为a、b和c三种情形进行:
[0023]
步骤2-4)兴趣包发送速率调整分为d、e和f三种情形:
[0024]
步骤2-5)路由器拥塞控制机制操作结束。
[0025]
上述步骤2-3)中涉及到的a、b和c三种情形是:情形a、数据包拥塞程度p大于0且数据包拥塞状态为轻度拥塞标记或重度拥塞标记,执行步骤a-1);情形b、数据包拥塞程度p大于0且数据包拥塞状态为辅助拥塞标记,执行步骤b-1);情形c、数据包拥塞程度p等于0,执行步骤c-1)。
[0026]
步骤a-1)计算上游邻节点缓解拥塞后的数据包期望排队延迟,用折算因子θ乘以数据包参考排队延迟与折算因子ε乘以数据包携带的排队延迟的和减去数据包携带的拥塞程度,最后除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;
[0027]
步骤a-2)判断上游邻节点期望排队延迟是否大于0,如果大于0,执行步骤a-3),否则执行步骤a-4);
[0028]
步骤a-3)用该上游邻节点期望排队延迟除以数据包携带的排队延迟得到延迟比值;分流节点将用1减去所得到的延迟比值,再乘以数据包同名称前缀的兴趣包在当前接口的转发比例,得到次优转发接口增加的转发比例,并依各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞状态的更新,同时将本地拥塞程度、数据包排队延迟更新至数据包内;执行步骤a-5);
[0029]
步骤a-4)将数据包同名称前缀的兴趣包在当前接口的转发比例乘以0.9,得到次优转发接口增加的转发比例,并依各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞状态的更新,同时将本地拥塞程度、数据包排队延迟更新至数据包内;
[0030]
步骤a-5)如果数据包同名称前缀的兴趣包在当前分流节点的所有转发接口均处于拥塞状态或缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,并向下游路由器传递;路由器拥塞控制机制操作结束。
[0031]
步骤b-1)路由器不执行控制动作,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞状态的更新,如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟更新至数据包内;路由器拥塞控制机制操作结束。
[0032]
步骤c-1)判断数据包同名称前缀的兴趣包在当前接口的转发比例,如果所述的转发比例小于等于0.1且当前接口是最优转发接口,执行步骤c-2),否则执行步骤c-3);
[0033]
步骤c-2)如果是最优转发接口且数据包同名称前缀的兴趣包在当前接口的转发比例小于或等于0.1,分流节点对数据包同名称前缀的兴趣包在当前接口的转发比例立即增加0.5;执行步骤c-4);
[0034]
步骤c-3)如果数据包同名称前缀的兴趣包在当前接口的转发比例大于0.1,或不是最优转发接口,如果数据包携带的数据包排队延迟小于或等于1毫秒,则将数据包携带的数据包排队延迟暂定为1毫秒;
[0035]
步骤c-4)计算上游邻节点不发生拥塞的数据包期望排队延迟:用折算因子θ乘以数据包参考排队延迟与折算因子ε乘以数据包携带的排队延迟相加,最后除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;将得到的上游邻节点期望排队延迟除以数据包携带
的排队延迟得到延迟比值;
[0036]
步骤c-5)分流节点将用步骤c-4)得到的延迟比值减去1,乘以数据包同名称前缀的兴趣包在当前接口的转发比例,得到数据包同名称前缀的兴趣包在当前转发接口应该增加的转发比例,并依数据包同名称前缀的兴趣包在各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞信息的更新;如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟更新至数据包内;路由器拥塞控制机制操作结束。
[0037]
上述步骤2-4)中涉及到的d、e和f三种情形是:情形d:数据包拥塞程度p大于0且拥塞状态为轻度拥塞标记或重度拥塞标记,执行步骤d-1);情形e:数据包拥塞程度p等于0,执行步骤e-1);情形f:数据包拥塞程度p大于0且数据包拥塞状态为辅助拥塞标记,执行步骤f-1)。
[0038]
步骤d-1)计算上游邻节点不发生拥塞的数据包期望排队延迟:用折算因子θ乘以数据包参考排队延迟与折算因子ε乘以数据包携带的排队延迟的和减去数据包携带的拥塞程度,最后除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;
[0039]
步骤d-2)计算上游邻节点缓冲区期望减少的字节总量:用数据包携带的排队延迟减去步骤d-1)中得到的上游邻节点期望排队延迟得到延迟差值,并将延迟差值与0比较取最大值,最后将该最大值乘以上游邻节点的数据包出队速率得到上游邻节点缓冲区期望减少的字节总量;
[0040]
步骤d-3)计算兴趣包发送速率衰减的总额:用步骤d-2)得到的上游邻节点缓冲区期望减少的字节总量除以数据包字节数目,再乘以兴趣包字节数目,最后除以路由器检测周期得到兴趣包发送速率衰减的总额;
[0041]
步骤d-4)计算上游相邻路由器中被标记为轻度拥塞标记的数据包的数量:用路由器检测周期乘以上游邻节点的数据包出队速率,再乘以数据包携带的拥塞程度,最后除以数据包字节数目得到上游相邻路由器中被标记为轻度拥塞标记的数据包的数量;
[0042]
步骤d-5)路由器用步骤d-3)得到的兴趣包发送速率衰减的总额除以步骤d-4)得到的上游相邻路由器中被标记为轻度拥塞标记的数据包的数量,得到每收到一个路由器根据fib表检测数据包时同名称前缀的兴趣包的发送速率衰减值;
[0043]
步骤d-6)计算数据包的同名称前缀的兴趣包的发送速率:用当前接口的数据包的同名称前缀的兴趣包的发送速率减去步骤d-5)得到的衰减值,得到数据包的同名称前缀的兴趣包的发送速率,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞信息的更新,同时将本地拥塞程度、数据包排队延迟更新至数据包内;
[0044]
步骤d-7)如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,并向下游路由器传递;路由器拥塞控制机制操作结束。
[0045]
步骤e-1)计算上游邻节点不发生拥塞的数据包期望排队延迟:用折算因子θ乘以数据包参考排队延迟与折算因子ε乘以数据包携带的排队延迟的和除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;
[0046]
步骤e-2)计算上游邻节点缓冲区期望增加的字节总量:用步骤e-1)中得到的上游
邻节点期望排队延迟减去数据包携带的排队延迟得到延迟差值,并将延迟差值与0比较取最大值,最后将该最大值乘以上游邻节点的数据包出队速率得到上游邻节点缓冲区期望增加的字节总量;
[0047]
步骤e-3)计算兴趣包发送速率增加的总额:用步骤e-2)得到的上游邻节点缓冲区期望增加的字节总量除以数据包字节数目,再乘以兴趣包字节数目,最后除以路由器检测周期得到兴趣包发送速率增加的总额;
[0048]
步骤e-4)计算上游相邻路由器中保持初始标记的数据包的数量:用路由器检测周期乘以上游邻节点的数据包出队速率,再除以数据包字节数目得到上游相邻路由器中保持初始标记的数据包的数量;
[0049]
步骤e-5)路由器用步骤e-3)得到的兴趣包发送速率增加总额除以步骤e-4)得到的上游相邻路由器中保持初始标记的数据包的数量,得到每收到一个路由器根据fib表检测数据包时同名称前缀的兴趣包的发送速率增加值;
[0050]
步骤e-6)计算数据包的同名称前缀的兴趣包的发送速率:用当前接口的数据包的同名称前缀的兴趣包的发送速率加上步骤e-5)得到的增加值,得到数据包的同名称前缀的兴趣包的发送速率,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞信息的更新,同时将本地拥塞程度、数据包排队延迟更新至数据包内;
[0051]
步骤e-7)如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,并向下游路由器传递;路由器拥塞控制机制操作结束。
[0052]
步骤f-1)路由器不执行控制动作,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞状态的更新,如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟更新至数据包内;路由器拥塞控制机制操作结束。
[0053]
与现有技术相比,本发明的有益效果是:
[0054]
通过将本发明的一种基于转发路径数目的命名数据网逐跳拥塞控制方法在一台配置为intel(r)400series chipset family、i5-10500 3.10ghz、ddr3 16gb sdram的计算机上进行部署实现。利用基于ns-3的模拟器,即ndnsim 2.1对本发明进行实验仿真,在几个简化但具有代表性的网络场景上进行了详细的实验,进一步观察本发明在保证网络正常运行和稳定的情况下,提高内容请求体验质量的程度,通过使用吞吐量、延迟和丢包率作为qos的基本性能指标来评估方法性能。实验结果表明,本发明能够很好地满足ndn在不同仿真场景下的拥塞控制需求。网络性能不仅取得了显著的改进,吞吐量更高更稳定,网络延迟更低,而且在各种网络场景下具有更好的公平性。
附图说明
[0055]
图1为本发明一种基于转发路径数目的命名数据网逐跳拥塞控制方法整体架构图;
[0056]
图2为本发明设计的路由器拥塞控制机制原理图;
[0057]
图3为哑铃拓扑仿真场景;
[0058]
图4为单多路径流共存的复合拓扑仿真场景。
具体实施方式
[0059]
本发明提出的一种基于转发路径数目的命名数据网逐跳拥塞控制方法,设计思路是;路由器借助主动队列管理方法,计算本地路由器的拥塞程度。路由器依据拥塞程度判别本地拥塞状态并更新数据包的拥塞信息。下游相邻路由器基于转发路径数目执行多路径转发策略或兴趣包发送速率调整策略。当路由器执行多路径转发策略时,该路由器依据数据包的拥塞信息计算当前接口的兴趣包流量的分流比例并将流量通过当前转发接口或相对次优接口转发。当路由器执行兴趣包发送速率调整策略时,该路由器依据数据包的名称前缀与拥塞信息衰减或增加相同名称前缀的兴趣包发送速率。本发明针对命名数据网络多源多路径传输特点,主要包括路由器检测和路由器控制,以应对网络中的单路径流和多路径流。
[0060]
下面结合附图和具体实施例对本发明技术方案作进一步详细描述,所描述的具体实施例仅对本发明进行解释说明,并不用以限制本发明。
[0061]
如图1所示,本发明提出的一种基于转发路径数目的命名数据网逐跳拥塞控制方法,路由器可以基于转发路径数目执行多路径转发策略或者兴趣包发送速率调整策略;所述路由器控制基于转发路径数目,通过主动队列管理技术,根据路由器缓冲区数据包排队延时计算标记概率,根据标记概率检测拥塞并产生标记信息,然后在数据包(data)中添加标记信息并转发给下游相邻路由器。如图2所示,下游相邻路由器基于转发路径数目执行多路径转发策略或兴趣包发送速率调整策略。当路由器执行多路径转发策略时,该路由器依据数据包的拥塞信息计算当前接口的兴趣包流量的分流比例并将流量通过当前转发接口或相对次优接口转发。当路由器执行兴趣包发送速率调整策略时,该路由器依据数据包的名称前缀与拥塞信息衰减或增加相同名称前缀的兴趣包发送速率。
[0062]
研究实例:
[0063]
将本发明的一种基于转发路径数目的命名数据网逐跳拥塞控制方法在一台配置为intel(r)400series chipset family、i5-10500 3.10ghz、ddr3 16gb sdram的计算机上进行部署实现。利用基于ns-3的模拟器,即ndnsim 2.1对本发明进行实验仿真,在图3哑铃拓扑仿真场景和图4单多路径流共存的复合拓扑仿真场景上进行了详细的实验,进一步观察本发明在保证网络正常运行和稳定的情况下,提高内容请求体验质量的程度,通过使用吞吐量和延迟作为qos的基本性能指标来评估方法性能。在图3所示的仿真场景中,消费者们的瞬时吞吐量要比部署了pcon(参见文献[1])的消费者们的瞬时吞吐量更稳定,所提控制方法的总吞吐量对比pcon的总吞吐量提升了4.6%。在时延方面,所提控制方法的性能也比pcon更为优异。在图4所示的仿真场景中,消费者们的瞬时吞吐量要比部署了pcon的消费者们的瞬时吞吐量更稳定,所提控制方法的总吞吐量对比pcon的总吞吐量提升了15.5%。在时延方面,所提控制方法的性能也比pcon更为优异。
[0064]
表1哑铃拓扑:吞吐量(mbps)比较
[0065]
[0066]
表2哑铃拓扑:时延(ms)比较
[0067][0068]
表3哑铃拓扑:吞吐量(mbps)比较
[0069][0070]
表4哑铃拓扑:时延(ms)比较
[0071][0072]
实验结果表明,本发明能够很好地满足ndn在不同仿真场景下的拥塞控制需求。网络性能不仅取得了显著的改进,吞吐量更高更稳定,网络延迟更低,而且在各种网络场景下具有更好的公平性。
[0073]
尽管上面结合附图对本发明进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨的情况下,还可以做出很多变形,这些均属于本发明的保护之内。

技术特征:
1.一种基于转发路径数目的命名数据网逐跳拥塞控制方法,其特征在于,包括路由器拥塞检测和路由器拥塞控制;所述路由器拥塞检测是在拥塞控制协议中,路由器计算并更新数据包所携带的拥塞信息,包括:当前路由器借助主动队列管理方法,计算本地路由器的拥塞程度;依据拥塞程度判别本地拥塞状态并更新数据包所需携带的拥塞状态、拥塞程度以及数据包排队延迟;所述的路由器拥塞控制是根据数据包携带的拥塞信息,路由器执行拥塞控制动作,包括:下游相邻路由器基于转发路径数目执行多路径转发或者兴趣包发送速率调整,所述的下游相邻路由器执行多路径转发是:该路由器依据数据包中当前的拥塞信息计算当前接口能承载的兴趣包流量的分流比例并将剩余流量通过当前转发接口或相对次优接口转发;所述的下游相邻路由器执行兴趣包发送速率调整是:该路由器依据数据包中当前的拥塞信息计算当前接口兴趣包发送速率的减少或增加总速率,并依据数据包的名称前缀动态衰减或增加相同名称前缀的兴趣包发送速率。2.根据权利要求1所述的命名数据网逐跳拥塞控制方法,其特征在于,所述路由器拥塞检测包括以下步骤:步骤1-1)计算当前周期的拥塞程度p,并存储当前周期的拥塞信息:用当前数据包排队延迟减去参考排队延迟,然后乘以折算因子θ,得到当前排队时延与期望排队时延的偏移量;用当前数据包排队延迟减去路由器记录的上一周期数据包排队延迟,并将结果乘以折算因子ε,得到当前排队时延与上一周期排队时延的偏移量;将上述得到的两个偏移量与上一周期的拥塞程度相加,得到当前周期的拥塞程度p;如果p大于或等于1,p被赋值为1,如果p小于或等于0,p被赋值为0;路由器将当前数据包排队延迟记录为上一周期数据包排队延迟,将得到的当前周期的拥塞程度p记录为上一周期的拥塞程度;步骤1-2)更新拥塞状态和拥塞程度:如果步骤1-1)得到的拥塞程度p大于0,则数据包的拥塞状态位以p的概率被更新为轻度拥塞标记,以1-p的概率被更新为辅助拥塞标记,否则数据包的拥塞状态位依旧保持为初始标记或数据包携带的状态,更新的优先级由低到高为初始标记、辅助拥塞标记、轻度拥塞标记、重度拥塞标记,且更新不可逆;根据步骤1-1)得到的拥塞程度p更新数据包内原有记录的拥塞程度;步骤1-3)将当前数据包排队延迟更新数据包内记录的排队延迟,完成路由器拥塞检测。3.根据权利要求1所述的命名数据网逐跳拥塞控制方法,其特征在于,路由器执行拥塞控制动作,包括以下步骤:步骤2-1)路由器首先提取数据包中的名称前缀以及拥塞信息;步骤2-2)确定进行多路径转发或者兴趣包发送速率调整:路由器根据fib表检测数据包同名称前缀的兴趣包的转发路径数目是否大于1,如果大于1,则表明当前节点为分流节点,执行步骤2-3)进行多路径转发,否则,执行步骤2-4)进行兴趣包发送速率调整;步骤2-3)在下游相邻路由器执行多路径转发中,分为a、b和c三种情形进行:情形a、数据包拥塞程度p大于0且数据包拥塞状态为轻度拥塞标记或重度拥塞标记,执行步骤a-1);
情形b、数据包拥塞程度p大于0且数据包拥塞状态为辅助拥塞标记,执行步骤b-1);情形c、数据包拥塞程度p等于0,执行步骤c-1);步骤a-1)计算上游邻节点缓解拥塞后的数据包期望排队延迟,用折算因子θ乘以数据包参考排队延迟与折算因子ε乘以数据包携带的排队延迟的和减去数据包携带的拥塞程度,最后除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;步骤a-2)判断上游邻节点期望排队延迟是否大于0,如果大于0,执行步骤a-3),否则执行步骤a-4);步骤a-3)用该上游邻节点期望排队延迟除以数据包携带的排队延迟得到延迟比值;分流节点将用1减去所得到的延迟比值,再乘以数据包同名称前缀的兴趣包在当前接口的转发比例,得到次优转发接口增加的转发比例,并依各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞状态的更新,同时将本地拥塞程度、数据包排队延迟更新至数据包内;执行步骤a-5);步骤a-4)将数据包同名称前缀的兴趣包在当前接口的转发比例乘以0.9,得到次优转发接口增加的转发比例,并依各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞状态的更新,同时将本地拥塞程度、数据包排队延迟更新至数据包内;步骤a-5)如果数据包同名称前缀的兴趣包在当前分流节点的所有转发接口均处于拥塞状态或缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,并向下游路由器传递;执行步骤2-5);步骤b-1)路由器不执行控制动作,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞状态的更新,如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟更新至数据包内;执行步骤2-5);步骤c-1)判断数据包同名称前缀的兴趣包在当前接口的转发比例,如果所述的转发比例小于等于0.1且当前接口是最优转发接口,执行步骤c-2),否则执行步骤c-3);步骤c-2)如果是最优转发接口且数据包同名称前缀的兴趣包在当前接口的转发比例小于或等于0.1,分流节点对数据包同名称前缀的兴趣包在当前接口的转发比例立即增加0.5;执行步骤c-4);步骤c-3)如果数据包同名称前缀的兴趣包在当前接口的转发比例大于0.1,或不是最优转发接口,如果数据包携带的数据包排队延迟小于或等于1毫秒,则将数据包携带的数据包排队延迟暂定为1毫秒;步骤c-4)计算上游邻节点不发生拥塞的数据包期望排队延迟:用折算因子θ乘以数据包参考排队延迟与折算因子ε乘以数据包携带的排队延迟相加,最后除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;将得到的上游邻节点期望排队延迟除以数据包携带的排队延迟得到延迟比值;步骤c-5)分流节点将用步骤c-4)得到的延迟比值减去1,乘以数据包同名称前缀的兴趣包在当前接口的转发比例,得到数据包同名称前缀的兴趣包在当前转发接口应该增加的转发比例,并依数据包同名称前缀的兴趣包在各接口的转发比例动态地转发数据包同名称
前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞信息的更新;如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟更新至数据包内;执行步骤2-5);步骤2-4)兴趣包发送速率调整分为d、e和f三种情形:情形d:数据包拥塞程度p大于0且拥塞状态为轻度拥塞标记或重度拥塞标记,执行步骤d-1);情形e:数据包拥塞程度p等于0,执行步骤e-1);情形f:数据包拥塞程度p大于0且数据包拥塞状态为辅助拥塞标记,执行步骤f-1);步骤d-1)计算上游邻节点不发生拥塞的数据包期望排队延迟:用折算因子θ乘以数据包参考排队延迟与折算因子ε乘以数据包携带的排队延迟的和减去数据包携带的拥塞程度,最后除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;步骤d-2)计算上游邻节点缓冲区期望减少的字节总量:用数据包携带的排队延迟减去步骤d-1)中得到的上游邻节点期望排队延迟得到延迟差值,并将延迟差值与0比较取最大值,最后将该最大值乘以上游邻节点的数据包出队速率得到上游邻节点缓冲区期望减少的字节总量;步骤d-3)计算兴趣包发送速率衰减的总额:用步骤d-2)得到的上游邻节点缓冲区期望减少的字节总量除以数据包字节数目,再乘以兴趣包字节数目,最后除以路由器检测周期得到兴趣包发送速率衰减的总额;步骤d-4)计算上游相邻路由器中被标记为轻度拥塞标记的数据包的数量:用路由器检测周期乘以上游邻节点的数据包出队速率,再乘以数据包携带的拥塞程度,最后除以数据包字节数目得到上游相邻路由器中被标记为轻度拥塞标记的数据包的数量;步骤d-5)路由器用步骤d-3)得到的兴趣包发送速率衰减的总额除以步骤d-4)得到的上游相邻路由器中被标记为轻度拥塞标记的数据包的数量,得到每收到一个路由器根据fib表检测数据包时同名称前缀的兴趣包的发送速率衰减值;步骤d-6)计算数据包的同名称前缀的兴趣包的发送速率:用当前接口的数据包的同名称前缀的兴趣包的发送速率减去步骤d-5)得到的衰减值,得到数据包的同名称前缀的兴趣包的发送速率,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞信息的更新,同时将本地拥塞程度、数据包排队延迟更新至数据包内;步骤d-7)如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,并向下游路由器传递;执行步骤2-5);步骤e-1)计算上游邻节点不发生拥塞的数据包期望排队延迟:用折算因子θ乘以数据包参考排队延迟与折算因子ε乘以数据包携带的排队延迟的和除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;步骤e-2)计算上游邻节点缓冲区期望增加的字节总量:用步骤e-1)中得到的上游邻节点期望排队延迟减去数据包携带的排队延迟得到延迟差值,并将延迟差值与0比较取最大值,最后将该最大值乘以上游邻节点的数据包出队速率得到上游邻节点缓冲区期望增加的字节总量;步骤e-3)计算兴趣包发送速率增加的总额:用步骤e-2)得到的上游邻节点缓冲区期望
增加的字节总量除以数据包字节数目,再乘以兴趣包字节数目,最后除以路由器检测周期得到兴趣包发送速率增加的总额;步骤e-4)计算上游相邻路由器中保持初始标记的数据包的数量:用路由器检测周期乘以上游邻节点的数据包出队速率,再除以数据包字节数目得到上游相邻路由器中保持初始标记的数据包的数量;步骤e-5)路由器用步骤e-3)得到的兴趣包发送速率增加总额除以步骤e-4)得到的上游相邻路由器中保持初始标记的数据包的数量,得到每收到一个路由器根据fib表检测数据包时同名称前缀的兴趣包的发送速率增加值;步骤e-6)计算数据包的同名称前缀的兴趣包的发送速率:用当前接口的数据包的同名称前缀的兴趣包的发送速率加上步骤e-5)得到的增加值,得到数据包的同名称前缀的兴趣包的发送速率,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞信息的更新,同时将本地拥塞程度、数据包排队延迟更新至数据包内;步骤e-7)如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,并向下游路由器传递;执行步骤2-5);步骤f-1)路由器不执行控制动作,最后比较本地节点和数据包携带的拥塞状态等级,并依据拥塞状态的等级由低到高进行拥塞状态的更新,如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟更新至数据包内;步骤2-5)路由器拥塞控制机制操作结束。4.根据权利要求1-3中任一所述的命名数据网逐跳拥塞控制方法,其特征在于,所述拥塞信息包括拥塞状态,拥塞程度、逗留时间。

技术总结
本发明公开了一种基于转发路径数目的命名数据网逐跳拥塞控制方法,包括路由器拥塞检测和路由器拥塞控制;路由器借助主动队列管理方法,计算本地路由器的拥塞程度。路由器判别本地拥塞状态并更新数据包的拥塞信息。下游相邻路由器基于转发路径数目执行多路径转发策略或兴趣包发送速率调整策略。当路由器执行多路径转发策略时,该路由器依据数据包的拥塞信息计算当前接口的兴趣包流量的分流比例并将流量通过当前或相对次优接口转发。当路由器执行兴趣包发送速率调整策略时,该路由器依据数据包的拥塞信息调整相同名称前缀的兴趣包发送速率。本发明针对命名数据网络多源多路径传输特点,提出两种路由器控制策略,以应对网络中的单路径流和多路径流。中的单路径流和多路径流。中的单路径流和多路径流。


技术研发人员:李卓 荀淏
受保护的技术使用者:天津大学
技术研发日:2023.05.18
技术公布日:2023/7/18
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐