[发明专利]一种时延驱动的基于AQM算法的拥塞控制方法有效
申请号: | 201811135739.8 | 申请日: | 2018-09-28 |
公开(公告)号: | CN109257295B | 公开(公告)日: | 2021-11-05 |
发明(设计)人: | 江先亮;马阿曼;金光 | 申请(专利权)人: | 宁波大学 |
主分类号: | H04L12/801 | 分类号: | H04L12/801;H04L12/865;H04L12/823 |
代理公司: | 宁波奥圣专利代理有限公司 33226 | 代理人: | 方小惠 |
地址: | 315211 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 驱动 基于 aqm 算法 拥塞 控制 方法 | ||
1.一种时延驱动的基于AQM算法的拥塞控制方法,其特征在于包括以下步骤:
(1)设定参考参数:将最小排队时延记为qmin,qmin的取值大于0且小于1秒;将最大排队时延记为qmax,qmax的取值大于0且小于等于1秒,且qmax>qmin;将匹配丢包的时延阈值记为qth,qth的取值大于0且小于等于1秒;
(2)当一个数据包到达时,不让该数据包进入当前数据包队列中,令该数据包进入等待进队状态,获取当前到达的数据包的优先级权重w、当前数据包队列的长度ql、当前到达的数据包的流id以及当前数据包队列的排出速率or;
(3)将当前数据包的基本绘图因子记为d0,对d0进行初始化,使其初始值为0,然后对基本绘图因子d0进行更新,具体更新过程为:
a、将当前数据包队列的排队时延记为qd,采用公式qd=ql/or计算得到当前数据包队列的排队时延记为qd;
b、将得到的当前数据包队列的排队时延qd分别与最小排队时延qmin和最大排队时延qmax进行比较:
如果当前数据包队列的排队时延qd小于最小排队时延qmin,则采用d0-ddecr的值去更新d0的值,其中ddecr的取值大于0且小于0.1;
如果当前数据包队列的排队时延qd大于最大排队时延qmax,则采用d0+dincr的值去更新d0的值,其中dincr的取值大于0且小于0.1;
如果当前数据包队列的排队时延qd大于等于最小排队时延qmin且小于等于最大排队时延qmax,则d0的值保持不变;
(4)将当前数据包的优先绘图因子记为dt,采用公式dt=d0/w计算得到当前数据包的优先绘图因子dt;
(5)获取当前数据包的优先绘图因子dt的整数部分,将其记为m,获取当前数据包的优先绘图因子dt的小数部分,将其记为f,当dt为整数时,f为0;
(6)将当前数据包队列的排队时延qd与时延阈值qth进行比较:
如果当前数据包队列的排队时延qd小于等于时延阈值qth,则网络中没有发生拥塞,让当前到达的数据包进入数据包队列中;
如果当前数据包队列的排队时延qd大于时延阈值qth,则网络中可能发生了拥塞,按照以下步骤进行处理:
A、采用随机函数生成一个大于等于0且小于1的随机数v,设定当前挑包次数记为t,将t初始化为0,设定最大挑包次数为n,如果v小于f,则令n=m+1,如果v大于等于f,则令n=m;
B、采用t的当前值加1后的值去更新t的值;
C、进行第t次挑包,具体过程为:
C-1、随机从当前数据包队列中挑选一个数据包,并获取该数据包的流id;
C-2、将该数据包的流id与当前到达的数据包的流id进行比较:
如果该数据包的流id等于当前到达的数据包的流id,则直接将当前到达的数据包丢弃,不再进行挑选,当前到达的数据包的拥塞控制结束,等待下一数据包的到来;
如果该数据包的流id不等于当前到达的数据包的流id,则判定t的当前值是否等于n,如果t等于n,则判定网络中没有发生拥塞,让当前到达的数据包进入当前数据包队列中,当前到达的数据包的拥塞控制结束,等待下一数据包的到来;如果t不等于n,则重复步骤B和C,直至当前到达的数据包的拥塞控制结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波大学,未经宁波大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811135739.8/1.html,转载请声明来源钻瓜专利网。