[发明专利]一种时延驱动的基于AQM算法的拥塞控制方法有效
申请号: | 201811135739.8 | 申请日: | 2018-09-28 |
公开(公告)号: | CN109257295B | 公开(公告)日: | 2021-11-05 |
发明(设计)人: | 江先亮;马阿曼;金光 | 申请(专利权)人: | 宁波大学 |
主分类号: | H04L12/801 | 分类号: | H04L12/801;H04L12/865;H04L12/823 |
代理公司: | 宁波奥圣专利代理有限公司 33226 | 代理人: | 方小惠 |
地址: | 315211 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: |
本发明公开了一种时延驱动的基于AQM的拥塞控制方法,首先设定参考参数,当一个数据包到达时,令该数据包进入等待进队状态,获取当前到达的数据包的优先级权重w、当前数据包队列的长度q |
||
搜索关键词: | 一种 驱动 基于 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,直至当前到达的数据包的拥塞控制结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波大学,未经宁波大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811135739.8/,转载请声明来源钻瓜专利网。