CN102006243B - 拥塞报文发送方法 - Google Patents

拥塞报文发送方法 Download PDF

Info

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
Application number
CN2010106089595A
Other languages
English (en)
Other versions
CN102006243A (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.)
Opzoon Technology Co Ltd
Original Assignee
Opzoon Technology Co Ltd
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 Opzoon Technology Co Ltd filed Critical Opzoon Technology Co Ltd
Priority to CN2010106089595A priority Critical patent/CN102006243B/zh
Publication of CN102006243A publication Critical patent/CN102006243A/zh
Application granted granted Critical
Publication of CN102006243B publication Critical patent/CN102006243B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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。 
CN2010106089595A 2010-12-28 2010-12-28 拥塞报文发送方法 Expired - Fee Related CN102006243B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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) 用信号通知拥塞
Gelenbe et al. Adaptive qos routing for significant events in wireless sensor networks
CN101616097B (zh) 一种网络处理器输出端口队列的管理方法及系统
CN102726009B (zh) 一种数据流交换控制方法及相关设备
CN105490962B (zh) 一种基于OpenFlow网络的QoS管理方法
CN101692648B (zh) 一种队列调度方法及系统
CN102811176B (zh) 一种数据流量控制方法和装置
CN102368741A (zh) 支持层次化队列调度和流量整形的方法及装置
CN107948103A (zh) 一种基于预测的交换机pfc控制方法及控制系统
US20130343398A1 (en) Packet-based communication system with traffic prioritization
WO2013016971A1 (zh) 一种分组交换网中数据包发送和接收的方法及装置
US20130286842A1 (en) Transmitting apparatus, transmission method, and transmission system
CN101958847A (zh) 一种分布式qos路由的选择方法
CN101212467B (zh) 一种mpls网络的业务调度方法
CN101562841B (zh) 业务调度方法、装置和系统
CN101986628B (zh) 基于蚁群算法的实现多源组播流量均衡的方法
CN105007235B (zh) 一种无线多媒体传感器网络中的拥塞控制方法
CN104301254A (zh) 一种用于数据中心网络的数据包调度方法
CN103858474A (zh) 针对传输网络的增强性能的基于服务的配置
CN102006243B (zh) 拥塞报文发送方法
Hu et al. RPO: Receiver-driven transport protocol using opportunistic transmission in data center
CN101212412A (zh) 一种mpls网络的业务调度系统
CN110868359A (zh) 一种网络拥塞控制方法
CN101557346B (zh) 轮询式分组排队输出调度方法及分组交换节点

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