一种基于数据包排队时延的命名数据网混合拥塞控制方法

未命名 08-15 阅读:104 评论:0


1.本发明属于高性能拥塞控制方案设计领域,用以应对命名数据网(named data networking)中的单路径流和多路径流,同时通过消费者端控制实现拥塞避免和拥塞控制。


背景技术:

2.随着工业互联网、车联网、空间网络、海洋网络等多模态网络构造技术和相关使能技术的创新发展,网络的功能正逐渐由数据传输通道向高效率、大规模的内容获取与分发转变。然而,目前以终端为中心、位置为寻址标识的tcp/ip网络体系架构已经无法很好地满足未来创新应用与服务模式的发展需求。为此,国内外学术界与工业界都大力投身于未来互联网体系架构的研究。2010年,由加州大学的lixia zhang与施乐公司的van jacobson提出的命名数据网(named data networking,ndn)被视未来网络架构的典型范式。
3.ndn将网络通信模式从端到端的ip模型改变为基于名称的通信模型,该架构通过消费者发送一个使用名称前缀的兴趣包以请求同名数据包驱动。由于ndn与ip网络路由转发平面的寻址与转发方式之间存在着非常大的差异,即ndn支持内容缓存、无连接通信以及有状态转发。因此,ndn路由转发平面拥塞控制的研究面临着一系列新的问题与挑战。其一,网络内缓存特性使得请求往返时间(round-trip time,rtt)具有动态化的特点,即网络节点无法依据rtt的变化趋势研判是否拥塞以及拥塞程度。因此,选择何种指标进行快速、精准的判断拥塞程度成为一个难题。其二,无连接通信特性使得网络节点只能依据数据包在网络中经历的通信状态执行拥塞控制,即网络节点只能在拥塞后执行控制。因此,如何依据当前拥塞程度以及流量特征预判合适的消费者发送速率是一个很大的挑战。其三,有状态转发特性使得路由器可以检测并处理拥塞,其有效减少了接收端接收拥塞信息的反馈延时。但如何使路由器与消费者协作控制以避免过度控制和重复控制是领域内亟待解决的一个挑战。
4.针对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]
针对上述现有技术,本发明提供了一种基于数据包排队时延的命名数据网混合拥塞控制方法,以实现拥塞避免和拥塞控制。
[0009]
为了解决上述的技术问题,本发明提出了一种基于数据包排队时延的命名数据网混合拥塞控制方法,如图1所示,包括路由器拥塞信息更新、路由器拥塞控制以及消费者端控制。
[0010]
所述路由器拥塞信息更新是:首先借助主动队列管理方法,计算本地路由器的拥塞程度;路由器依据拥塞程度判别本地拥塞状态并更新数据包的拥塞信息,所述拥塞信息包括拥塞状态、拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值。
[0011]
所述路由器拥塞控制包含多路径转发控制以及兴趣包发送速率控制;所述路由器多路径转发控制是:首先依据数据包中当前的拥塞信息计算当前接口能承载的兴趣包转发比例最大值,然后依据fib条目的转发路径排序将当前接口转发比例的变化值转移至相对次优接口,最后将剩余流量依转发比例通过当前转发接口或相对次优接口转发;所述路由器兴趣包发送速率控制是:依据数据包中当前的拥塞信息计算当前接口兴趣包发送速率的减少或增加总速率并依据数据包的名称前缀动态衰减或增加相同名称前缀的兴趣包发送速率。
[0012]
所述消费者端控制是:基于消费者拥塞窗口尺寸,依据数据包中当前的的拥塞状态以及拥塞窗口调整值,动态地调整消费者的拥塞窗口尺寸,精细地调控网络中的兴趣包总量,实现网络内部拥塞前的预调控以及拥塞后的控制。
[0013]
进一步讲,本发明所述的命名数据网混合拥塞控制方法,其中:
[0014]
一、计算本地路由器的拥塞程度,路由器依据拥塞程度判别本地拥塞状态并更新数据包的拥塞信息。
[0015]
所述的计算本地路由器的拥塞程度包括以下步骤:
[0016]
步骤1-1)用当前数据包排队延迟减去参考排队延迟,然后乘以折算因子θ;
[0017]
步骤1-2)用当前数据包排队延迟减去路由器记录的上一周期数据包排队延迟,并将结果乘以折算因子ε;
[0018]
步骤1-3)初步计算拥塞程度p:将步骤1-1)的结果、步骤1-2)的结果以及上一周期的拥塞程度相加,得到当前周期的拥塞程度p;
[0019]
步骤1-4)判断拥塞程度p的终值:如果p大于或等于1,p被赋值为1,如果p小于或等于0,p被赋值为0;
[0020]
步骤1-5)当前周期信息的存储:路由器将当前数据包排队延迟记录为上一周期数据包排队延迟,将步骤1-4)确定的拥塞程度p记录为上一周期的拥塞程度。
[0021]
所述的路由器依据拥塞程度判别本地拥塞状态并更新数据包的拥塞信息,包括以下步骤:
[0022]
步骤2-1)更新拥塞状态:根据步骤1-4)确定的拥塞程度p的终值,判断p是否大于0,如果大于0则更新标记状态,标记状态以p概率被升级为轻度拥塞标记,以1-p概率被升级为辅助拥塞标记,更新的优先级由低到高为初始标记、辅助拥塞标记、轻度拥塞标记、重度拥塞标记,且更新不可逆;
[0023]
步骤2-2)更新拥塞程度:根据步骤1-4)确定的拥塞程度p的终值更新数据包内记录的拥塞程度;
[0024]
步骤2-3)更新数据包排队延迟:将当前数据包排队延迟更新数据包内记录的排队延迟;
[0025]
步骤2-4)用折算因子θ乘以数据包参考排队延迟;
[0026]
步骤2-5)用折算因子ε乘以路由器缓冲区内数据包排队延迟;
[0027]
步骤2-6)依当前数据包排队延迟计算本地节点期望最大排队延迟:用步骤2-4)计算的值加上步骤2-5)计算的值,减去步骤1-4)得到的拥塞程度终值,最后除以折算因子θ和ε的和,得到本地节点期望最大排队延迟;
[0028]
步骤2-7)计算消费者拥塞窗口调整初值:用步骤2-6)得到的本地节点期望最大排队延迟减去当前数据包排队延迟,再除以当前数据包排队延迟,得到消费者拥塞窗口调整初值;
[0029]
步骤2-8)计算消费者拥塞窗口调整值:如果当前节点处于拥塞状态且步骤2-7)得到的本地节点所需消费者拥塞窗口调整初值小于或等于-1,则消费者拥塞窗口调整值记为-1;
[0030]
步骤2-9)更新消费者拥塞窗口调整值:将数据包中当前的消费者拥塞窗口调整值与步骤2-8)得到的本地节点所需消费者拥塞窗口调整值进行比较取最小值,并将最小值赋于数据包内记录的消费者拥塞窗口调整值;
[0031]
步骤2-10)计算并更新拥塞信息操作结束。
[0032]
二、所述路由器拥塞控制包含多路径转发控制以及兴趣包发送速率控制。
[0033]
如图2所示,所述路由器多路径转发控制包括以下步骤:
[0034]
步骤3-1)路由器首先提取数据包中的名称前缀以及拥塞信息;
[0035]
步骤3-2)判断是否执行多路径转发:路由器借助fib表检查数据包同名称前缀的兴趣包的转发路径数目是否大于1,如果大于1表明当前节点为分流节点,需要执行多路径转发控制;
[0036]
步骤3-3)更新拥塞接口:如果数据包携带的拥塞程度p大于0且拥塞状态为轻度拥塞标记或重度拥塞标记,分流节点将当前接口标记为拥塞接口;
[0037]
步骤3-4)用折算因子θ乘以数据包参考排队延迟;
[0038]
步骤3-5)用折算因子ε乘以数据包携带的排队延迟;
[0039]
步骤3-6)计算上游邻节点缓解拥塞后的数据包期望排队延迟:用步骤3-4)计算的值加上步骤3-5)计算的值,减去数据包携带的拥塞程度,最后除以折算因子θ和ε的和,得到
上游邻节点期望排队延迟;
[0040]
步骤3-7)如果步骤3-6)计算的上游邻节点期望排队延迟小于或等于0,数据包同名称前缀的兴趣包在当前接口的转发比例乘以0.9,得到次优转发接口增加的转发比例,并依各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,进行更新,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;
[0041]
步骤3-8)如果步骤3-6)计算的上游邻节点期望排队延迟大于0,用步骤3-6)计算的上游邻节点期望排队延迟除以数据包中当前的排队延迟得到延迟比值;
[0042]
步骤3-9)分流节点将用1减去步骤3-8)计算的延迟比值,乘以数据包同名称前缀的兴趣包在当前接口的转发比例,得到次优转发接口增加的转发比例,并依各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,进行更新,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;
[0043]
步骤3-10)如果数据包同名称前缀的兴趣包在当前分流节点的所有转发接口均处于拥塞状态或缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,并向下游节点传递;
[0044]
步骤3-11)更新非拥塞接口:如果数据包拥塞程度p等于0,分流节点将当前接口重置为未拥塞接口;
[0045]
步骤3-12)如果数据包同名称前缀的兴趣包在当前接口的转发比例小于或等于0.1,且是最优转发接口,分流节点对当前接口的转发比例立即增加0.5;
[0046]
步骤3-13)如果数据包同名称前缀的兴趣包在当前接口的转发比例大于0.1,或不是最优转发接口,如果数据包携带的数据包排队延迟小于或等于1毫秒,则将数据包携带的数据包排队延迟暂定为1毫秒;
[0047]
步骤3-14)计算保证上游邻节点不发生拥塞的数据包期望排队延迟:用步骤3-4)计算的值加上步骤3-5)计算的值,除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;
[0048]
步骤3-15)用步骤3-14)计算的上游邻节点期望排队延迟除以数据包携带的排队延迟得到延迟比值;
[0049]
步骤3-16)分流节点将用步骤3-15)计算的延迟比值减去1,乘以数据包同名称前缀的兴趣包在当前接口的转发比例,得到当前转发接口应该增加的转发比例,并依各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,进行更新,如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;
[0050]
步骤3-17)如果数据包拥塞状态为辅助拥塞标记且拥塞程度p大于0,路由器不执行控制动作,最后比较本地节点和数据包中当前的拥塞状态等级,进行更新,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;
[0051]
步骤3-18)如果当前分流节点缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,并向下游节点传递;
[0052]
步骤3-19)多路径转发控制操作结束。
[0053]
如图2所示,所述路由器兴趣包发送速率控制包括以下步骤:
[0054]
步骤4-1)路由器首先提取数据包中的名称前缀以及拥塞信息;
[0055]
步骤4-2)判断是否执行兴趣包发送速率控制:路由器借助fib表检查数据包同名称前缀的兴趣包的转发路径数目是否为1,如果等于1,路由器执行兴趣包发送速率控制;
[0056]
步骤4-3)用折算因子θ乘以数据包参考排队延迟;
[0057]
步骤4-4)用折算因子ε乘以数据包携带的排队延迟;
[0058]
步骤4-5)计算上游邻节点缓解拥塞后的数据包期望排队延迟:如果数据包携带的拥塞程度p大于0且拥塞状态为轻度拥塞标记或辅助拥塞标记或重度拥塞标记,用步骤4-3)计算的值加上步骤4-4)计算的值,减去数据包携带的拥塞程度,最后除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;
[0059]
步骤4-6)计算上游邻节点缓冲区期望减少的字节总量:用数据包携带的排队延迟减去步骤4-5)计算的上游邻节点期望排队延迟得到延迟差值,并将差值与0比较取最大值,最后将最大值乘以上游邻节点的数据包出队速率得到上游邻节点缓冲区期望减少的字节总量;
[0060]
步骤4-7)计算兴趣包发送速率衰减的总额:用步骤4-6)计算的上游邻节点缓冲区期望减少的字节总量除以数据包字节数目,再乘以兴趣包字节数目,最后除以路由器检测周期得到兴趣包发送速率衰减的总额;
[0061]
步骤4-8)计算上游相邻路由器传递的数据包数量:用路由器检测周期乘以上游邻节点的数据包出队速率,再除以数据包字节数目得到上游相邻路由器传递的数据包数量;
[0062]
步骤4-9)用步骤4-7)得到的兴趣包发送速率衰减的总额乘以2,除以步骤4-8)得到的上游相邻路由器传递的数据包数量,得到每收到一个数据包时同名称前缀兴趣包的发送速率衰减值,最后比较本地节点和数据包携带的拥塞状态等级,进行更新,如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;
[0063]
步骤4-10)计算上游邻节点未拥塞时的数据包期望排队延迟:如果数据包的拥塞程度p等于0,用步骤4-3)计算的值加上步骤4-4)计算的值,除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;
[0064]
步骤4-11)计算上游邻节点缓冲区期望增加的字节总量:用步骤4-10)计算的上游邻节点期望排队延迟减去数据包携带的排队延迟得到延迟差值,并将差值与0比较取最大值,最后将最大值乘以上游邻节点的数据包出队速率得到上游邻节点缓冲区期望增加的字节总量;
[0065]
步骤4-12)计算兴趣包发送速率增加的总额:用步骤4-11)计算的上游邻节点缓冲区期望增加的字节总量除以数据包字节数目,再乘以兴趣包字节数目,最后除以路由器检测周期得到兴趣包发送速率增加的总额;
[0066]
步骤4-13)计算上游相邻路由器中保持初始标记的数据包的数量:用路由器检测周期乘以上游邻节点的数据包出队速率,再除以数据包字节数目得到上游相邻路由器中保持初始标记的数据包的数量;
[0067]
步骤4-14)用步骤4-12)得到的兴趣包发送速率增加的总额乘以2,除以步骤4-13)得到的上游相邻路由器中保持初始标记的数据包的数量,得到每收到一个数据包时同名称
前缀兴趣包的发送速率增加值,最后比较本地节点和数据包携带的拥塞状态等级,进行更新,如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;
[0068]
步骤4-15)兴趣包发送速率控制操作结束。
[0069]
三、如图3所示,所述消费者端控制,包括以下步骤:
[0070]
步骤5-1)消费者接收数据包:消费者接收到传回的数据包,并查看相应拥塞状态;
[0071]
步骤5-2)如果数据包携带的拥塞状态是初始标记,且当前窗口尺寸既小于控制机制的初始启动上限又未超过消费者记录的最大窗口尺寸,如果数据包携带的消费者拥塞窗口调整值大于或等于0且小于或等于1,拥塞窗口尺寸加1,否则拥塞窗口尺寸加上数据包携带的消费者拥塞窗口调整值;
[0072]
步骤5-3)如果数据包携带的拥塞状态是初始标记,且当前窗口尺寸小于控制机制的初始启动上限,但超过消费者记录的最大窗口尺寸,拥塞窗口尺寸加上1除以当前拥塞窗口尺寸的比值;
[0073]
步骤5-4)如果数据包携带的拥塞状态是初始标记且当前窗口尺寸大于或等于控制机制的初始启动上限,但未达到消费者端记录最大窗口尺寸,消费者端启动tcp-bic二分中值操作以增加消费者端窗口尺寸;
[0074]
步骤5-5)如果数据包携带的拥塞状态是初始标记,且当前窗口尺寸既大于或等于控制机制的初始启动上限,又达到消费者端记录最大窗口尺寸,消费者端启动tcp-bic窗口探测操作以探测新的最大窗口尺寸;
[0075]
步骤5-6)如果数据包携带的拥塞状态是轻度拥塞标记或辅助拥塞标记,并且如果数据包携带的消费者拥塞窗口调整值大于0,则拥塞窗口尺寸不变;
[0076]
步骤5-7)如果数据包携带的拥塞状态是轻度拥塞标记或辅助拥塞标记,并且如果数据包携带的消费者拥塞窗口调整值小于或等于0,则拥塞窗口尺寸加上数据包携带的消费者拥塞窗口调整值;
[0077]
步骤5-8)如果数据包携带的拥塞状态是重度拥塞标记,则拥塞窗口尺寸乘以系数γ,并启用tcp-bic传统窗口恢复机制;
[0078]
步骤5-9)消费者端控制操作结束。
[0079]
与现有技术相比,本发明的有益效果是:将本发明所述的命名数据网混合拥塞控制方法在一台配置为intel(r)400series chipset family、i5-10500 3.10ghz、ddr3 16gb sdram的计算机上进行部署实现。利用基于ns-3的模拟器,即ndnsim 2.1对本发明进行实验仿真,在几个代表性网络场景中进行了详细的实验,进一步观察本发明在保证网络正常运行和稳定的情况下,提高内容请求体验质量的程度,通过使用吞吐量、延迟和丢包率作为qos的基本性能指标来评估方法性能。如表1至表4所示,实验结果表明,本发明能够很好地满足ndn在不同仿真场景下的混合拥塞控制需求。网络性能不仅取得了显著的改进,吞吐量更高更稳定,网络延迟更低,而且在各种网络场景下具有更好的公平性。
附图说明
[0080]
图1为本发明方法的整体架构图;
[0081]
图2为本发明中设计的路由器拥塞控制原理图;
[0082]
图3为本发明中设计的消费者端控制原理图;
[0083]
图4为无缓存的brite拓扑仿真场景;
[0084]
图5为有缓存的brite拓扑仿真场景。
具体实施方式
[0085]
下面结合附图和具体实施例对本发明技术方案作进一步详细描述,所描述的具体实施例仅对本发明进行解释说明,并不用以限制本发明。
[0086]
如图1所示,本发明提出的一种基于数据包排队时延的命名数据网混合拥塞控制方法,包括路由器拥塞信息更新机制、路由器拥塞控制机制以及消费者端控制机制;具体说明如下:所述路由器拥塞控制机制包含多路径转发策略以及兴趣包发送速率控制策略。如图2所示,路由器多路径转发策略依据数据包携带的拥塞信息计算当前接口能承载的兴趣包转发比例最大值,进一步依据fib条目的转发路径排序将当前接口转发比例的变化值转移至相对次优接口,最后将剩余流量依转发比例通过当前转发接口或相对次优接口转发。路由器兴趣包发送速率控制策略依据数据包携带的拥塞信息计算当前接口兴趣包发送速率的减少或增加总速率并依据数据包的名称前缀动态衰减或增加相同名称前缀的兴趣包发送速率。所述消费者端控制机制基于消费者终端拥塞窗口尺寸,如图3所示,依据数据包携带的拥塞状态以及拥塞窗口调整值,动态地调整消费者的拥塞窗口尺寸,精细地调控网络中的兴趣包总量,实现网络内部拥塞前的预调控以及拥塞后的控制。
[0087]
研究材料:
[0088]
将本发明的基于数据包排队时延的命名数据网混合拥塞控制方法在一台配置为intel(r)400series chipset family、i5-10500 3.10ghz、ddr3 16gb sdram的计算机上进行部署实现。利用基于ns-3的模拟器,即ndnsim 2.1对本发明方法进行实验仿真,在图4无缓存的brite拓扑仿真场景和图5有缓存的brite拓扑仿真场景中进行了详细的实验,进一步观察本发明在保证网络正常运行和稳定的情况下,提高内容请求体验质量的程度,通过使用吞吐量和延迟作为qos的基本性能指标来评估方法性能,如表1、表2、表3和表4所示。
[0089]
表1无缓存的brite拓扑:吞吐量(mbps)比较
[0090][0091]
表2无缓存的brite拓扑:时延(ms)比较
[0092][0093]
表3有缓存的brite拓扑:吞吐量(mbps)比较
[0094][0095]
表4有缓存的brite拓扑:时延(ms)比较
[0096][0097]
在图4中,4个消费者分别请求4个生产者所持有的内容;所有链路的带宽为10mbps,延迟为10ms。在图5中,路由器开启网内缓存并采用fifo策略,缓存大小设置为100000数据包。在这两种情况下,消费者1和消费者4都请求/prefix/a,消费者2和消费者3都请求/prefix/b。然而,c3和c4在3s后开始请求内容。图5中粗线的带宽设置为50mbps,其余链路的带宽设置为10mbps,所有链路的时延设置为10ms。
[0098]
研究实验结果表明,本发明能够很好地满足ndn在不同仿真场景下的混合拥塞控制需求。网络性能不仅取得了显著的改进,吞吐量更高更稳定,网络延迟更低,而且在各种网络场景下具有更好的公平性。在无缓存的brite拓扑中,使用flecom部署的消费者的总吞吐量比使用文献[1]pcon部署的消费者高50.8%。启用路由器的网内缓存功能后,该值变为48.3%。
[0099]
尽管上面结合附图对本发明进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨的情况下,还可以做出很多变形,这些均属于本发明的保护之内。

技术特征:
1.一种基于数据包排队时延的命名数据网混合拥塞控制方法,其特征在于,包括路由器拥塞信息更新、路由器拥塞控制以及消费者端控制;所述路由器拥塞信息更新是:首先借助主动队列管理方法,计算本地路由器的拥塞程度;路由器依据拥塞程度判别本地拥塞状态并更新数据包的拥塞信息,所述拥塞信息包括拥塞状态、拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值;所述路由器拥塞控制包含多路径转发控制以及兴趣包发送速率控制;所述路由器多路径转发控制是:首先依据数据包中当前的拥塞信息计算当前接口能承载的兴趣包转发比例最大值,然后依据fib条目的转发路径排序将当前接口转发比例的变化值转移至相对次优接口,最后将剩余流量依转发比例通过当前转发接口或相对次优接口转发;所述路由器兴趣包发送速率控制是:依据数据包中当前的拥塞信息计算当前接口兴趣包发送速率的减少或增加总速率并依据数据包的名称前缀动态衰减或增加相同名称前缀的兴趣包发送速率;所述消费者端控制是:基于消费者拥塞窗口尺寸,依据数据包中当前的的拥塞状态以及拥塞窗口调整值,动态地调整消费者的拥塞窗口尺寸,精细地调控网络中的兴趣包总量,实现网络内部拥塞前的预调控以及拥塞后的控制。2.根据权利要求1所述的命名数据网混合拥塞控制方法,其中,计算本地路由器的拥塞程度,包括:步骤1-1)用当前数据包排队延迟减去参考排队延迟,然后乘以折算因子θ;步骤1-2)用当前数据包排队延迟减去路由器记录的上一周期数据包排队延迟,并将结果乘以折算因子ε;步骤1-3)初步计算拥塞程度p:将步骤1-1)的结果、步骤1-2)的结果以及上一周期的拥塞程度相加,得到当前周期的拥塞程度p;步骤1-4)判断拥塞程度p的终值:如果p大于或等于1,p被赋值为1,如果p小于或等于0,p被赋值为0;步骤1-5)当前周期信息的存储:路由器将当前数据包排队延迟记录为上一周期数据包排队延迟,将步骤1-4)确定的拥塞程度p记录为上一周期的拥塞程度。3.根据权利要求2所述的命名数据网混合拥塞控制方法,其中,路由器依据拥塞程度判别本地拥塞状态并更新数据包的拥塞信息,包括:步骤2-1)更新拥塞状态:根据步骤1-4)确定的拥塞程度p的终值,判断p是否大于0,如果大于0则更新标记状态,标记状态以p概率被升级为轻度拥塞标记,以1-p概率被升级为辅助拥塞标记,更新的优先级由低到高为初始标记、辅助拥塞标记、轻度拥塞标记、重度拥塞标记,且更新不可逆;步骤2-2)更新拥塞程度:根据步骤1-4)确定的拥塞程度p的终值更新数据包内记录的拥塞程度;步骤2-3)更新数据包排队延迟:将当前数据包排队延迟更新数据包内记录的排队延迟;步骤2-4)用折算因子θ乘以数据包参考排队延迟;步骤2-5)用折算因子ε乘以路由器缓冲区内数据包排队延迟;步骤2-6)依当前数据包排队延迟计算本地节点期望最大排队延迟:用步骤2-4)计算的值加上步骤2-5)计算的值,减去步骤1-4)得到的拥塞程度终值,最后除以折算因子θ和ε的
和,得到本地节点期望最大排队延迟;步骤2-7)计算消费者拥塞窗口调整初值:用步骤2-6)得到的本地节点期望最大排队延迟减去当前数据包排队延迟,再除以当前数据包排队延迟,得到消费者拥塞窗口调整初值;步骤2-8)计算消费者拥塞窗口调整值:如果当前节点处于拥塞状态且步骤2-7)得到的本地节点所需消费者拥塞窗口调整初值小于或等于-1,则消费者拥塞窗口调整值记为-1;步骤2-9)更新消费者拥塞窗口调整值:将数据包中当前的消费者拥塞窗口调整值与步骤2-8)得到的本地节点所需消费者拥塞窗口调整值进行比较取最小值,并将最小值赋于数据包内记录的消费者拥塞窗口调整值;步骤2-10)计算并更新拥塞信息操作结束。4.根据权利要求1所述的命名数据网混合拥塞控制方法,其中,所述路由器多路径转发控制,包括以下步骤:步骤3-1)路由器首先提取数据包中的名称前缀以及拥塞信息;步骤3-2)判断是否执行多路径转发:路由器借助fib表检查数据包同名称前缀的兴趣包的转发路径数目是否大于1,如果大于1表明当前节点为分流节点,需要执行多路径转发控制;步骤3-3)更新拥塞接口:如果数据包携带的拥塞程度p大于0且拥塞状态为轻度拥塞标记或重度拥塞标记,分流节点将当前接口标记为拥塞接口;步骤3-4)用折算因子θ乘以数据包参考排队延迟;步骤3-5)用折算因子ε乘以数据包携带的排队延迟;步骤3-6)计算上游邻节点缓解拥塞后的数据包期望排队延迟:用步骤3-4)计算的值加上步骤3-5)计算的值,减去数据包携带的拥塞程度,最后除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;步骤3-7)如果步骤3-6)计算的上游邻节点期望排队延迟小于或等于0,数据包同名称前缀的兴趣包在当前接口的转发比例乘以0.9,得到次优转发接口增加的转发比例,并依各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,进行更新,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;步骤3-8)如果步骤3-6)计算的上游邻节点期望排队延迟大于0,用步骤3-5)计算的上游邻节点期望排队延迟除以数据包中当前的排队延迟得到延迟比值;步骤3-9)分流节点将用1减去步骤3-8)计算的延迟比值,乘以数据包同名称前缀的兴趣包在当前接口的转发比例,得到次优转发接口增加的转发比例,并依各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,进行更新,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;步骤3-10)如果数据包同名称前缀的兴趣包在当前分流节点的所有转发接口均处于拥塞状态或缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,并向下游节点传递;步骤3-11)更新非拥塞接口:如果数据包拥塞程度p等于0,分流节点将当前接口重置为未拥塞接口;
步骤3-12)如果数据包同名称前缀的兴趣包在当前接口的转发比例小于或等于0.1,且是最优转发接口,分流节点对当前接口的转发比例立即增加0.5;步骤3-13)如果数据包同名称前缀的兴趣包在当前接口的转发比例大于0.1,或不是最优转发接口,如果数据包携带的数据包排队延迟小于或等于1毫秒,则将数据包携带的数据包排队延迟暂定为1毫秒;步骤3-14)计算保证上游邻节点不发生拥塞的数据包期望排队延迟:用步骤3-4)计算的值加上步骤3-5)计算的值,除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;步骤3-15)用步骤3-14)计算的上游邻节点期望排队延迟除以数据包携带的排队延迟得到延迟比值;步骤3-16)分流节点将用步骤3-15)计算的延迟比值减去1,乘以数据包同名称前缀的兴趣包在当前接口的转发比例,得到当前转发接口应该增加的转发比例,并依各接口的转发比例动态地转发数据包同名称前缀的兴趣包,最后比较本地节点和数据包携带的拥塞状态等级,进行更新,如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;步骤3-17)如果数据包拥塞状态为辅助拥塞标记且拥塞程度p大于0,路由器不执行控制动作,最后比较本地节点和数据包中当前的拥塞状态等级,进行更新,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;步骤3-18)如果当前分流节点缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,并向下游节点传递;步骤3-19)多路径转发控制操作结束。5.根据权利要求1所述的命名数据网混合拥塞控制方法,其中,所述路由器兴趣包发送速率控制,包括以下步骤:步骤4-1)路由器首先提取数据包中的名称前缀以及拥塞信息;步骤4-2)判断是否执行兴趣包发送速率控制:路由器借助fib表检查数据包同名称前缀的兴趣包的转发路径数目是否为1,如果等于1,路由器执行兴趣包发送速率控制;步骤4-3)用折算因子θ乘以数据包参考排队延迟;步骤4-4)用折算因子ε乘以数据包携带的排队延迟;步骤4-5)计算上游邻节点缓解拥塞后的数据包期望排队延迟:如果数据包携带的拥塞程度p大于0且拥塞状态为轻度拥塞标记或辅助拥塞标记或重度拥塞标记,用步骤4-3)计算的值加上步骤4-4)计算的值,减去数据包携带的拥塞程度,最后除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;步骤4-6)计算上游邻节点缓冲区期望减少的字节总量:用数据包携带的排队延迟减去步骤4-5)计算的上游邻节点期望排队延迟得到延迟差值,并将差值与0比较取最大值,最后将最大值乘以上游邻节点的数据包出队速率得到上游邻节点缓冲区期望减少的字节总量;步骤4-7)计算兴趣包发送速率衰减的总额:用步骤4-6)计算的上游邻节点缓冲区期望减少的字节总量除以数据包字节数目,再乘以兴趣包字节数目,最后除以路由器检测周期得到兴趣包发送速率衰减的总额;步骤4-8)计算上游相邻路由器传递的数据包数量:用路由器检测周期乘以上游邻节点
的数据包出队速率,再除以数据包字节数目得到上游相邻路由器传递的数据包数量;步骤4-9)用步骤4-7)得到的兴趣包发送速率衰减的总额乘以2,除以步骤4-8)得到的上游相邻路由器传递的数据包数量,得到每收到一个数据包时同名称前缀兴趣包的发送速率衰减值,最后比较本地节点和数据包携带的拥塞状态等级,进行更新,如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;步骤4-10)计算上游邻节点未拥塞时的数据包期望排队延迟:如果数据包的拥塞程度p等于0,用步骤4-3)计算的值加上步骤4-4)计算的值,除以折算因子θ和ε的和,得到上游邻节点期望排队延迟;步骤4-11)计算上游邻节点缓冲区期望增加的字节总量:用步骤4-10)计算的上游邻节点期望排队延迟减去数据包携带的排队延迟得到延迟差值,并将该延迟差值与0比较取最大值,最后将最大值乘以上游邻节点的数据包出队速率得到上游邻节点缓冲区期望增加的字节总量;步骤4-12)计算兴趣包发送速率增加的总额:用步骤4-11)计算的上游邻节点缓冲区期望增加的字节总量除以数据包字节数目,再乘以兴趣包字节数目,最后除以路由器检测周期得到兴趣包发送速率增加的总额;步骤4-13)计算上游相邻路由器中保持初始标记的数据包的数量:用路由器检测周期乘以上游邻节点的数据包出队速率,再除以数据包字节数目得到上游相邻路由器中保持初始标记的数据包的数量;步骤4-14)用步骤4-12)得到的兴趣包发送速率增加的总额乘以2,除以步骤4-13)得到的上游相邻路由器中保持初始标记的数据包的数量,得到每收到一个数据包时同名称前缀兴趣包的发送速率增加值,最后比较本地节点和数据包携带的拥塞状态等级,进行更新,如果当前路由器缓冲区数据包队列超过缓冲区容量的90%,则拥塞状态被更新为重度拥塞标记,同时将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;步骤4-15)兴趣包发送速率控制操作结束。6.根据权利要求1所述的命名数据网混合拥塞控制方法,其中,所述消费者端控制,包括以下步骤:步骤5-1)消费者接收数据包:消费者接收到传回的数据包,并查看相应拥塞状态;步骤5-2)如果数据包携带的拥塞状态是初始标记,且当前窗口尺寸既小于控制机制的初始启动上限又未超过消费者记录的最大窗口尺寸,如果数据包携带的消费者拥塞窗口调整值大于或等于0且小于或等于1,拥塞窗口尺寸加1,否则拥塞窗口尺寸加上数据包携带的消费者拥塞窗口调整值;步骤5-3)如果数据包携带的拥塞状态是初始标记,且当前窗口尺寸小于控制机制的初始启动上限,但超过消费者记录的最大窗口尺寸,拥塞窗口尺寸加上1除以当前拥塞窗口尺寸的比值;步骤5-4)如果数据包携带的拥塞状态是初始标记且当前窗口尺寸大于或等于控制机制的初始启动上限,但未达到消费者端记录最大窗口尺寸,消费者端启动tcp-bic二分中值操作以增加消费者端窗口尺寸;步骤5-5)如果数据包携带的拥塞状态是初始标记,且当前窗口尺寸既大于或等于控制
机制的初始启动上限,又达到消费者端记录最大窗口尺寸,消费者端启动tcp-bic窗口探测操作以探测新的最大窗口尺寸;步骤5-6)如果数据包携带的拥塞状态是轻度拥塞标记或辅助拥塞标记,并且如果数据包携带的消费者拥塞窗口调整值大于0,则拥塞窗口尺寸不变;步骤5-7)如果数据包携带的拥塞状态是轻度拥塞标记或辅助拥塞标记,并且如果数据包携带的消费者拥塞窗口调整值小于或等于0,则拥塞窗口尺寸加上数据包携带的消费者拥塞窗口调整值;步骤5-8)如果数据包携带的拥塞状态是重度拥塞标记,则拥塞窗口尺寸乘以系数γ,并启用tcp-bic传统窗口恢复机制;步骤5-9)消费者端控制操作结束。

技术总结
本发明公开了一种基于数据包排队时延的命名数据网混合拥塞控制方法,包括路由器拥塞信息更新,首先借助主动队列管理方法,计算本地路由器的拥塞程度;路由器依据拥塞程度判别本地拥塞状态并更新数据包的拥塞信息;在路由器拥塞控制中,通过多路径转发控制实现将剩余流量依转发比例通过当前转发接口或相对次优接口转发,或通过兴趣包发送速率控制将本地拥塞程度、数据包排队延迟以及消费者拥塞窗口调整值更新至数据包内;通过消费者端控制实现网络内部拥塞前的预调控以及拥塞后的控制。本发明将消费者和路由器控制协同起来,既可以应对网络中的单路径流和多路径流,又可以通过消费者端控制实现拥塞避免和拥塞控制。者端控制实现拥塞避免和拥塞控制。者端控制实现拥塞避免和拥塞控制。


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

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

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

分享:

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

相关推荐