一种基于red的网络拥塞控制算法的制作方法

文档序号:7760148阅读:862来源:国知局
专利名称:一种基于red的网络拥塞控制算法的制作方法
技术领域
本发明属于计算机网络管理技术领域,涉及网络服务质量(QoS =Quality of Service)管理中的一种网络拥塞控制算法,具体是涉及一种基于RED的网络拥塞控制算法。
背景技术
1988年美国科学家Van Jacobson等人发现了网络拥塞现象是由于链路或网络节 点承载过量数据,网络节点队列缓存被占满,导致大量数据被丢弃,服务响应延迟加大。随 着网络应用规模不断扩大,网路带宽资源需求不断攀升,有限带宽容量下网络拥塞现象频 繁发生,网络拥塞控制成为提升网络服务质量的关键因素。对于不改变网络物理结构情况 下,如何最大限度控制网络拥塞,提高有限带宽利用率,保障网络通畅已成为当前网络服务 质量管理领域的研究热点。相关网络拥塞问题阐述见参考文献[1_3]。网络中应用的拥塞控制方法主要包括端到端流量控制和路由器等网络中间节点 传输队列管理两类方法。端到端流量控制方法是通过源端对网络当前状态的探测和响应信 息调整发送分组窗口大小,抑制网络发生拥塞时源端数据发送量。这种方法不考虑网络传 输路径节点的状态,但就拥塞控制本身而言,网络中间节点对网络状态了解更及时,预测网 络拥塞发生的可能更有效。若从中间节点进行传输队列管理控制,一是能提前预测网络拥 塞状态,二是能尽早对网络拥塞实施控制。基于这两点理由,研究人员开始将部分研究注意 力转向网络中路由器等中间节点设备,并产生了网络中间节点传输队列管理的相关方法。 网络拥塞控制方法阐述见参考文献M。目前网络中间节点队列管理方法研究包括被动式队列管理(PassiveQueue Management,PQM)禾口主动式队列管理(Active Queue Management,AQM)两个方面。被动队 列管理是一种队列截尾(Droptail)管理类型,即网络数据填满队列缓存后丢弃陆续达到 数据包,其主要存在三个主要缺陷(1)满队列,队列填满后被迫丢包,其他数据无法进入 队列;(2)死锁,高突发流量瞬时占用全部队列缓存,其他类型数据无法通过;(3)TCP全局 同步,当队列同时丢弃多个TCP数据包时,使各TCP同步减少报文发送,网络吞吐量急剧下 降。为克服PQM算法存在缺陷,19世纪90年代美国网络专家Floyd等人提出了主动队列管 理(AQM),其核心思想是在队列充满之前丢包,控制队列溢出。其优势主要表现为(1)通过 提前丢包保持较小队列长度,减少数据包排队延迟,这对WEB、视频会议等要求低延迟的交 互式应用非常重要;(2)避免了“死锁”现象,确保到来的包几乎总是有可用队列空间,阻止 “死锁”行为发生,防止低带宽高突发流传输不公平性;(3)降低和避免TCP全局同步,通过 周期流量统计预测网络拥塞状态,丢弃可能引起拥塞的TCP会话数据包,保证其他TCP会话 正常的传输,有效避免网络吞吐量急剧下降的显现出现。有关基于队列管理的拥塞控制算 法见参考文献[5]。随机早期侦测(Random Early Detection,RED)算法以及其后出现的FRED、SRED、 BLUE等改进算法是AQM中主要算法,其核心思想是采用设置和调整数据包丢失概率值,使平均队列长度波动介于队列丢包上下限阀值之间,在服务延迟不受明显影响情况下避免网 络拥塞并提高网络吞吐量。这些方法将平均队列长度作为判断网络拥塞程度的特征值,通 过设置丢包概率值保持平均队列长度在保持稳定,降低因TCP全局同步引发网络抖动(网 络抖动网络分组到达率变化忽高忽低)现象的可能性。然而根据美国专家Feng W等人研 究,网络拥塞控制不仅依赖于对平均队列长度统计特性,还依赖于网络数据到达时间间隔 分布和数据尺寸大小分布,因此衡量网络拥塞标志仅凭平均队列尺寸不仅不能有效解决网 络拥塞控制问题,还容易引起网络抖动,导致网络利用率下降。此外,RED及相关改进算法 需要设置队列平均尺寸、丢包概率、队列丢包上下限阀值、数据包平均尺寸、网络平均传输 速率、网络平均传输延迟、数据传输突发量等10余项参数,并且参数设置没有明确的规则 限制和理论依据,主要靠网络管理员经验进行设置,参数值对拥塞控制算法运行效果影响 很大。RED及改进拥塞控制算法的相关缺陷见参考文献[6’7]。参考文献[1]JAC0B0NS V. Congestion avoidance and control[J]. Computer Communi cat ion Review, 1988. 18(4) :p. 314-329.[2]Floyd S, Fall K. Promoting the Use of End-to-endCongest ion Control in the Internet[J]. IEEE/ACM Transactionson Networking,1999. 7(4) :p. 458-472.[3]Allman M,Paxson V,Stevens W. TCP CongestionControl [C]. in Request For Comment 2581. April 1999.[4]季敏,张利萍.网络拥塞控制概述[J].军民两用技术与产品,2006 (8).[5]王建新,荣亮,肖雪峰.几种主动队列管理算法的仿真及性能评估[J].计算机 工程,2007 (03).[6]Feng W,Kandlur DD,Saha D & Shin KG. Blue :A new classof active queue management algorithms[R]. Technical ReportCSETR-387-99, D. o. EECS, University of Michigan,1999.[7]卢洁,张淑清,应启戛.几种网络拥塞控制算法比较分析[J].自动化仪表, 2006(05).

发明内容
本发明的目的在于针对现有RED及其衍生算法的不足,提供一种基于RED的网络 拥塞控制算法,通过对平均队列长度、网络数据到达时间间隔以及数据包尺寸3个拥塞指 标建立耦合关系,以降低RED算法配置难度、抑制网络抖动发生、并使算法能自适应网络拥 塞状态变化。本发明的目的通过以下技术方案实现。一种基于RED的网络拥塞控制算法,包括以下步骤第一步,利用对数方法对网络数据包尺寸的帕雷拖(Pareto)分布曲线进行线性 化处理,得到不同尺寸数据包在网络中出现概率的线性函数。第二步,利用泊松过程为网络数据包到达时间间隔序列建立负指数分布关系式, 幂值为数据包到达速率与时间之积;而平均队列长度的计算取决于数据包达到率和数据处 理能力,两拥塞指标计算公式均包含数据包到达速率的相同参量,通过代入消元法,得到平均队列长度与网络数据包到达时间间隔的耦合函数。第三步,利用集合映射法建立平均队列长度与数据包尺寸的耦合关系,即将队列 长度取值范围与数据包尺寸大小建立一一映射关系。队列趋近满时,对应数据包最大尺寸, 队列为空时,对应数据包最小尺寸。第四步,利用第一步所得线性函数以及第三步的映射关系计算不同平均队列长度 时各数据包尺寸出现可能的概率值,得到各尺寸数据包在不同平均队列长度时的分布概率。第五步,通过平均队列长度与实际队列缓存长度之比计算平均队列利用率,使用 平均队列利用率衡量网络拥塞状态。对不同拥塞状态进行分段处理,引入统计学中的五阶 分类法,使用微弱、轻微、中等、较重、严重5个指标划分网络拥塞状态,并将平均队列利用 率取值范围划分为5个区间,每个区间对应一种网络拥塞状态。第六步,用队列缓存使用量除以队列长度,得到当前网络平均每包数据量,即网络 流量的“浓度”,将“浓度”的取值范围划分为5个区间并与5种网络拥塞状态对应,用标尺 分隔5个区间长度。第七步,利用步骤1得到的数据尺寸分布概率的线性函数计算各区间的数据平均 尺寸的丢弃概率,然后根据步骤5得到的当前拥塞状态对相应区间内的数据包按概率进行 丢弃,即可实现增加队列可用空间,避免网络拥塞。若第六步中划分区间为定值,则当网络在一段时间内出现同样大小的数据包时, 各区间内丢弃概率不会随网络拥塞程度灵活调整。为使本算法能自适应网络拥塞状态变 化,需要算法能有效处理网络数据传输的任意性和突发性。因此,本算法还进一步包括如下 区间动态调整子程序,具体包括以下步骤(1)计算区间内网络流的浓度将溶剂定义为数据包个数,溶质定义为数据量,则 单位数据包内的平均数据量即为区间内网络流的浓度。(2)计算相对扩散强度相对扩散强度即为左右两相邻区间浓度之比,若该比值 等于1,两区间浓度一致,区间长度不调节;若小于1,划分区间长度的标尺向左移动;若大 于1,划分区间长度的标尺向右移动。(3)计算扩散速率以左右相邻两区间浓度之差除以采样周期时间,计算得到单 位时间内两区间每数据包平均尺寸的残差,即为扩散速率。(4)为计算采样周期之间标尺变化大小,用浓度值对采样周期内扩散速率进行偏 微分,其关系式是菲客定律(Fick’ s law),即浓度对时间的微分正比于浓度对标尺的二次 微分。(5)对步骤(4)得到的关系式进行积分,代入周期时间和区间内平均浓度,产生下 一周期内5个区间长度值,利用其计算不同周期各区间的动态丢弃概率,以适应不同周期 内的网络拥塞状态变化。相对于现有技术,本发明具有如下优点1、通过对网络数据尺寸分布的线性化处理,消除RED算法中数据到达率配置参 数项和突发速率参数项;通过平均队列长度与网络数据包到达时间间隔的耦合函数,消除 RED算法中队列缓存、最大队列长度、最小队列长度3个参数项;通过平均队列长度与数据 包尺寸的耦合关系,消除RED算法中平均数据包尺寸配置参数项;通过各数据包尺寸在不
5同平均队列长度时的分布概率,消除RED算法中丢弃概率参数项。通过标尺自适应计算,消 除网络带宽参数设置项。将RED算法原有的10个配置参数项目削减为2个,显著降低配置难度。2、在相同网络场景下,本算法拥塞控制下平均队列缓存利用率高出RED衍生算法 约25个百分点。在相同数据量引起的网络拥塞情况下,网卡队列长度为100时,本算法每 秒丢包数量比RED衍生算法减少14个,即丢包率降低14个百分点。3、通过本算法对网络拥塞状态自适应处理,能对流经网络节点的不同尺寸数据进 行统计,当网络趋近拥塞时,能对5个区间内的数据包出现概率的不同进行选择性丢弃,即 当网络发生轻微拥塞,只轻微丢弃小数据包,随着拥塞程度的不断增加,逐渐提高对大数据 包的丢弃。这种方法不仅提高了对网络拥塞的控制效果,而且根据拥塞程度依数据尺寸随 机渐进的方式丢弃数据包,避免TCP超时重发引起数据到达率忽大忽小,有效抑制网络抖 动现象的发生。


图1为本发明网络拥塞控制算法的设计流程图;图2为拥塞控制设计原理图;图3为算法拥塞状态自适应原理图;图4为测试网路仿真拓扑图;图5 图9为本发明算法与RED衍生算法测试比较图,黑色曲线为本发明算法,灰 色曲线为RED衍生类算法,其中图5为算法平均队列利用率比较图,黑色曲线为本发明算法控制下平均队列利用 率,灰色曲线为RED衍生类算法控制下平均队列利用率,坐标横轴为仿真的50秒时间长度 (单位秒),竖轴均为瓶颈节点缓存中队列长度(单位包个数);图6为算法丢弃率比较图,坐标横轴均为仿真的50秒时间长度(单位秒),竖轴 均为丢弃数据包个数(单位数据包数);图7为测试节点3数据源TCP拥塞窗口对比图,坐标横轴为仿真的50秒时间长度 (单位秒),竖轴均为拥塞窗口尺寸(单位1个数据段,每数据段512字节);图8为测试节点2数据源TCP拥塞窗口对比图,坐标横轴均仿真的50秒时间长度 (单位秒),竖轴均为拥塞窗口尺寸(单位1个数据段,每数据段512字节);图9为测试节点1数据源TCP拥塞窗口对比图,坐标横轴为仿真的50秒时间长度 (单位秒),竖轴均为拥塞窗口尺寸(单位1个数据段,每数据段512字节)。
具体实施例方式下面结合附图和实施例对本发明作进一步地详细说明,但它们不是对本发明的限定。实施例1术语解释Stiny,Ssmall, Smid,Sbig,Sgiant分别表示网络中数据包最大尺寸的5个数值浓度测度。Ptiny,Psmall, Pmid,Pbig,Pgiant分别表示各区间内数据尺寸出现的Pareto分布概率。
Pdisrarf表示数据各区间内包丢弃概率。Queue_Buf_LEN表示队列缓冲区长度。Queue(utilizntion)表示统计平均队列利用率。ζ表示网络流量的浓度值。η表示相对扩散强度。&⑶表示扩散速率。CntBytefeum)表示在一个周期T内流经队列的数据总容量。CntPacketfeum)表示一个周期T内流经队列的数据总数量。CntBytew和CntPacke、)表示分别前一周期流经i区间的数据容量和数据数量。本发明的拥塞控制算法流程如图1所示。1、进行网络数据线性化处理,利用对数方法对网络数据包尺寸的帕雷拖(Pareto) 分布曲线进行线性化处理,得到不同尺寸数据包在网络中出现概率的线性函数
权利要求
一种基于RED的网络拥塞控制算法,包括以下步骤第一步,利用对数方法对网络数据包尺寸的帕雷拖(Pareto)分布曲线进行线性化处理,得到不同尺寸数据包在网络中出现概率的线性函数;第二步,利用泊松过程为网络数据包到达时间间隔序列建立负指数分布关系式,幂值为数据包到达速率与时间之积;而平均队列长度的计算取决于数据包达到率和数据处理能力,两拥塞指标计算公式均包含数据包到达速率的相同参量,通过代入消元法,得到平均队列长度与网络数据包到达时间间隔的耦合函数;第三步,利用集合映射法建立平均队列长度与数据包尺寸的耦合关系,即将队列长度取值范围与数据包尺寸大小建立一一映射关系;队列趋近满时,对应数据包最大尺寸,队列为空时,对应数据包最小尺寸;第四步,利用第一步所得线性函数以及第三步的映射关系计算不同平均队列长度时各数据包尺寸出现可能的概率值,得到各尺寸数据包在不同平均队列长度时的分布概率;第五步,通过平均队列长度与实际队列缓存长度之比计算平均队列利用率,使用平均队列利用率衡量网络拥塞状态;对不同拥塞状态进行分段处理,引入统计学中的五阶分类法,使用微弱、轻微、中等、较重、严重5个指标划分网络拥塞状态,并将平均队列利用率取值范围划分为5个区间,每个区间对应一种网络拥塞状态;第六步,用队列缓存使用量除以队列长度,得到当前网络平均每包数据量,即网络流量的“浓度”,将“浓度”的取值范围划分为5个区间并与5种网络拥塞状态对应,用标尺分隔5个区间长度;第七步,利用步骤1得到的数据尺寸分布概率的线性函数计算各区间的数据平均尺寸的丢弃概率,然后根据步骤5得到的当前拥塞状态对相应区间内的数据包按概率进行丢弃,即可实现增加队列可用空间,避免网络拥塞。
2.根据权利要求1所述的基于RED的网络拥塞控制算法,其特征在于还进一步包括 如下区间动态调整子程序,具体包括以下步骤(1)计算区间内网络流的浓度将溶剂定义为数据包个数,溶质定义为数据量,则单位 数据包内的平均数据量即为区间内网络流的浓度;(2)计算相对扩散强度相对扩散强度即为左右两相邻区间浓度之比,若该比值等于 1,两区间浓度一致,区间长度不调节;若小于1,划分区间长度的标尺向左移动;若大于1, 划分区间长度的标尺向右移动;(3)计算扩散速率以左右相邻两区间浓度之差除以采样周期时间,计算得到单位时 间内两区间每数据包平均尺寸的残差,即为扩散速率;(4)为计算采样周期之间标尺变化大小,用浓度值对采样周期内扩散速率进行偏微分, 其关系式是菲客定律(Fick’ s law),即浓度对时间的微分正比于浓度对标尺的二次微分;(5)对步骤(4)得到的关系式进行积分,代入周期时间和区间内平均浓度,产生下一周 期内5个区间长度值,利用其计算不同周期各区间的动态丢弃概率,以适应不同周期内的 网络拥塞状态变化。
全文摘要
本发明公开了一种基于RED的网络拥塞控制算法。引入统计学中的五阶分类法对不同拥塞状态进行分段处理,使用微弱、轻微、中等、较重、严重5个指标划分网络拥塞状态,将平均队列利用率划分为5个区间,每个区间对应一种网络拥塞状态。再利用数据尺寸分布概率的线性函数计算各区间的数据平均尺寸的丢弃概率。最后根据当前拥塞状态对相应区间内的数据包按概率进行丢弃,即可实现增加队列可用空间,避免网络拥塞。本发明将现有算法原有的10个配置参数项目削减为2个,显著降低配置难度。在相同网络场景下,其平均队列缓存利用率高出RED衍生算法约25个百分点。该算法不仅提高了网络拥塞控制效果,而且能根据拥塞程度灵活调整丢包数量,有效抑制了网络抖动现象的发生。
文档编号H04L12/24GK101958833SQ20101028678
公开日2011年1月26日 申请日期2010年9月20日 优先权日2010年9月20日
发明者刘薇, 卢泓州, 吴斌, 尚朝秋, 李俊, 李鑫, 杜军, 王立新, 诸开梅, 谭鹏, 邓艺, 邬平, 马继涛, 黄红伟 申请人:云南省科学技术情报研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1