[发明专利]一种基于改进的WRED的拥塞控制方法和装置在审
申请号: | 201410723738.0 | 申请日: | 2014-12-03 |
公开(公告)号: | CN105721332A | 公开(公告)日: | 2016-06-29 |
发明(设计)人: | 于克东;仲建锋;王志忠;刘衡祁 | 申请(专利权)人: | 深圳市中兴微电子技术有限公司 |
主分类号: | H04L12/823 | 分类号: | H04L12/823 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 蒋雅洁;张振伟 |
地址: | 518085 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 改进 wred 拥塞 控制 方法 装置 | ||
技术领域
本发明涉及网络传输控制领域,具体涉及一种基于改进的WRED的拥塞控制方法和装置。
背景技术
网络拥塞容易造成延迟和吞吐量等服务质量(QoS,QualityofService)性能指标下降,是影响带宽、系统缓存等资源利用率的关键因素。因此,有效的拥塞避免机制对于提高路由器性能具有重要意义。
加权随机早期检测(WRED,WeightedRandomEarlyDetection)算法是现有拥塞避免机制中常用的一种丢弃算法。WRED算法的计算过程主要包括:平均队列深度计算、WRED丢弃概率的计算和WRED丢弃判断,其丢弃曲线如图1所示。图1中,横轴avg_q_length表示队列准备丢弃数据包前队列当前的平均队列深度,该参数反映出队列深度的变化趋势;纵轴P表示丢弃概率,其反映出数据包被丢弃的可能性;min_th表示平均队列深度最小门限;max_th表示平均队列深度最大门限;maxP表示最大丢弃概率;其中,min_th、max_th和maxP的取值可根据需要进行设置。从图1可以看出,丢弃数据包的可能性随着平均队列深度向最大门限max_th靠近而不断上升。当平均队列深度达到最大门限max_th时,数据包丢弃概率达到设置的最大丢弃概率maxP。当平均队列深度超过最大门限max_th时,所有其它试图进入队列的数据包都被丢弃;因此,在实际应用中可以调节min_th和max_th的取值来增大或降低丢包程度;而从图1可以看出maxP的取值是与min_th和max_th的取值直接相关的,也就是说,确定了min_th和max_th的取值则maP的值也就确定了;实际中min_th和max_th的取值与传输的数据包的业务类型相关,例如,电信业务、上网业务、视频传输业务等等,不同的业务对丢包的容忍程度不同,对于丢包容忍程度低的业务来说,可以将max_th设置的相对较小;对于丢包容忍程度高的业务来说,可以将max_th的值设置的相对大些。
WRED算法在拥塞控制中的处理流程如图2所示,主要包括以下处理步骤:
S201:计算平均队列深度;
数据包进入拥塞控制系统时,首先进行平均队列深度的计算。平均队列深度能够从总体变化趋势上反映真实的队列深度,同时可以平滑掉流量突发,不会因为偶尔的流速升高或降低而引起对流量总体情况判定的改变。平均队列深度的计算公式为Avg=Avg’+Wq(Q_length-Avg’)。其中,Avg’为上次计算的队列的平均深度,由于在WRED算法中每接收到一个数据包需要需要判断将该数据包加入队列或丢弃,因此,当将数据包加入队列时,队列的深度将发生变化,因此,该参数反映出从接收到第一个数据包到上一次接收到数据包时,队列深度的变化趋势;当接收到第一个数据包时,Avg’的取值为0,并计算出当前的平均队列深度,之后,当接收到第二个数据包时,根据上一次计算出的队列深度、当前队列深度以及权重值Wq确定出当前的平均队列深度,以此类推,不断循环迭代;Q_length为当前队列深度,也就是,接收到数据包时,当前队列的深度;Wq为计算权重,Avg为当前队列的平均深度。
步骤S202:判断平均队列深度是否满足丢弃条件;
具体的,若平均队列深度大于等于预先设置的平均深度最大门限max_th,则确定该数据包满足丢弃条件,直接转至步骤S206,丢弃当前数据包;若不满足,则转步骤S203继续处理。
步骤S203:判断平均队列深度是否满足入队条件;
也就是判断当前的平均队列深度是否满足将该数据包直接加入数据包队列的条件;具体的,当平均队列深度小于平均数据包深度的最小门限min_th时,可以确定该数据包满足直接加入数据包队列的条件,则转至步骤S207,将该数据包直接入队;当该平均队列深度不满足入队条件时,即,当前平均队列深度属于[min_th,max_th]区间范围内时,转至步骤S204继续执行。
步骤S204:计算丢弃概率;
具体的,根据当前数据包的长度和平均队列深度计算该数据包的丢弃概率P。
步骤205:判断丢弃概率是否大于R;
确定当前数据包的丢弃概率之后,将所确定的丢弃概率和系统生成的R[0,1]区间内的随机数R进行比较;若丢弃概率大于R,则转至步骤S206直接丢弃该数据包;若丢弃概率小于等于R,则转至步骤S207,将该数据包加入队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市中兴微电子技术有限公司,未经深圳市中兴微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410723738.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据传输装置及方法
- 下一篇:一种VRRP负载均衡的方法、装置和路由器