CN101997776B - 基于拥塞辨识的路由器队列控制系统的控制方法 - Google Patents
基于拥塞辨识的路由器队列控制系统的控制方法 Download PDFInfo
- Publication number
- CN101997776B CN101997776B CN2010105484313A CN201010548431A CN101997776B CN 101997776 B CN101997776 B CN 101997776B CN 2010105484313 A CN2010105484313 A CN 2010105484313A CN 201010548431 A CN201010548431 A CN 201010548431A CN 101997776 B CN101997776 B CN 101997776B
- Authority
- CN
- China
- Prior art keywords
- queue
- module
- state
- congestion
- control method
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种网络工程技术领域的基于拥塞辨识的路由器队列控制系统的控制方法,包括:数据采集模块、信息处理模块、拥塞辨识模块和队列控制模块,该系统在每个采样周期内,由数据采集模块测量当前路由器的队列长度q(k)和数据包流速x(k)。信息处理模块计算队列比值Rq(k)和流速比值Rx(k),并将队列比值和流速比值与1进行比较,标记相应的标志位。拥塞辨识模块根据标志位组合而成的4种不同状态进行拥塞辨识,并将辨识结果提供给队列控制模块,从而采取相应的队列控制方法,计算数据丢弃或者标记概率。本发明能够有效辨识拥塞状态并提供准确的队列控制方法;能够有效加快路由器队列的收敛速度,减小抖动,减少数据丢包;同时适用于拓扑结构复杂的网络环境以及参数时变的动态网络。
Description
技术领域
本发明涉及的是一种网络工程技术领域的系统及控制方法,具体是一种基于拥塞辨识的路由器队列控制系统的控制方法。
背景技术
目前,计算机网络拥塞控制技术受到了广泛关注。传统的TCP拥塞控制机制,作用于终端系统,在数据流量控制中所发挥的作用终究有限,所以必须让网络层参与到网络拥塞控制中。1998年,互联网工程任务组(IETF)建议在路由器中采用主动队列控制方法(AQM),目的是从中间节点为终端提供更准确、更有效的拥塞信息。AQM的技术手段是:把路由器中的队列长度控制在一个比较小的范围内,并保持小幅抖动,从而减小传输时延及其抖动,维持较高的链路利用率。
比较著名的AQM控制方法有:RED、BLUE、PI、PID、AVQ、REM等。RED(随机早期检测)由S.Floyd等人提出,成功地实现了AQM的技术目标。但是深入的研究发现,RED存在诸多的设计缺陷,主要是由于RED单纯采用路由器平均队列长度作为拥塞指示,无法快速地反映瞬时队列长度变化,所以其稳态性能差,对负载敏感,同时,参数的设定也面临很多困难,始终无法在大范围网络环境中提供令人满意的服务质量。BLUE方法的设计思路是利用网络中的丢包事件以及链路空闲事件检测拥塞状况。但是,其采用的拥塞度量存在明显的信息滞后,不能够避免队列溢出和排空现象的频繁发生,无法提供稳定的路由器队列长度。PI和PID是基于队列长度的AQM控制方法。这种方法的缺陷是很明显的,那就是它们的队列调整速度较慢,期间会经历比较大的超调,严重时队列会溢出路由器缓存,或者队列出现排空现象,导致数据链路空闲。AVQ是完全基于数据流速的AQM方法,虽然能够维持较低的队列长度,但是却大大牺牲了带宽的链路利用率。REM方法同时采用路由器带宽和数据包流速来探测网络拥塞,具有良好的实用性,但是其缺点是探测拥塞的能力不足,参数固定不变,环境适应性差。
综上,大部分AQM方法都面临着各种缺点,其原因是它们采用的拥塞信息不能够全面地反映拥塞程度,所以产生了诸如:路由器队列响应慢,队列不稳定,环境适应性差等问题。
发明内容
本发明针对现有技术存在的上述不足,提供一种基于拥塞辨识的路由器队列控制系统的控制方法,利用路由器中提供的队列长度和数据流速,能够有效辨识拥塞状态,提高网络性能。NS2平台中的实验表明,本发明能够及时准确地辨识拥塞程度,有效提高路由器中的队列响应速度,增强队列稳定性,减小队列抖动,减少数据丢包;在动态网络中,取得良好的适应性和鲁棒性。
本发明是通过以下技术方案实现的:
本发明涉及一种基于拥塞辨识的路由器队列控制系统,包括:数据采集模块、信息处理模块、拥塞辨识模块和队列控制模块,其中:数据采集模块与信息处理模块相连接并将采集所得的队列长度和数据流速等数据输入信息处理模块,信息处理模块与拥塞辨识模块相连接并将经过处理的信息作为拥塞辨识模块的输入用于辨识当前的拥塞状态,拥塞辨识模块与队列控制模块相连接并将当前的拥塞辨识结果传递给队列控制模块,从而选择对应的队列控制策略。
本发明涉及上述系统的控制方法包括以下步骤:
步骤一,数据采集模块每隔一个采样周期T,分别从路由器、网关或无线通信节点的缓存中读取当前时刻的数据包队列长度q(k),同时在数据输入端口,测量数据包流速x(k);
步骤二,数据采集模块将测量所得的队列长度q(k)和数据流速x(k)输入信息处理模块。信息处理模块进行如下处理:
将数据包队列长度q(k)除以设定的队列目标值q*(k),即依照下式计算队列比值Rq(k):
Rq(k)=q(k)/q*(k);
将数据包流速x(k)除以链路带宽c(k),即依照下式计算流速比值Rx(k):
Rx(k)=x(k)/c(k);
将队列比值Rq(k)与1进行比较,如果Rq(k)>1,则将预先定义的标志位flagq置1;否则,置0;
将流速比值Rx(k)与1进行比较,如果Rx(k)>1,则将预先定义的标志位flagx置1;否则,置0;
步骤三,在路由器、网关或无线通信节点中,建立拥塞辨识模块。它根据标志位flagq和flagx以判断网络拥塞状态。具体如下:
①当flagq=0,flagx=1时,表明队列处于调整状态;从低于设定值的位置往上升,将这种状态记为P1;
②当flagq=1,flagx=1时,表明此时拥塞加剧,导致队列长度的急增,将这种状态记为P2;
③当flagq=1,flagx=0时,表明队列处于调整状态,从高于设定值的位置向下降,将这种状态记为P3;
④当flagq=0,flagx=0时,表明控制过于强烈,造成队列长度的骤降,将这种状态记为P4;
步骤四,建立队列控制模块,根据拥塞辨识模块获得的信息,采用相应的控制方法以调整队列长度,具体如下:
①当状态从P4转移至P1或者状态从P2转移至P3时,采用如下的控制方法:
u(k)=u(k-1)+nα{(1-λ)[flagq(k)-1]+λ[flagx(k)-1]};
其中,u为队列控制器的输出,α为控制步长,n为调整系数,λ为加权系数,取值范围为0~1。
②当状态从P1转移至P2或者状态从P3转移至P4时,采用如下的控制方法:
u(k)=u(k-1)+nα[flagq(k)-1];
其中,调整系数n在每个采样周期中减1。
③当状态从P1转移至P4或者状态从P3转移至P2时,采用如下的控制方法:
u(k)=u(k-1)+nα[flagx(k)-1];
其中,调整系数n在每个采样周期中加1。
步骤五,根据队列控制器的输出u(k),按下式计算数据包的标记概率:
其中,R为回路往返时间,T为采样周期。
本发明要求路由器、网关或者无线传输节点支持基于丢包检测的TCP协议(如因特网中广泛使用的TCP Reno,无线网络中的TCP Veno),支持显式拥塞指示(ECN)方法,能够根据队列控制器产生的数据包标记概率,对数据包进行拥塞标记操作。
本发明通过计算队列比值Rq(k)和流速比值Rx(k),将两者结合起来,能够有效地辨识路由器中队列长度的大小以及变化趋势。如果两个比值Rq(k)和Rx(k)与1越接近,则说明当前的队列就越稳定;反之,队列则处在调整期。经过拥塞辨识,判断当前的拥塞状态,并根据队列控制方法,标记数据包以控制网络拥塞。
本发明的技术效果在于:利用路由器中可以显式提供的两个变量,即队列长度和数据流速,辨识队列调整状态,以反映拥塞程度。同时,根据不同的拥塞状态,进行相应的队列控制,有效控制网络拥塞。本发明结构简单,易于实现,计算量小,扩展性好。仿真分析表明本发明在不同的网络环境中,队列响应迅速,队列保持小幅抖动,数据丢包率低,在动态网络环境中具有良好的鲁棒性。
附图说明
图1为单瓶颈链路实验拓扑图。
图2为多瓶颈链路实验拓扑图。
图3为本发明的系统框图。
图4为单瓶颈链路中队列长度变化情况(TCP连接数为100)。
图5为单瓶颈链路中队列长度变化情况(TCP连接数为500)。
图6为单瓶颈链路环境中的性能指标统计。
图7为多瓶颈链路环境中的性能指标统计。
图8为多瓶颈链路中队列长度在TCP流突变时的变化情况。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例分别在如图1和图2所示的单瓶颈链路和多瓶颈链路网络中实施。图1所示的单瓶颈链路网络包含N个发送端S1-Sn,N个接收端D1-Dn,以及路由器R1、R2。图中每条链路上标记有带宽和传输延时。其中瓶颈链路带宽为5Mbps,传输延时为5ms。其他全部链路带宽为10Mbps,传输延时为5ms。采用如图2所示的多瓶颈链路网络拓扑,它由6个路由器连接了5条共享链路。除了一条穿越5条链路的数据通道,其中还引入了两条交叉数据流,网络环境的设定在图2中已经做了清楚的标注。本实施例给图1中的路由器1,和图2中的路由器2、4,配置基于拥塞辨识的队列控制方法。本实施例的路由器缓存为200pkts,目标队列长度为50pkts,数据包的平均大小设置为1000字节。
本实施例的具体实施步骤如下:
步骤(1):建立基于拥塞辨识的队列控制系统,如图3所示。初始化参数,分别为
队列目标值q*(k),设定为50pkts;
队列比值Rq(k),其初值为0;
流速比值Rx(k),其初值为0;
标志位flagq和flagx,初值均为0;
控制步长α为0.00001;
加权参数λ,取值0.1;
调整系数n的初值为1;
T为采样周期,设定为0.002s;
Systime用于记录系统时间,以判断是否到达下一个采样周期,初始化为当前时刻。
步骤(2):判断当前系统时刻是否达到Systime+T,如果已经到达,则执行步骤(3),否则继续执行步骤(2);
步骤(3):数据采集模块测量当前路由器的队列长度q(k),同时测量数据包流速x(k);
步骤(4):信息处理模块对数据采集模块测得的队列长度q(k)和数据流速x(k)进行如下处理:
计算队列比值Rq(k):Rq(k)=q(k)/q*(k);
计算流速比值Rx(k):Rx(k)=x(k)/c(k);
判断Rq(k)>1是否成立。若成立,将预先定义的标志位flagq置1,否则置0;
判断Rx(k)>1是否成立。若成立,将预先定义的标志位flagx置1,否则置0;
步骤(5):将标志位flagq和flagx输入拥塞辨识模块,辨识网络拥塞状态,具体如下:
①当flagq=0,flagx=1时,表明队列处于调整状态;从低于设定值的位置往上升,将这种状态记为P1;
②当flagq=1,flagx=1时,表明此时拥塞加剧,导致队列长度的急增,将这种状态记为P2;
③当flagq=1,flagx=0时,表明队列处于调整状态,从高于设定值的位置向下降,将这种状态记为P3;
④当flagq=0,flagx=0时,表明控制过于强烈,造成队列长度的骤降,将这种状态记为P4;
步骤(6):建立队列控制模块,根据拥塞辨识器获得的信息,采用相应的控制方法以调整队列长度。具体如下:
①当状态从P4转移至P1或者状态从P2转移至P3时,采用如下的控制方法:
u(k)=u(k-1)+0.000009n·[flagq(k)-1]+0.000001n·[flagx(k)-1];
其中,u为队列控制器的输出,其它参数数值在步骤(1)中给出。
②当状态从P1转移至P2或者状态从P3转移至P4时,采用如下的控制方法:
u(k)=u(k-1)+0.00001n·[flagq(k)-1];
其中,调整系数n在每个采样周期中减1。
③当状态从P1转移至P4或者状态从P3转移至P2时,采用如下的控制方法:
u(k)=u(k-1)+0.00001n·[flagx(k)-1];
其中,调整系数n在每个采样周期中加1。
步骤(7):根据队列控制器的输出u(k),按下式计算数据包的标记概率:
其中,R为回路往返时间。
步骤(8):把systime赋值为当前系统时刻;
步骤(9):转至步骤(2),重复执行步骤(2)到步骤(8),直到结束。
本实施例在NS2网络仿真平台(Network Simulator 2)中实现了本发明的拥塞辨识方法和队列控制方法,并对其进行了详细的性能测试。NS2网络仿真平台(Network Simulator 2)是如今使用最广泛、最权威的仿真软件之一,其测试结果受到计算机通讯网络开发研究领域的认可。
在图1的路由器R1和图2的路由器2和4中采用本实施例与PI、PID和REM方法进行对比。在仿真过程中,源端向对应的接收端发送大量的FTP数据。为了测试本实施例的性能,进行了一系列的对比仿真实验。
实施例1:图4和图5所示的是PI、PID、REM和本实施例在TCP数目为100和500时的队列长度。其中,PI、PID和REM的队列响应很慢,出现很大的队列超调。特别在TCP为500时,队列抖动很大。而本实施例的队列收敛很快、稳定在目标数值,并保持小幅抖动。稳定的队列长度可以提供可预期的传输延时,小幅的队列抖动不仅意味着较小的延时抖动,同时也能够保证较高的链路利用率。图6给出了4种方法在不同拥塞程度中的性能指标。从中看出,本实施例可以获得稳定的队列长度,最小的队列抖动和数据丢包。有效验证了本发明拥塞辨识方法和队列控制方法的有效性。
实施例2:在图2所示的大瓶颈链路中,给TCP连接簇1设定50个FTP连接。给TCP连接簇2和TCP连接簇3分别设定50至300个FTP连接,以模拟不同的拥塞程度。图7给出了4种方法在不同拥塞程度中的性能指标。同样地,本实施例比其它3种方法获得更稳定的队列长度,更小的抖动,更少的数据丢包。
实施例3:在仿真开始时,给TCP连接簇1、TCP连接簇2和TCP连接簇3分别设定50、100和100个FTP连接。在100s、200s处,给TCP连接簇2和TCP连接簇3分别启动100个FTP连接,并依次在300s和400s处关闭。由于链路2和链路4的队列长度变化相似,故而图8给出链路4处的队列长度变化。不难看出,本实施例在动态网络环境中能够有效判断拥塞状态,并将队列控制在目标值处,表现出很强的鲁棒性。而其它方法对突发数据流都很敏感,队列出现超调和大幅抖动。
Claims (3)
1.一种基于拥塞辨识的路由器队列控制系统的控制方法,该系统包括:数据采集模块、信息处理模块、拥塞辨识模块和队列控制模块,其中:数据采集模块与信息处理模块相连接并将采集所得的队列长度和数据流速x(k)输入信息处理模块,信息处理模块与拥塞辨识模块相连接并将经过处理的信息作为拥塞辨识模块的输入用于辨识当前的拥塞状态,拥塞辨识模块与队列控制模块相连接并将当前的拥塞辨识结果传递给队列控制模块,从而选择对应的队列控制方法,其特征在于,所述方法包括以下步骤:
步骤一,数据采集模块每隔一个采样周期T,分别从路由器、网关或无线通信节点的缓存中读取当前时刻的数据包队列长度q(k),同时在数据输入端口,测量数据流速x(k);
步骤二,数据采集模块将测量所得的队列长度q(k)和数据流速x(k)输入信息处理模块,信息处理模块进行如下处理:
将数据包队列长度q(k)除以设定的队列目标值q*(k),即依照下式计算队列比值Rq(k):
Rq(k)=q(k)/q*(k);
将数据流速x(k)除以链路带宽c(k),即依照下式计算流速比值Rx(k):
Rx(k)=x(k)/c(k);
将队列比值Rq(k)与1进行比较,如果Rq(k)>1,则将预先定义的标志位flagq置1;否则,置0;
将流速比值Rx(k)与1进行比较,如果Rx(k)>1,则将预先定义的标志位flagx置1;否则,置0;
步骤三,在路由器、网关或无线通信节点中,建立拥塞辨识模块,该拥塞辨识模块根据标志位flagq和flagx以判断网络拥塞状态;
步骤四,建立队列控制模块,根据拥塞辨识模块获得的信息,采用相应的控制方法以调整队列长度;
2.根据权利要求1所述的控制方法,其特征是,所述的步骤三具体包括以下步骤:
3.1)当flagq=0,flagx=1时,表明队列处于调整状态;从低于设定值的位置往上升,将这种状态记为P1;
3.2)当flagq=1,flagx=1时,表明此时拥塞加剧,导致队列长度的急增,将这种状态记为P2;
3.3)当flagq=1,flagx=0时,表明队列处于调整状态,从高于设定值的位置向下降,将这种状态记为P3;
3.4)当flagq=0,flagx=0时,表明控制过于强烈,造成队列长度的骤降,将这种状态记为P4。
3.根据权利要求2所述的控制方法,其特征是,所述的步骤四具体包括以下步骤:
4.1)当状态从P4转移至P1或者状态从P2转移至P3时,采用如下的控制方法:
u(k)=u(k-1)+nα{(1-λ)[flagq(k)-1]+λ[flagx(k)-1]};
其中,u为队列控制模块的输出,α为控制步长,n为调整系数,λ为加权系数,取值范围为0~1;
4.2)当状态从P1转移至P2或者状态从P3转移至P4时,采用如下的控制方法:
u(k)=u(k-1)+nα[flagq(k)-1];其中:调整系数n在每个采样周期中减1;
4.3)当状态从P1转移至P4或者状态从P3转移至P2时,采用如下的控制方法:
u(k)=u(k-1)+nα[flagx(k)-1];其中:调整系数n在每个采样周期中加1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105484313A CN101997776B (zh) | 2010-11-18 | 2010-11-18 | 基于拥塞辨识的路由器队列控制系统的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105484313A CN101997776B (zh) | 2010-11-18 | 2010-11-18 | 基于拥塞辨识的路由器队列控制系统的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101997776A CN101997776A (zh) | 2011-03-30 |
CN101997776B true CN101997776B (zh) | 2013-01-09 |
Family
ID=43787388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105484313A Expired - Fee Related CN101997776B (zh) | 2010-11-18 | 2010-11-18 | 基于拥塞辨识的路由器队列控制系统的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101997776B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099940B (zh) * | 2014-05-05 | 2020-08-04 | 中兴通讯股份有限公司 | 队列管理方法和装置 |
CN105187238B (zh) * | 2015-08-13 | 2018-07-31 | 湖南天冠电子信息技术有限公司 | 一种局域网随机服务系统的响应质量控制方法 |
CN113079044B (zh) * | 2021-03-26 | 2022-04-15 | 武汉大学 | 一种基于强化学习的丢包控制方法和计算机设备 |
CN113938433B (zh) * | 2021-12-02 | 2024-02-02 | 中国人民解放军国防科技大学 | 一种基于动态阈值的高速网络拥塞控制方法和装置 |
CN113938432B (zh) * | 2021-12-02 | 2024-01-02 | 中国人民解放军国防科技大学 | 一种高速互连网络拥塞控制打标方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1885824A (zh) * | 2006-06-07 | 2006-12-27 | 清华大学 | 主动队列管理的分类器实现方法 |
CN101030926A (zh) * | 2006-02-28 | 2007-09-05 | 华为技术有限公司 | 全球微波接入互操作性网络数据流量控制方法 |
CN101123587A (zh) * | 2007-09-13 | 2008-02-13 | 杭州华三通信技术有限公司 | 交换机业务流的流量控制方法和装置 |
CN101635674A (zh) * | 2009-08-20 | 2010-01-27 | 上海交通大学 | 通信网络自适应拥塞控制方法 |
-
2010
- 2010-11-18 CN CN2010105484313A patent/CN101997776B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030926A (zh) * | 2006-02-28 | 2007-09-05 | 华为技术有限公司 | 全球微波接入互操作性网络数据流量控制方法 |
CN1885824A (zh) * | 2006-06-07 | 2006-12-27 | 清华大学 | 主动队列管理的分类器实现方法 |
CN101123587A (zh) * | 2007-09-13 | 2008-02-13 | 杭州华三通信技术有限公司 | 交换机业务流的流量控制方法和装置 |
CN101635674A (zh) * | 2009-08-20 | 2010-01-27 | 上海交通大学 | 通信网络自适应拥塞控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101997776A (zh) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101026509B (zh) | 一种端到端低可用带宽测量方法 | |
Liu et al. | Fluid models and solutions for large-scale IP networks | |
CN101635674B (zh) | 通信网络自适应拥塞控制方法 | |
Zhang et al. | JetMax: scalable max–min congestion control for high-speed heterogeneous networks | |
CN101997776B (zh) | 基于拥塞辨识的路由器队列控制系统的控制方法 | |
CN102932840B (zh) | 一种基于速率和队列长度的无线路由器主动队列管理方法 | |
CN107948103A (zh) | 一种基于预测的交换机pfc控制方法及控制系统 | |
Liu et al. | Scalable fluid models and simulations for large-scale IP networks | |
CN101964727A (zh) | 一种利用混合报文测量可用带宽的方法和装置 | |
Winstein et al. | End-to-end transmission control by modeling uncertainty about the network state | |
Ruan et al. | FSQCN: Fast and simple quantized congestion notification in data center Ethernet | |
CN102271092B (zh) | 基于节点负荷量化等级的拥塞控制系统及控制方法 | |
Wang et al. | PSO-PID: a novel controller for AQM routers | |
CN102447625B (zh) | 基于节点间链路反馈控制机制的节点状态控制方法 | |
CN101631115A (zh) | 基于小波神经网络的拥塞控制方法 | |
Chen et al. | Fluid-flow Analysis of TCP Westwood with RED | |
CN101286929B (zh) | 基于负载多变的路由器间隔式拥塞控制方法 | |
CN101977155B (zh) | 虚拟带宽自适应控制系统及其控制方法 | |
CN101175031A (zh) | 一种基于二阶最优模型和自适应计算的路由器主动队列管理方法 | |
Chait et al. | Dynamic analysis of congested TCP networks | |
Su et al. | DVPTCP: A delay-driven virtual parallel TCP for high-speed and lossy networks | |
Song et al. | Research on the improvement of RED algorithm in network congestion control | |
Meng et al. | Research on TCPW improvement in hybrid network | |
Luo et al. | BO-ARED: A new AQM algorithm with adaptive adjustment of parameters | |
Luong et al. | On the proportional fairness of TCP Vegas |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130109 Termination date: 20131118 |