CN109257295A - 一种时延驱动的基于aqm算法的拥塞控制方法 - Google Patents

一种时延驱动的基于aqm算法的拥塞控制方法 Download PDF

Info

Publication number
CN109257295A
CN109257295A CN201811135739.8A CN201811135739A CN109257295A CN 109257295 A CN109257295 A CN 109257295A CN 201811135739 A CN201811135739 A CN 201811135739A CN 109257295 A CN109257295 A CN 109257295A
Authority
CN
China
Prior art keywords
data packet
current data
value
queue
queuing delay
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
CN201811135739.8A
Other languages
English (en)
Other versions
CN109257295B (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.)
Ningbo University
Original Assignee
Ningbo University
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 Ningbo University filed Critical Ningbo University
Priority to CN201811135739.8A priority Critical patent/CN109257295B/zh
Publication of CN109257295A publication Critical patent/CN109257295A/zh
Application granted granted Critical
Publication of CN109257295B publication Critical patent/CN109257295B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/326Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames with random discard, e.g. random early discard [RED]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种时延驱动的基于AQM的拥塞控制方法,首先设定参考参数,当一个数据包到达时,令该数据包进入等待进队状态,获取当前到达的数据包的优先级权重w、当前数据包队列的长度ql、当前到达的数据包的流id以及当前数据包队列的排出速率or,然后设定当前数据包的基本绘图因子,并对基本绘图因子进行更新,然后基于更新后的基本绘图因子和优先级权重得到当前数据包的优先绘图因子,接着基于优先绘图因子、当前数据包队列的排队时延qd与时延阈值qth确定当前网络是否存在拥塞,根据是否存在拥塞的结论确定当前到达的数据包是否进入当前数据包队列中;优点是排队时低延、能够获得较低流完成时间且能够获得均衡的公平性。

Description

一种时延驱动的基于AQM算法的拥塞控制方法
技术领域
本发明涉及一种拥塞控制方法,尤其是涉及一种时延驱动的基于AQM算法的拥塞控制方法。
背景技术
AQM(主动队列管理)算法是一种用来管理缓存队列的方法,通常被用于网络的拥塞控制。部署有基于AQM算法的拥塞控制方法的路由器具有相对高级的调度和队列缓存策略,不是队满时才开始丢弃数据包,而是在路由器队列数据包满之前就进行包的丢弃,并提供一个拥塞指示。基于AQM算法的拥塞控制方法使用丢包来指示拥塞,可以削减丢包重传的影响,降低了网络延迟。
RED(早期随机探测)算法作为AQM算法的一种升级算法,其使用平均队列长度作为指导主动分组丢弃的拥塞指示。目前,基于RED算法的拥塞控制方法已经被广泛地部署到传统网络以及新型网络中。但是,对于不响应拥塞通知的连接,基于RED算法的拥塞控制方法无法有效处理,因此这样的连接经常会挤占大量的网络带宽,导致了各种连接不公平地共享带宽,以致基于RED算法的拥塞控制方法不能满足低排队时延以及差异化服务质量的要求,特别是在面对高带宽的非自适应流时,很难从非自适应流中保护自适应流,这些自适应流是能够很好的对网络拥塞作出反应的。
为了解决获得要求的服务质量和保护自适应流,一些比较好的的算法被提出,例如CHOKeW算法。基于CHOKeW算法的拥塞控制方法使用匹配丢失的方法来控制带宽的分配,支持对具有不同优先级权重的流进行有区别的带宽分配。每个优先级权重对应于一个优先级级别,优先级权重越大表示优先级级别较高。优先级级别主要控制着从内存中取数据包进行比较的次数,优先级级别越高,比较次数越少,被丢弃的机率就越小,然而,优先级级别越小,比较次数越高,被丢弃的机率就越大,故基于CHOKeW算法的拥塞控制方法支持核心网络中不同优先级的多个流的差异化服务。但是,当大量的TCP流和UDP流共存时,他们会相互竞争带宽。如果到达的数据包与取出的数据包流id相同,即两个来自同一流,则两个都要丢弃,由于这种不合理的数据包丢弃,就会造成较大的排队时延,大量的包会超时重传,从而不可避免地使流完成时间变长。
发明内容
本发明所要解决的技术问题是提供一种具有低排队时延、能够获得较低流完成时间且能够获得均衡的公平性的时延驱动的基于AQM的拥塞控制方法。
本发明解决上述技术问题所采用的技术方案为:一种时延驱动的基于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,直至当前到达的数据包的拥塞控制结束。
与现有技术相比,本发明的优点在于通过设定参考参数,当一个数据包到达时,不让该数据包进入当前数据包队列中,令该数据包进入等待进队状态,获取当前到达的数据包的优先级权重w、当前数据包队列的长度ql、当前到达的数据包的流id以及当前数据包队列的排出速率or,保证采集的数据的瞬时性,然后设定当前数据包的基本绘图因子,采用之前设定的参考参数和采集的具有瞬时性的数据对基本绘图因子进行更新,然后基于更新后的基本绘图因子和优先级权重得到当前数据包的优先绘图因子,对当前到达的数据包的优先级进行区分,是其满足差异化服务的要求,接着基于优先绘图因子、当前数据包队列的排队时延qd与时延阈值qth确定当前网络是否存在拥塞,根据是否存在拥塞的结论确定当前到达的数据包是否进入当前数据包队列中,由此,本发明的方法实现对网络拥塞的有效控制,排队时低延、能够获得较低流完成时间且能够获得均衡的公平性。
具体实施方式
以下结合实施例对本发明作进一步详细描述。
实施例:一种时延驱动的基于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,直至当前到达的数据包的拥塞控制结束。

Claims (1)

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,直至当前到达的数据包的拥塞控制结束。
CN201811135739.8A 2018-09-28 2018-09-28 一种时延驱动的基于aqm算法的拥塞控制方法 Active CN109257295B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811135739.8A CN109257295B (zh) 2018-09-28 2018-09-28 一种时延驱动的基于aqm算法的拥塞控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811135739.8A CN109257295B (zh) 2018-09-28 2018-09-28 一种时延驱动的基于aqm算法的拥塞控制方法

Publications (2)

Publication Number Publication Date
CN109257295A true CN109257295A (zh) 2019-01-22
CN109257295B CN109257295B (zh) 2021-11-05

Family

ID=65048032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811135739.8A Active CN109257295B (zh) 2018-09-28 2018-09-28 一种时延驱动的基于aqm算法的拥塞控制方法

Country Status (1)

Country Link
CN (1) CN109257295B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113747253A (zh) * 2021-08-17 2021-12-03 中移(杭州)信息技术有限公司 网络带宽的确定方法、视频rtp接收端及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221656B1 (en) * 2002-06-18 2007-05-22 Nortel Networks Limited Technique for implementing an admission control scheme for data flows
CN101753440A (zh) * 2009-12-18 2010-06-23 华为技术有限公司 主动队列管理方法、装置和无线网络控制器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221656B1 (en) * 2002-06-18 2007-05-22 Nortel Networks Limited Technique for implementing an admission control scheme for data flows
CN101753440A (zh) * 2009-12-18 2010-06-23 华为技术有限公司 主动队列管理方法、装置和无线网络控制器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨庆祥等: "基于分组优先级的队列管理与自适应丢包机制", 《电力自动化设备》 *
苏成龙等: "公平和低时延的主动队列管理算法研究", 《通信学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113747253A (zh) * 2021-08-17 2021-12-03 中移(杭州)信息技术有限公司 网络带宽的确定方法、视频rtp接收端及存储介质

Also Published As

Publication number Publication date
CN109257295B (zh) 2021-11-05

Similar Documents

Publication Publication Date Title
Dukkipati et al. Why flow-completion time is the right metric for congestion control
JP3698884B2 (ja) Tcp接続の性能改善方法
KR100644445B1 (ko) 다-임계값 리키 버킷을 사용하는 클래스-기초 속도 제어
CN104954206B (zh) 一种多路径并行传输***的乱序分析方法
Yang et al. Out-of-order transmission for in-order arrival scheduling for multipath TCP
US7969882B2 (en) Packet transfer rate monitoring control apparatus, method, and program
CN106027416B (zh) 一种基于时空结合的数据中心网络流量调度方法及***
US9860184B2 (en) Fast friendly start for a data flow
US7292532B2 (en) Traffic shaping apparatus and traffic shaping method
KR101075724B1 (ko) 통신 시스템에서 패킷 전송 속도 제한 장치 및 방법
US7646781B2 (en) Methods, systems, and computer program products for selectively discarding packets
CN103647722B (zh) 一种基于信誉的链路拥塞控制方法
US20160344636A1 (en) Adaptive allocation of headroom in network devices
JP2001274839A (ja) 無線ネットワーク用の遅延性能を改良したパケットのスケジューリングの方法
US9350659B1 (en) Congestion avoidance for network traffic
Irazabal et al. Active queue management as quality of service enabler for 5G networks
CN112437019B (zh) 用于数据中心的基于信用包的主动型传输方法
CN111586763A (zh) 基于统计优先多址接入的阈值自适应调整方法
CN109257295A (zh) 一种时延驱动的基于aqm算法的拥塞控制方法
JP4259349B2 (ja) トラヒックシェーピング方法及びトラヒックシェーピング装置
Almomani et al. Simulation Based Performance Evaluation of Several Active Queue Management Algorithms for Computer Network
TWI785759B (zh) 封包轉發裝置及佇列管理方法
JP2008193310A (ja) ルータのバッファ管理方法並びにその管理方法を用いたルータ
CN104954284A (zh) 一种面向概率路由的延迟容忍网络拥塞避免方法
JP4536047B2 (ja) アドミッション制御装置および方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant