CN102006243B - 拥塞报文发送方法 - Google Patents
拥塞报文发送方法 Download PDFInfo
- Publication number
- CN102006243B CN102006243B CN2010106089595A CN201010608959A CN102006243B CN 102006243 B CN102006243 B CN 102006243B CN 2010106089595 A CN2010106089595 A CN 2010106089595A CN 201010608959 A CN201010608959 A CN 201010608959A CN 102006243 B CN102006243 B CN 102006243B
- Authority
- CN
- China
- Prior art keywords
- cap
- message
- formation
- queues
- queue
- 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
本发明公开了一种拥塞报文发送方法,所述方法将N个报文发送队列分为缓冲报文队列和非缓冲报文队列,没有缓存报文的队列属于空闲队列组,有缓冲报文的队列具有发送报文能力CAPi,CAPi值大于0的队列属于发送状态队列组,CAPi值小于等于0的队列属于等待发送队列组,对于处于发送状态队列组的队列轮循发报。本发明实现简单,并能有效地减小了报文传送的延时,提高报文传输可靠性。
Description
技术领域
本发明涉及网络传输技术领域,特别涉及一种拥塞报文发送方法。
背景技术
在传统的IP网络中,所有的报文都被无区别的等同对待,每个转发设备对所有的报文均采用先入先出(FIFO)的策略进行处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。
网络发展日新月异,随着IP网络上新应用的不断出现,对IP网络的服务质量也提出了新的要求,例如VoIP等实时业务就对报文的传输延迟提出了较高要求,如果报文传送延时太长,用户将不能接受(相对而言,E-Mail和FTP业务对时间延迟并不敏感)。为了支持具有不同服务需求的语音、视频以及数据等业务,要求网络能够区分出不同的通信,进而为之提供相应的服务。传统IP网络的尽力服务不可能识别和区分出网络中的各种通信类别,而具备通信类别的区分能力正是为不同的通信提供不同服务的前提,所以说传统网络的尽力服务模式已不能满足应用的需要。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何发送拥塞的报文以减小报文传送的延时,提高报文传输可靠性。
(二)技术方案
为解决上述技术问题,本发明提供了一种拥塞报文发送方法,其特征在于,所述方法将N个报文发送队列分为缓冲报文队列和非缓冲 报文队列,当队列为缓冲报文队列时具有发送报文能力,每个队列的发送报文的能力为:CAP1、CAP2……CAPn,CAPi值大于0的缓冲报文队列为处于发送状态的队列,所述方法具体包括步骤:
S1:检查发送状态队列组是否为空,若为空,则执行步骤S2,否则执行步骤S3;
S2:遍历等待发送队列组,将组中队列的CAPi置为CAPi+BWi,并将CAPi>0的队列移到发送状态队列组尾部,跳转执行步骤S1,所述BWi为队列分配的带宽;
S3:处于发送状态的队列按发送报文的能力发送报文,发送报文后,其发送报文的能力CAPi置为CAPi-CAPpkt,所述CAPpkt为发报消费值,其中,i=1,2,...,N;
S4:判断所述发送状态的队列的CAPi是否大于0,若大于0,则将该队列移到所述发送状态队列组的尾部,跳转执行步骤S1;若不大于0,则判断该队列中是否仍有缓冲报文,若有,则将该队列置于等待发送队列组的尾部,否则,将该队列置于空闲队列组尾部,跳转执行步骤S1。
其中,所述步骤S3中的CAPpkt为:带宽最大值BWmax=MAX(BW1,BW2,...,BWN)。
其中,所述步骤S3中的CAPpkt为:带宽最小值BWmin=MIN(BW1,BW2,...,BWN)。
其中,所述步骤S2中的CAPpkt为带宽平均值BWave=(BW1+BW2+...+BWN)/N。
(三)有益效果
本发明通过对拥塞的报文队列的划分,并按发送报文的能力进行轮循发送,减小了报文传送的延时,提高报文传输可靠性。
附图说明
图1是本发明实施例的一种拥塞报文发送方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本实施例中共有N个队列:Q1、Q2......QN,分别对应带宽:BW1、BW2......BWN,N个队列中,有的有缓冲报文,有的没有缓存报文,缓冲的报文的长度是随机的,要求按比例快速准确地发送报文。本方法将N个报文发送队列分为缓冲报文队列和非缓冲报文队列,当队列为缓冲报文队列时具有发送报文能力,每个队列的发送报文的能力:CAP1、CAP2......CAPn,CAPi的值在创建队列时初始化为0,CAPi值大于0的队列为处于发送状态的队列。所有非缓冲报文队列为一组,为空闲队列组,所有缓冲报文队列为一组,为等待发送队列组,所有处于发送状态的队列为一组,为发送状态队列组。以下是在处理拥塞报文时常用的几个变量:
统计时间T
T时间内接口入队报文字节数BYTEt
T时间内接口入队报文数PKTt
平均报长度PKTLENave=BYTEt/PKTt
带宽最大值BWmax=MAX(BW1,BW2,...,BWN)
带宽最小值BWmin=MIN(BW1,BW2,...,BWN)
带宽平均值BWave=(BW1+BW2+...+BWN)/N
其中,BW1+BW2+...+BWN=接口带宽。
如何使多个队列按带宽比例公平平均地出队,避免有的队列出报文快,有的队列出报文慢,造成流量突发或延迟,本方法是根据处于发送状态队列的发送报文的能力轮循发送报文,具体流程如图1所示,包括:
步骤S101,调度阻塞报文发送任务入口,判断有没有拥塞报文,如果有执行步骤S102,否则退出阻塞报文发送任务。
步骤S102,判断发送状态队列组是否为空,若为空,则执行步 骤S103,不为空。则执行步骤S104。
步骤S103,遍历等待发送队列组,将组中队列的CAPi置为CAPi+BWi,并将CAPi>0的队列移到发送状态队列组尾部,并跳转到步骤S102。其中,BWi为队列分配的带宽。带宽是共享链路带宽,各自分配的带宽,比如100M的以太口,20.0.0.0/8网段的20M,30.0.0.0/8网段的50M,其余的30M。若等待发送队列组也为空,则退出阻塞报文发送任务。
步骤S104,处于发送状态的队列按在发送状态队列组的次序依次发送报文,发送报文后,其发送报文的能力CAPi置为CAPi-CAPpkt,所述CAPpkt为发报消费值,其中,i=1,2,...N。
其中,CAPpkt为:带宽最大值BWmax=MAX(BW1,BW2,...,BWN),带宽最小值BWmin=MIN(BW1,BW2,...,BWN),或为带宽平均值BWave=(BW1+BW2+...+BWN)/N。
步骤S105,判断该发送状态的队列的CAPi是否大于0,若大于0,则执行步骤S106,否则,执行步骤S107。
步骤S106,则将该队列移到发送状态队列组的尾部,跳转执行步骤S102,即等待下一次轮循到该队列时,再次发送报文。
步骤S107,判断该队列中是否仍有缓冲报文,若有,则执行步骤S108,否则,执行步骤S109。
步骤S108,将该队列置于等待发送队列组的尾部,跳转执行步骤S102。
步骤S109,将该队列置于空闲队列组的尾部,跳转执行步骤S102。
整个过程中,如果CAPpkt比较大,那么,一次轮循发送后,所有的CAPi都为负,这时遍历等待发送队列组中的缓冲报文队列,计算能力CAPi=CAPi+BWi,如果CAPi>0,要将队列移到发送状态队列组,遍历一遍缓冲报文队列后发送状态队列组还为空,那么还需要在遍历一次增加发送报文能力,直到让发送状态队列组不为空。因此,在步 骤S104中的CAPpkt为带宽最大值BWmax,则出队最准确,因为每轮循一次都要计算每个对列的发送报文的能力,CAPpkt等于BWmin时,出队效率最高,因为不用每个轮循一次就计算每个队列的发送报文的能力。所以,需要选择一个值BWbest,让CAPpkt等于BWbest,使报文能够高效准确地出队。
PKTLEN是每一个报文的长度,CAPpkt尽可能接近于BWbest,下面介绍怎么计算CAPpkt,通过BWbest和PKTLENave得到一个权值weight=log2(BWbest/PKTLENave)。CAPpkt=PKTLEN<<weight,这样得到CAPpkt=PKTLEN<<(log2(BWbest/PKTLENave))函数。其中,<<为左移位符号,导出计算CAPpkt函数,要求计算的CAPpkt尽量准确,同时计算CAPpkt要快,因为每一个报文都计算一次CAPpkt,一个1000M的接口要转发大约50万个包,导出的函数公式里,每报数据计算只有一个移位操作,效率极高。BWave鉴于BWmin和BWmax之间,实验证明,BWbest取BWave出报准确度和效率都比较高。
上述方法,实现简单,并能有效地减小了报文传送的延时,提高报文传输可靠性。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (4)
1.一种拥塞报文发送方法,其特征在于,所述方法将N个报文发送队列分为缓冲报文队列和非缓冲报文队列,当队列为缓冲报文队列时具有发送报文能力,每个队列的发送报文的能力为:CAP1、CAP2......CAPn,CAPi值大于0的缓冲报文队列为处于发送状态的队列,CAPi值小于等于0的队列为等待发送队列,所述方法具体包括步骤:
S1:检查发送状态队列组是否为空,若为空,则执行步骤S2,否则执行步骤S3;
S2:遍历等待发送队列组,将组中队列的CAPi置为CAPi+BWi,并将CAPi>0的队列移到发送状态队列组尾部,跳转执行步骤S1,所述BWi为队列分配的带宽,若等待发送队列组也为空,则退出拥塞报文的发送;
S3:处于发送状态的队列按发送报文的能力发送报文,发送报文后,其发送报文的能力CAPi置为CAPi-CAPpkt,所述CAPpkt为发报消费值,其中,i=1,2,...,N;
S4:判断所述发送状态的队列的CAPi是否大于0,若大于0,则将该队列移到所述发送状态队列组的尾部,跳转执行步骤S1;若不大于0,则判断该队列中是否仍有缓冲报文,若有,则将该队列置于等待发送队列组的尾部,否则,将该队列置于空闲队列组尾部,跳转执行步骤S1。
2.如权利要求1所述的拥塞报文发送方法,其特征在于,所述步骤S3中的CAPpkt为:带宽最大值BWmax=MAX(BW1,BW2,...,BWN)。
3.如权利要求1所述的拥塞报文发送方法,其特征在于,所述步骤S3中的CAPpkt为:带宽最小值BWmin=MIN(BW1,BW2,...,BWN)。
4.如权利要求1所述的拥塞报文发送方法,其特征在于,所述步骤S3中的CAPpkt为带宽平均值BWave=(BW1+BW2+…+BWN)/N。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106089595A CN102006243B (zh) | 2010-12-28 | 2010-12-28 | 拥塞报文发送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106089595A CN102006243B (zh) | 2010-12-28 | 2010-12-28 | 拥塞报文发送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102006243A CN102006243A (zh) | 2011-04-06 |
CN102006243B true CN102006243B (zh) | 2012-05-30 |
Family
ID=43813329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106089595A Expired - Fee Related CN102006243B (zh) | 2010-12-28 | 2010-12-28 | 拥塞报文发送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102006243B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185770A (zh) * | 2011-05-05 | 2011-09-14 | 汉柏科技有限公司 | 基于多核架构的批量式报文收发方法 |
US8681616B2 (en) * | 2011-08-12 | 2014-03-25 | Telefonaktiebolaget L M Ericsson (Publ) | Scheduling under congestion with traffic load-based scaling |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1522011A (zh) * | 2003-01-28 | 2004-08-18 | 华为技术有限公司 | 动态缓存管理的atm交换装置及其交换方法 |
US7349416B2 (en) * | 2002-11-26 | 2008-03-25 | Cisco Technology, Inc. | Apparatus and method for distributing buffer status information in a switching fabric |
-
2010
- 2010-12-28 CN CN2010106089595A patent/CN102006243B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7349416B2 (en) * | 2002-11-26 | 2008-03-25 | Cisco Technology, Inc. | Apparatus and method for distributing buffer status information in a switching fabric |
CN1522011A (zh) * | 2003-01-28 | 2004-08-18 | 华为技术有限公司 | 动态缓存管理的atm交换装置及其交换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102006243A (zh) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1297097C (zh) | 提高网络拥塞时数据传输性能的方法 | |
CN104272680B (zh) | 用信号通知拥塞 | |
KR100644445B1 (ko) | 다-임계값 리키 버킷을 사용하는 클래스-기초 속도 제어 | |
Gelenbe et al. | Adaptive qos routing for significant events in wireless sensor networks | |
CN102726009B (zh) | 一种数据流交换控制方法及相关设备 | |
CN101692648B (zh) | 一种队列调度方法及系统 | |
CN102368741A (zh) | 支持层次化队列调度和流量整形的方法及装置 | |
CN107948103A (zh) | 一种基于预测的交换机pfc控制方法及控制系统 | |
US20130343398A1 (en) | Packet-based communication system with traffic prioritization | |
WO2013016971A1 (zh) | 一种分组交换网中数据包发送和接收的方法及装置 | |
CN105490962A (zh) | 一种基于OpenFlow网络的QoS管理方法 | |
US20130286842A1 (en) | Transmitting apparatus, transmission method, and transmission system | |
CN101958847A (zh) | 一种分布式qos路由的选择方法 | |
CN101212467B (zh) | 一种mpls网络的业务调度方法 | |
CN102932275A (zh) | 一种应用于容延时网络的优先级报文转发方法 | |
CN102811176A (zh) | 一种数据流量控制方法和装置 | |
CN101562841B (zh) | 业务调度方法、装置和系统 | |
CN112437019B (zh) | 用于数据中心的基于信用包的主动型传输方法 | |
CN104301254A (zh) | 一种用于数据中心网络的数据包调度方法 | |
CN101986628B (zh) | 基于蚁群算法的实现多源组播流量均衡的方法 | |
CN105007235B (zh) | 一种无线多媒体传感器网络中的拥塞控制方法 | |
CN101212412A (zh) | 一种mpls网络的业务调度系统 | |
CN103858474A (zh) | 针对传输网络的增强性能的基于服务的配置 | |
CN102006243B (zh) | 拥塞报文发送方法 | |
Hu et al. | RPO: Receiver-driven transport protocol using opportunistic transmission in data center |
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 | ||
DD01 | Delivery of document by public notice |
Addressee: Beijing Hanbai Technology Co., the person in charge of patent Document name: Notification that Application Deemed not to be Proposed |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20161228 |
|
CF01 | Termination of patent right due to non-payment of annual fee |