CN101958833A - 一种基于red的网络拥塞控制算法 - Google Patents

一种基于red的网络拥塞控制算法 Download PDF

Info

Publication number
CN101958833A
CN101958833A CN2010102867855A CN201010286785A CN101958833A CN 101958833 A CN101958833 A CN 101958833A CN 2010102867855 A CN2010102867855 A CN 2010102867855A CN 201010286785 A CN201010286785 A CN 201010286785A CN 101958833 A CN101958833 A CN 101958833A
Authority
CN
China
Prior art keywords
network
interval
packet
data
concentration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010102867855A
Other languages
English (en)
Other versions
CN101958833B (zh
Inventor
邬平
吴斌
王立新
马继涛
诸开梅
尚朝秋
黄红伟
谭鹏
李俊
杜军
李鑫
邓艺
卢泓州
刘薇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yunnan Academy Of Scientific & Technical Information
Original Assignee
Yunnan Academy Of Scientific & Technical Information
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yunnan Academy Of Scientific & Technical Information filed Critical Yunnan Academy Of Scientific & Technical Information
Priority to CN2010102867855A priority Critical patent/CN101958833B/zh
Publication of CN101958833A publication Critical patent/CN101958833A/zh
Application granted granted Critical
Publication of CN101958833B publication Critical patent/CN101958833B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于RED的网络拥塞控制算法。引入统计学中的五阶分类法对不同拥塞状态进行分段处理,使用微弱、轻微、中等、较重、严重5个指标划分网络拥塞状态,将平均队列利用率划分为5个区间,每个区间对应一种网络拥塞状态。再利用数据尺寸分布概率的线性函数计算各区间的数据平均尺寸的丢弃概率。最后根据当前拥塞状态对相应区间内的数据包按概率进行丢弃,即可实现增加队列可用空间,避免网络拥塞。本发明将现有算法原有的10个配置参数项目削减为2个,显著降低配置难度。在相同网络场景下,其平均队列缓存利用率高出RED衍生算法约25个百分点。该算法不仅提高了网络拥塞控制效果,而且能根据拥塞程度灵活调整丢包数量,有效抑制了网络抖动现象的发生。

Description

一种基于RED的网络拥塞控制算法
技术领域
本发明属于计算机网络管理技术领域,涉及网络服务质量(QoS:Quality of Service)管理中的一种网络拥塞控制算法,具体是涉及一种基于RED的网络拥塞控制算法。
背景技术
1988年美国科学家Van Jacobson等人发现了网络拥塞现象是由于链路或网络节点承载过量数据,网络节点队列缓存被占满,导致大量数据被丢弃,服务响应延迟加大。随着网络应用规模不断扩大,网路带宽资源需求不断攀升,有限带宽容量下网络拥塞现象频繁发生,网络拥塞控制成为提升网络服务质量的关键因素。对于不改变网络物理结构情况下,如何最大限度控制网络拥塞,提高有限带宽利用率,保障网络通畅已成为当前网络服务质量管理领域的研究热点。相关网络拥塞问题阐述见参考文献[1-3]
网络中应用的拥塞控制方法主要包括端到端流量控制和路由器等网络中间节点传输队列管理两类方法。端到端流量控制方法是通过源端对网络当前状态的探测和响应信息调整发送分组窗口大小,抑制网络发生拥塞时源端数据发送量。这种方法不考虑网络传输路径节点的状态,但就拥塞控制本身而言,网络中间节点对网络状态了解更及时,预测网络拥塞发生的可能更有效。若从中间节点进行传输队列管理控制,一是能提前预测网络拥塞状态,二是能尽早对网络拥塞实施控制。基于这两点理由,研究人员开始将部分研究注意力转向网络中路由器等中间节点设备,并产生了网络中间节点传输队列管理的相关方法。网络拥塞控制方法阐述见参考文献[4]
目前网络中间节点队列管理方法研究包括被动式队列管理(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]JACOBONS 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算法中平均数据包尺寸配置参数项;通过各数据包尺寸在不同平均队列长度时的分布概率,消除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分布概率。
Pdiscard表示数据各区间内包丢弃概率。
Queue_Buf_LEN表示队列缓冲区长度。
Queue(utilizntion)表示统计平均队列利用率。
ζ表示网络流量的浓度值。
η表示相对扩散强度。
Figure BSA00000276546600091
表示扩散速率。
CntByte(sum)表示在一个周期T内流经队列的数据总容量。
CntPacket(sum)表示一个周期T内流经队列的数据总数量。
CntByte(i)和CntPacket(i)表示分别前一周期流经i区间的数据容量和数据数量。
本发明的拥塞控制算法流程如图1所示。
1、进行网络数据线性化处理,利用对数方法对网络数据包尺寸的帕雷拖(Pareto)分布曲线进行线性化处理,得到不同尺寸数据包在网络中出现概率的线性函数:
P ( X > x ) = 1 - ( x x m ) - k ⇒
1 - P ( X > x ) = ( X x m ) - k ⇒
F ( X ) = ln ( 1 - P ( X > x ) ) = ln ( P ( x > X ) ) = - k ( ln ( x m ) - ln ( X ) )
X∈[xm;xmax)、xm>0、k>0,xm表示为网络中最小数据分包尺寸,xmax表示网络中最大数据分包尺寸(以太网为例,最大数据分包xmax为1514字节),可以根据实际网络应用预估最小数据分包和最大分包值,参数k则是Pareto概率分布曲线的整形参数,k值越大,则数据包丢弃概率越大。
2、执行队列长度耦合数据到达序列操作,利用泊松过程为网络数据包到达时间间隔序列建立负指数分布关系式,幂值为数据包到达速率与时间之积;而平均队列长度的计算取决于数据包达到率和数据处理能力,两拥塞指标计算公式均包含数据包到达速率的相同参量,通过代入消元法,得到平均队列长度与网络数据包到达时间间隔的耦合函数。根据泊松流特性,数据包达到时间间隔序列为负指数分布:
F(t)=1-e(-λ1),t≥0
λ为数据到达率,t为时长;
平均队列长度为到达速率与处理速度之比:
Q avg = E ( N ( t ) ) = ρ 1 - ρ = λ / μ 1 - λ / μ = λ μ - λ
代入消元后耦合方程:
Q avg μ 1 + Q avg = - ln ( 1 - F ( t ) ) t ⇒
Q avg = - ln ( 1 - F ( t ) ) μt + ln ( 1 - F ( t ) )
3、使平均队列长度耦合数据尺寸,将队列长度取值范围与数据包尺寸大小建立一一映射关系;队列趋近满时,对应数据包最大尺寸,队列为空时,对应数据包最小尺寸:
Q avg = - ln ( 1 - F ( t ) ) μt + ln ( 1 - F ( t ) ) ⇔ F ( X ) = - k ( ln ( x in ) - ln ( X ) )
4、计算数据尺寸分布概率,利用第一步所得线性函数以及第三步的映射关系计算不同平均队列长度时各数据包尺寸出现可能的概率值,得到各尺寸数据包在不同平均队列长度时的出现概率:
Psize(Qavg)=1-eF(X)
5、设置网络拥塞状态,使用微弱、轻微、中等、较重、严重5种状态反映网络拥塞程度,并将平均队列利用率取值范围均分为5个区间,当平均队列利用率在不同区间时,网络拥塞程度不同。
6、划分浓度区间,设置[Stiny,Ssmall,Smid,Sbig,Sgiant]5个数据容量值作为不同浓度区间划分标尺。
7、计算数据包概率丢弃值,并根据拥塞状态执行数据丢弃操作。首先利用第二步中所得平均队列长度Qavg的计算结果除以队列缓存长度计算队列利用率:
Queue ( utilizatio n ) = Q avg Queue _ Buf _ LEN
其次,对数据尺寸的分布概率进行归一化处理,即Psize/Psize_max。将区间内数据尺寸出现概率与平均队列长度相乘,计算区间内数据丢弃概率:
p discard = P size P size _ max × Queu e ( utilizatio n )
最后,根据概率值对队列中不同容量的数据包所对应的浓度区间执行随机概率数据丢弃操作。各区间按照不同概率随机丢弃区间内数据包,提高队列数据容纳能力,实现网络拥塞控制。
依据拥塞控制设计原理图2,本发明的拥塞控制设计原理描述如下:
1、当标尺小于Stiny时,系统对此类数据包的处理几乎不占用时间,可做近似处理。设其概率为P0=δΔt,丢弃概率无穷小,即X<Stiny时,数据包不计入传输队列。
2、当平均队列利用率低于20%时(拥塞状态:微弱),大于Stiny标尺的浓度区间内数据概率丢弃计算如下:
Queue ( utilizatio n ) = Q avg Queue _ Buf _ LEN < = 20 % p tiny _ max = 1 - ( S tiny S small ) k p tiny = 1 - ( S tiny X ) k , S tiny &le; X < S small p discard = P tiny P tiny _ max &times; Queue ( utilizatio n )
3、当平均队列利用率介于20%与40%之间(拥塞状态:轻微),大于Ssmall标尺的浓度区间内数据概率丢弃动态计算,小于Stiny标尺的浓度区间按定值丢弃概率处理,浓度区间内计算公式如下:
Queue ( utilizatio n ) = Q avg Queue _ Buf _ LEN < = 40 % p small _ max = 1 - ( S small S mid ) k p small = 1 - ( S small X ) , S small &le; X < S mid p discard = ( p tiny _ max + P small P small _ max ) &times; Queue ( utilizatio n )
(4)当平均队列利用率介于40%与60%之间(拥塞状态:中等),大于Smid标尺的浓度区间内数据概率丢弃动态计算,小于Stiny,Ssmall标尺的浓度区间按定值丢弃概率处理,计算公式如下:
Queue ( utilizatio n ) = Q avg Queue _ Buf _ LEN < = 60 % p mid _ max = 1 - ( S mid S big ) k p mid = 1 - ( S mid X ) , S mid &le; X < S big p discard = ( p tiny _ max + p small _ max + p mid p mid _ max ) &times; Queue ( utiliaztio n )
(5)当平均队列利用率介于60%与80%之间(拥塞状态:较重),大于Sbig标尺的浓度区间内数据概率丢弃动态计算,小于Stiny,Ssmall,Smid标尺的浓度区间按定值丢弃概率处理,计算公式如下:
Queue ( utilizatio n ) = Q avg Queue _ Buf _ LEN < = 80 % p big _ max = 1 - ( S big S ga int ) k p big = 1 - ( S big X ) , S big &le; X < S ga int p discard = ( p tiny _ max + p small _ max + p mid _ max + p big p big _ max ) &times; Queue ( utiliaztio n )
(6)当平均队列利用率超过80%(拥塞状态:严重),大于Sgiant标尺的浓度区间内数据概率丢弃动态计算,小于Stiny,Ssmall,Smid,Sbig标尺的浓度区间按定值丢弃概率处理,计算公式如下:
Queue ( utilization ) = Q avg Queue _ Buf _ LEN < = 99 % p ga int _ max = 1 - ( S ga int X max ) k p ga int = 1 - ( S ga int X ) , S ga int &le; X < S max p discard = ( p tiny _ max + p small _ max + p mid _ max + p big _ max + p ga int p ga int _ max ) &times; Queue ( utiliaztion )
通过计算不同浓度区间内的数据丢弃概率,并根据拥塞状态按概率值对不同尺寸数据包执行随机丢弃,保持传输队列具有冗余的可用空间,有效提供正常的传输服务。此外,将队列中各种数据包尺寸值赋予不同丢弃概率,可以有效丢弃某一数据源过量的数据包,有效降低数据源数据发送率,保证其他TCP会话的正常传输,从而抑制网络抖动的发生。
实施例2
重复实施例1,有以下不同点:通过计算区间内网络流的浓度、相对扩散强度和扩散速率数值,用计算所得浓度值对采样周期内扩散速率进行偏微分,得到采样周期之间标尺的变化大小,并利用计算结果自动调整标尺。利用这种方法可计算不同周期各区间的动态丢弃概率,以适应不同周期内的网络拥塞状态变化。
算法适应网络拥塞状态是对本发明第六步的优化子程序,使算法能有效处理网络数据传输的任意性和突发性,自适应设计原理如图3所示,具体实现描述如下:
(1)利用扩散现象的菲克定律可知,物质量具有高浓度区间向低浓度区间扩散的稳态性质,最后各区间内浓度分布趋于稳定均匀平衡状态,在统计平衡状态下P{ζi|i=1,2,3,4,5}中随机变量两两之比趋近或接近1,我们约定变量字母η衡量P{ζi|i=1,2,3,4,5}的两两比值。
&eta; = &xi; i &xi; i + 1 = 1 &PlusMinus; &Delta;&delta; > > 1 , or < < 1 , i = 1,2,3,4,5
η用于衡量不同区间内浓度的比率,称为“相对扩散强度”,Δδ为高阶无穷小量,表示扩散误差的容许范围,>>1,or<<1表示远大于1值或远小于1值。只有当扩散强度η远大于1值或远小于1值,需要调整标尺Stiny~Sgiant
(2)当η在1值附近摆动时,我们称ζi与ζj期望浓度等同分布;若η>>1,ζi期望浓度大于ζj期望浓度,将发生从ζi到ζj的扩散行为,记为:φ=ζi→ζj;若η<<1,ζi期望浓度小于ζj期望浓度,将发生从ζj到ζi的扩散行为,记为:φ′=ζ.i←ζj。
为计算标尺Stiny~Sgiant周期变化量,两相邻区间标尺调整的规则定义如下:
(a)当i=1,j=2且φ存在时,则将Sx沿横坐标向左移动至Sx’,才能使两间隔区间期望浓度近似相等,记为:Δl=Sx-Sx’。
(b)当i=1,j=2且φ′存在时,则将Sx沿横坐标向右移动至Sx’,才能使两间隔区间期望浓度近似相等,记为:Δl=-Sx+Sx’。
(c)当i=1,j=2时,φ与φ′都不存在,则Sx值不移动,则Δl=0。
若Sx划分的两个区间期望浓度不等同分布,需要循环步进调节使η位于1值附近。
(3)传输队列中的数据在较短时间间隔内近似为平稳过程,各区间浓度在一个采样周期T时间内的相对扩散强度不随时间变化而改变,即扩散趋向不变和扩散速率均匀,我们约定:
v &RightArrow; ( i , i + 1 ) = &Delta;l &eta;T , i = 1,2,3,4,5 ( bppps )
为相临区间统计平均扩散速率,物理意义为网络统计平衡状态下,每一数据包体积(packet)下扩散的数据量(bytes)。
(4)数据采样周期间,Sx为nT≤t≤(n+1)T时刻的移动位置,其状态方程如下:
(a)当t=(n+1)T时,新标尺的移动应使统计数据包数量平均分布于各区间内,周期内扩散引起数据包流动数量状态方程如下:
S small ( t ) - S small ( nT ) = v &RightArrow; t
(b)根据统计平均扩散速率定律,邻接区间扩散浓度计算公式定义如下:
&Delta;m = Q avg [ ( n + 1 ) T ] 5 = | S small [ ( n + 1 ) T ] - S small ( nT ) v &RightArrow; T |
其中
Figure BSA00000276546600154
等于扩散速率,计算公式如下:
v &RightArrow; ( i , i + 1 ) = ( CntByte ( i ) ( nT ) CntPacket ( i ) ( nT ) - CntByte ( sum ) [ ( n + 1 ) T ] CntPacket ( sum ) [ ( n + 1 ) T ] ) / T ( bppps )
(c)图3中区间1和区间5边界只有一个边壁会发生浓度扩散效应,而区间2-4是由于区间1和5以及平均队列动态变化产生的结果,若求得Ssamll和Sgiant的状态方程,可递推Smid和Sbig状态方程。结合拥塞控制计算公式及扩散公式可推导出区间1和区间5的标尺状态方程:
S small [ ( n + 1 ) T ] = S small ( nT ) + Q avg [ ( n + 1 ) T ] 5
&times; ( CntByte ( 1 ) ( nT ) CntPacket ( 1 ) ( nT ) - CntByte ( sum ) [ ( n + 1 ) T ] CntPacket ( sum ) [ ( n + 1 ) T ] )
S ga int [ ( n + 1 ) T ] = S ga int ( nT ) + Q avg [ ( n + 1 ) T ] 5
&times; ( - CntByte ( 5 ) ( nT ) CntPacket ( 5 ) ( nT ) + CntByte ( sum ) [ ( n + 1 ) T ] CntPacket ( sum ) [ ( n + 1 ) T ] )
区间2、3和4两侧都彼此邻接两个标尺,根据标尺Ssmall和Sgiant的状态方程,可逐步推导区间3标尺的状态方程。
区间2两侧扩散速率分别为
Figure BSA00000276546600165
Figure BSA00000276546600166
而区间4两侧扩散那速率分别为
Figure BSA00000276546600167
Figure BSA00000276546600168
则在一个采样周期内两区间扩散速率分别为:
Figure BSA000002765466001610
利用浓度扩散计算公式可得Smid和Sbig状态方程:
S mid [ ( n + 1 ) T ] = S mid ( nT ) + Q avg [ ( n + 1 ) T ] 5
&times; ( CntByte ( 2 ) ( nT ) + CntByte ( sum ) ( nT ) - CntByte ( 1 ) ( nT ) CntPacket ( 2 ) ( nT ) + CntPacket ( sum ) ( nT ) - CntPacket ( 1 ) ( nT )
- CntByte ( sum ) [ ( n + 1 ) T ] CntPacket ( sum ) [ ( n + 1 ) T ] )
S big [ ( n + 1 ) T ] = S big ( nT ) + Q avg [ ( n + 1 ) T ] 5
&times; ( CntByte ( 4 ) ( nT ) - CntByte ( sum ) ( nT ) + CntByte ( 5 ) ( nT ) CntPacket ( 4 ) ( nT ) - CntPacket ( sum ) ( nT ) + CntPacket ( 5 ) ( nT )
- CntByte ( sum ) [ ( n + 1 ) T ] CntPacket ( sum ) [ ( n + 1 ) T ] )
利用浓度扩散公式推算周期间标尺自适应公式,实现了算法根据网络拥塞状态自动调整浓度区间标尺的功能。
应用实施例1
对实施例2所述的网络拥塞控制算法与现有的RED算法进行对比测试,采用了基于NS-2仿真平台,测试网络拓扑如图4所示。网络拓扑模型采用s(1)、s(2)、s(3)三个数据发送源节点,数据发送目地节点为n3。三个源节点与瓶颈节点的链路容量均为10M,传输延迟1ms;瓶颈节点与目地节点链路容量为2M,传输延迟为10ms。瓶颈节点队列长度100包,三个数据发送源在0到7秒之间随机发送数据,协议采用TCP协议簇的FTP应用,TCP数据尺寸大小为552字节,整个网络仿真时长为50秒。
图5可以明显看出从仿真5秒处开始,RED和本发明的网络拥塞控制算法均进入稳定的震荡期间,RED的平均队列介于20-80之间,本发明的网络拥塞控制算法平均队列介于50-100之间。本发明算法振幅频率较RED稳定,说明在相同仿真时段发送等量随机的数据,本发明的网络拥塞控制算法平均队列稳定于数值75,而RED则在数值50之间上下抖动,由此近似估计:
本发明算法队列利用率:
Figure BSA00000276546600171
RED队列利用率:
Figure BSA00000276546600172
在相同仿真网络结构中,相同数据发送量的情况下,本发明的网络拥塞控制算法队列利用率比RED队列利用高出50%,因此统计平均状态下,本发明的网络拥塞控制算法队列中数据比RED队列传输数据量多,在相同的网络拥塞情况下,本发明的网络拥塞控制算法具有较高的吞吐能力。
图6是网络拥塞控制算法的数据丢弃比较图,网络在开始期间数据量发送较大,数据快速涌入瓶颈节点,引起队列数据迅速增加,导致队列溢出,此刻拥塞控制算法均需要一段延迟时间才能进入正常运转,因此在0-5秒间RED与本发明的网络拥塞控制算法包丢弃数据呈指数级增加,数据包累积丢弃数量均达到4000个数据包。
从5秒开始,本发明的网络拥塞控制算法和RED算法均进入拥塞控制的运行状态,截至仿真结束时,采用本发明算法控制的丢包增量约为800,而采用RED算法控制的丢包增量约为1400,是GLOM算法的1.75倍。在算法控制拥塞的45秒内,RED的丢弃率是GLOM的1.75倍,若按1分钟计算,RED每分钟丢弃率是GLOM的2.3倍。在相同的网络拥塞情况下,本发明的网络拥塞控制算法具有较低的数据丢弃率,减少数据源端超时重发次数,降低网络抖动发生的机率。
拥塞窗口(cwnd)是TCP拥塞控制的关键参数,描述源端在拥塞控制情况下一次最多能发送的数据包的数量。拥塞窗口反映数据到达瓶颈节点时,节点拥塞程度。图7~图9显示在在相同的网络拥塞情况下,本发明的网络拥塞控制算法和RED控制下,三个数据源节点TCP拥塞窗口对比图性能,观察Node1、Node2和Node3三个数据源节点TCP拥塞窗口,RED控制下的拥塞窗口曲线较本发明的网络拥塞控制算法控制下拥塞窗口的起伏波动较大,振荡不均匀,拥塞程度介于一个定域空间,数据源AIMD发送不均匀,容易引发网络抖动,导致吞吐量下降。本发明的网络拥塞控制算法在一个区间中均匀振荡,说明队列拥塞程度控制在一定值上下微动,保证数据以均匀的慢增快减机制(AIMD:Addition Increase and MultipleDecrease)方式发送数据,有效减少TCP超时重发而引发的网络抖动现象。此外,通过三个数据源不均匀的数据发送方式,使网络拥塞状态不断变化,而TCP拥塞窗口的平稳变化说明本发明算法能有效的适应网络拥塞状态变化。
通过实验结果,本发明的网络拥塞控制算法执行网络拥塞控制的同时有效提高网络吞吐量,并能抑制网络抖动发生以及自适应网络拥塞状态变化。

Claims (2)

1.一种基于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个区间长度值,利用其计算不同周期各区间的动态丢弃概率,以适应不同周期内的网络拥塞状态变化。
CN2010102867855A 2010-09-20 2010-09-20 一种基于随机早期侦测red的网络拥塞控制方法 Expired - Fee Related CN101958833B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102867855A CN101958833B (zh) 2010-09-20 2010-09-20 一种基于随机早期侦测red的网络拥塞控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102867855A CN101958833B (zh) 2010-09-20 2010-09-20 一种基于随机早期侦测red的网络拥塞控制方法

Publications (2)

Publication Number Publication Date
CN101958833A true CN101958833A (zh) 2011-01-26
CN101958833B CN101958833B (zh) 2012-01-25

Family

ID=43485951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102867855A Expired - Fee Related CN101958833B (zh) 2010-09-20 2010-09-20 一种基于随机早期侦测red的网络拥塞控制方法

Country Status (1)

Country Link
CN (1) CN101958833B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325082A (zh) * 2011-07-19 2012-01-18 天津理工大学 一种面向游牧应用的网络拥塞控制方法
CN102833159A (zh) * 2012-08-16 2012-12-19 中兴通讯股份有限公司 报文拥塞处理方法及装置
CN104488239A (zh) * 2012-05-18 2015-04-01 阿尔卡特朗讯公司 用于实现可变瓶颈速率的主动队列管理增强的系统和方法
CN104639458A (zh) * 2015-01-30 2015-05-20 南京邮电大学 一种应用于实时流传输的主动队列管理方法
CN104994031A (zh) * 2015-07-13 2015-10-21 天津理工大学 一种主动队列自适应管理方法asred
CN103999409B (zh) * 2011-10-04 2017-02-15 香港中文大学 用于带宽变化移动数据网络的链路缓冲器大小和队列长度估算的方法
CN106487609A (zh) * 2016-08-30 2017-03-08 惠州学院 一种数据链路弹性处理方法和装置
CN106685848A (zh) * 2015-11-10 2017-05-17 中兴通讯股份有限公司 报文丢弃方法及装置
WO2017088582A1 (zh) * 2015-11-23 2017-06-01 深圳市中兴微电子技术有限公司 一种网络拥塞控制方法和装置、存储介质
CN108092748A (zh) * 2016-11-21 2018-05-29 中国移动通信有限公司研究院 一种进行反馈的方法和接入层设备
CN108632270A (zh) * 2018-05-03 2018-10-09 河海大学常州校区 基于软件定义网络的防低速率TCP DoS攻击方法
CN108881047A (zh) * 2018-08-01 2018-11-23 中国联合网络通信集团有限公司 网络扩容判别的方法及装置
CN109684182A (zh) * 2018-12-06 2019-04-26 中国联合网络通信集团有限公司 一种预测网络拥塞对网络质量影响的方法和装置
CN110391956A (zh) * 2019-07-23 2019-10-29 中国工商银行股份有限公司 网络服务进程状态的识别监控方法及装置
CN112737964A (zh) * 2020-12-25 2021-04-30 北京大学深圳研究生院 一种融合推拉语义的传输控制方法及系统
CN117499314A (zh) * 2024-01-03 2024-02-02 南京信息工程大学 基于平均队列长度变化趋势的网络自适应拥塞控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094188A (zh) * 2007-07-16 2007-12-26 中兴通讯股份有限公司 随机先期检测装置及其硬件实现方法
KR100798920B1 (ko) * 2005-11-18 2008-01-29 한국전자통신연구원 RED방식을 확장한 VoIP 네트워크의 폭주 제어 방법및 이를 위한 장치
CN101388833A (zh) * 2008-07-18 2009-03-18 广东工业大学 基于自适应阈值机制的网络控制方法
CN101562566A (zh) * 2009-06-04 2009-10-21 吉林大学 基于实时路由器缓存占有率的主动队列管理方法
CN101635674A (zh) * 2009-08-20 2010-01-27 上海交通大学 通信网络自适应拥塞控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798920B1 (ko) * 2005-11-18 2008-01-29 한국전자통신연구원 RED방식을 확장한 VoIP 네트워크의 폭주 제어 방법및 이를 위한 장치
CN101094188A (zh) * 2007-07-16 2007-12-26 中兴通讯股份有限公司 随机先期检测装置及其硬件实现方法
CN101388833A (zh) * 2008-07-18 2009-03-18 广东工业大学 基于自适应阈值机制的网络控制方法
CN101562566A (zh) * 2009-06-04 2009-10-21 吉林大学 基于实时路由器缓存占有率的主动队列管理方法
CN101635674A (zh) * 2009-08-20 2010-01-27 上海交通大学 通信网络自适应拥塞控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《中国计量协会冶金分会2008年会论文集》 20081231 冯志威 一种基于平均队列改进的RED网络拥塞算法 , 2 *
《咸宁学院学报》 20060630 焦翠珍 基于RED的网络拥塞控制算法研究及改进 第26卷, 第3期 2 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325082B (zh) * 2011-07-19 2014-04-02 天津理工大学 一种面向游牧应用的网络拥塞控制方法
CN102325082A (zh) * 2011-07-19 2012-01-18 天津理工大学 一种面向游牧应用的网络拥塞控制方法
CN103999409B (zh) * 2011-10-04 2017-02-15 香港中文大学 用于带宽变化移动数据网络的链路缓冲器大小和队列长度估算的方法
CN104488239B (zh) * 2012-05-18 2017-09-22 阿尔卡特朗讯公司 用于实现可变瓶颈速率的主动队列管理增强的系统和方法
CN104488239A (zh) * 2012-05-18 2015-04-01 阿尔卡特朗讯公司 用于实现可变瓶颈速率的主动队列管理增强的系统和方法
CN102833159A (zh) * 2012-08-16 2012-12-19 中兴通讯股份有限公司 报文拥塞处理方法及装置
WO2014026554A1 (zh) * 2012-08-16 2014-02-20 中兴通讯股份有限公司 报文拥塞处理方法及装置
CN102833159B (zh) * 2012-08-16 2015-10-21 中兴通讯股份有限公司 报文拥塞处理方法及装置
CN104639458A (zh) * 2015-01-30 2015-05-20 南京邮电大学 一种应用于实时流传输的主动队列管理方法
CN104639458B (zh) * 2015-01-30 2018-03-06 南京邮电大学 一种应用于实时流传输的主动队列管理方法
CN104994031A (zh) * 2015-07-13 2015-10-21 天津理工大学 一种主动队列自适应管理方法asred
CN106685848A (zh) * 2015-11-10 2017-05-17 中兴通讯股份有限公司 报文丢弃方法及装置
WO2017088582A1 (zh) * 2015-11-23 2017-06-01 深圳市中兴微电子技术有限公司 一种网络拥塞控制方法和装置、存储介质
CN106487609A (zh) * 2016-08-30 2017-03-08 惠州学院 一种数据链路弹性处理方法和装置
CN108092748A (zh) * 2016-11-21 2018-05-29 中国移动通信有限公司研究院 一种进行反馈的方法和接入层设备
CN108632270B (zh) * 2018-05-03 2020-07-24 河海大学常州校区 基于软件定义网络的防低速率TCP DoS攻击方法
CN108632270A (zh) * 2018-05-03 2018-10-09 河海大学常州校区 基于软件定义网络的防低速率TCP DoS攻击方法
CN108881047A (zh) * 2018-08-01 2018-11-23 中国联合网络通信集团有限公司 网络扩容判别的方法及装置
CN109684182A (zh) * 2018-12-06 2019-04-26 中国联合网络通信集团有限公司 一种预测网络拥塞对网络质量影响的方法和装置
CN109684182B (zh) * 2018-12-06 2022-07-22 中国联合网络通信集团有限公司 一种预测网络拥塞对网络质量影响的方法和装置
CN110391956A (zh) * 2019-07-23 2019-10-29 中国工商银行股份有限公司 网络服务进程状态的识别监控方法及装置
CN110391956B (zh) * 2019-07-23 2021-08-13 中国工商银行股份有限公司 网络服务进程状态的识别监控方法及装置
CN112737964A (zh) * 2020-12-25 2021-04-30 北京大学深圳研究生院 一种融合推拉语义的传输控制方法及系统
CN112737964B (zh) * 2020-12-25 2022-10-14 北京大学深圳研究生院 一种融合推拉语义的传输控制方法及系统
CN117499314A (zh) * 2024-01-03 2024-02-02 南京信息工程大学 基于平均队列长度变化趋势的网络自适应拥塞控制方法
CN117499314B (zh) * 2024-01-03 2024-03-19 南京信息工程大学 基于平均队列长度变化趋势的网络自适应拥塞控制方法

Also Published As

Publication number Publication date
CN101958833B (zh) 2012-01-25

Similar Documents

Publication Publication Date Title
CN101958833B (zh) 一种基于随机早期侦测red的网络拥塞控制方法
Liu et al. Fluid models and solutions for large-scale IP networks
CN101562566B (zh) 基于实时路由器缓存占有率的主动队列管理方法
WO2009113106A2 (en) Network communication
CN107948103A (zh) 一种基于预测的交换机pfc控制方法及控制系统
Domańska et al. Fluid flow approximation of time-limited TCP/UDP/XCP streams
CN107689919A (zh) Sdn网络的动态调整权重模糊选路方法
Qazi et al. Congestion control with multipacket feedback
Amol et al. A review on active queue management techniques of congestion control
Chen et al. Fluid-flow Analysis of TCP Westwood with RED
Chrost et al. On the evaluation of the active queue management mechanisms
CN104092566B (zh) 一种区分服务的队列管理方法
CN108540323B (zh) 基于最小加反卷积预测路由器处理速率的方法
Deart et al. Fuzzy logic queue discipline processing over bottleneck link
CN112019443A (zh) 多路径数据传输方法及装置
CN101175031A (zh) 一种基于二阶最优模型和自适应计算的路由器主动队列管理方法
Egaji et al. Fuzzy logic based packet scheduling algorithm for Mobile ad-hoc Network with a realistic propagation model
Zhang et al. Adaptive fast TCP
Xu et al. New active queue management scheme based on statistical analysis
Bimal et al. A stochastic model for the behavior of multiple TCP NewReno sources over optical burst switching network
Dong Available Bandwidth Measurement Method of High-Speed Network Based on Link Idle Probability
Li et al. End-to-end differentiation of congestion and wireless losses using a fuzzy arithmetic based on relative entropy
CN104539486A (zh) 一种基于tcp确认包对的端到端可用带宽估计方法
Nieminen et al. Impact of heterogeneous packet sizes on flow fairness
Murakami et al. An analytical method considering bursty traffic for data transfer in high-speed networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120125

Termination date: 20200920

CF01 Termination of patent right due to non-payment of annual fee