CN100450078C - 队列服务质量处理的方法和系统 - Google Patents
队列服务质量处理的方法和系统 Download PDFInfo
- Publication number
- CN100450078C CN100450078C CNB2005100022035A CN200510002203A CN100450078C CN 100450078 C CN100450078 C CN 100450078C CN B2005100022035 A CNB2005100022035 A CN B2005100022035A CN 200510002203 A CN200510002203 A CN 200510002203A CN 100450078 C CN100450078 C CN 100450078C
- Authority
- CN
- China
- Prior art keywords
- flow control
- waterline
- business stream
- formation
- 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
本发明提供了一种队列服务质量处理的方法和系统,其核心技术为:首先,队列管理单元判断业务流对应队列的长度是否超出流控水线,若是,则发出控制指令给流控处理单元;其次,流控处理单元接收该控制指令,调度业务流源端信息库查询队列中业务流的源端信息,并根据该业务流的源端信息向业务流的源端发送流控指示。本发明能够对端口中的不同业务流的源端发送流控指示。
Description
技术领域
本发明涉及通信领域,尤其是涉及队列服务质量处理的方法和系统。
背景技术
最初,网络的建立仅仅考虑数据传送的有效性,而对于网络服务质量(QoS,Quality of Service)特性考虑较少。随着语音、视频、网络游戏等应用逐渐兴起,QOS实现技术成为技术发展的必然。
QOS实现技术即网络设备对转发报文进行QoS保障的处理,其发生在报文(业务流)从设备的一个接口进入,到从另一个接口出去的整个过程中。上述这个过程按照处理顺序分为报文分类、拥塞管理、拥塞避免、流量监管与整形等部分。
所述报文分类是QoS的基础,只有区分了不同的报文业务,才能进行分别处理及保障相应业务的服务质量。一般在网络边界根据物理接口、源地址、目的地址、MAC地址、IP协议或应用程序的端口号等依据对报文进行分类。
因为网络资源总是有限的,当网上业务流量超过网络提供的能力时,则发生了拥塞。在发生拥塞时,通常处理的方法是使用队列技术,即在一个接口没有发生拥塞的时候,报文在到达接口端口后立即被发送出去;报文到达的速度超过接口发送的速度时,接口即发生拥塞。此时拥塞管理就会将这些分类报文送入不同的队列,然后经队列调度进行分别处理,优先级高的报文会得到优先处理。
由于网络资源有限,当拥塞发生时,按照传统的队列尾丢弃处理方式,对于TCP报文,会引发TCP的慢启动和拥塞避免,使TCP减少报文的发送。当同时丢弃多个TCP连接的报文时,将造成多个TCP连接同时进入慢启动和拥塞避免,这称之为:“TCP全局同步”。这使得发向网络的报文流量总是忽大忽小,线路上的流量总在极少和饱和之间波动,造成网络利用率降低。
为了避免这种拥塞情况的发生,可以采用RED/WRED的丢弃策略进行拥塞避免,即避免TCP连接的同时降低发送速度,从而避免“TCP全局同步”。这样无论什么时候,总有TCP连接在进行较快的发送,从而提高了线路利用率,降低了拥塞的发生。而基于以太网的局域网,则采用了端口的流控策略,以避免因为端口的有限缓存所导致的丢包问题。
现有技术一为利用流控策略的队列QoS处理的技术方案,如图1所示,设备A和设备B通过双向的以太网链路连接;设备A在A->B方向为业务的源端,在B->A方向为业务的宿端;设备B在A->B方向为业务的宿端,在B->A方向为业务的源端。当业务的宿端不能及时处理接收到的数据时,需要通过反方向,向业务的源端发送流控。
在设备内部,如图2所示,对于每个端口设置端口缓存,用于存储缓存队列,当缓存的用量超出流控水线的时候,就会通过此端口向对端设备发送流控帧进行流量控制。
由上述可以看出,现有技术一能够对业务流对应的队列在端口进行流量控制,然而当业务的宿端不能及时处理接收到的数据时,需要通过反方向,向业务的源端发送流控,因而其不能对端口中的不同业务流进行流量控制。
另外,如果因为某种原因,当流量控制不能起作用的时候,QoS处理则采用“尾丢弃”策略,这样会造成“TCP全局同步”,使网络性能急剧下降。
现有技术二为采用丢弃策略的队列QoS处理方案,如图3所示,报文从设备的一个接口进入,首先进行报文分类;然后进行拥塞管理,也就是将这些分类报文送入不同的队列;当出端口的队列超出丢弃水线时,开始随机丢包,队列的长度越高,丢弃的概率越大。随后进行拥塞避免,即为了避免拥塞情况的发生,采用RED/WRED的丢弃策略;最后分类报文经队列调度进行分别处理,优先级高的报文会得到优先处理。
从现有技术二的技术方案可以看出,现有技术二能够避免“TCP全局同步”的问题,但其缺少一种流控机制,也就是说在报文接口发生拥塞的时候,不能够及时通知入口端停止发送报文,从而导致丢包问题的发生。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种队列QoS处理的方法,该方法能够对端口中的不同业务流进行流量控制。
本发明的另一目的是提供一种队列QoS处理的方法,该方法不仅能够避免“TCP全局同步”,而且能够对入口端进行流控,从而防止丢包问题的发生。
本发明的目的是通过以下技术方案实现的:
本发明提供的一种队列服务质量处理的系统,包括业务流源端信息库、队列管理单元和流控处理单元;
所述业务流源端信息库用于存储业务流的源端信息;
所述队列管理单元用于判断业务流对应队列的长度是否超出流控水线,若是,则发出控制指令给流控处理单元;
所述队列管理单元中还设置有丢弃水线,所述队列管理单元判断队列长度是否超出队列的丢弃水线,若是,则采用随机早期检测/加权随机早期检测的丢弃策略将超出丢弃水线的队列丢弃;
所述流控处理单元用于接收该控制指令,调度业务流源端信息库查询队列中业务流的源端信息,并根据该业务流的源端信息向业务流的源端发送流控指示;所述流控指示包括业务流标识,并包括服务等级或流控时间或流量参数。
其中,所述队列管理单元还包括业务流映射子单元,用于将不同的业务流映射到不同的队列。
其中,所述队列管理单元还包括服务等级水线,用于为每个业务流对应的队列设置服务等级水线的过程。
其中,所述业务流的源端为一个或多个。
本发明提供的一种基于队列服务质量处理系统的队列服务质量处理的方法,包括:
A、队列管理单元判断业务流对应队列的长度是否超出流控水线,若是,则发出控制指令给流控处理单元;
B、流控处理单元接收该控制指令,调度业务流源端信息库查询队列中业务流的源端信息,并根据该业务流的源端信息向业务流的源端发送流控指示;所述流控指示包括业务流标识,并包括服务等级或流控时间或流量参数;
所述队列管理单元判断业务流对应队列的长度是否超出队列的丢弃水线,若是,则采用随机早期检测/加权随机早期检测的丢弃策略将超出丢弃水线的队列丢弃。
其中,在步骤A之前还包括将不同的业务流映射到不同的队列中的过程。
其中,所述队列的丢弃水线依队列不同而设置相同或不同。
其中,在所述步骤A之前还包括为每个业务流对应的队列设置服务等级水线的过程。
其中,所述队列的丢弃水线或流控水线依据每个队列服务等级水线的不同而设置不同。
由上述本发明提供的技术方案可以看出,本发明所述的方法由于对不同业务流的源端寻址,所以当业务流对应的队列长度超出流控水线时,能够对端口中的不同业务流的源端发送流控指示。
另外本发明所述的方法还包括为每个队列设置丢弃水线,从而将丢弃策略与流控策略相结合,既能够有效防止“TCP全局同步”问题的发生,又能够避免丢包问题的发生,从而避免当流量控制不能起作用的时候,QoS处理采用“尾丢弃”策略时造成“TCP全局同步”,使网络性能急剧下降问题的发生。
再者,因为可以为每个业务流对应的队列设置多个不同的基于服务等级(优先级)的流控水线和丢弃水线,所以通过控制不同业务流的流控水线,在(可能发生)网络拥塞时,优先向优先级/服务等级较低的业务流发送流控指示;通过控制队列的丢弃水线,在(可能发生)网络拥塞时,优先丢弃优先级/服务等级较低的业务。
附图说明
图1为现有技术一中队列的流控示意图;
图2为现有技术一中设备内部队列的流控示意图;
图3为现有技术二中采用丢弃策略进行拥塞避免的控制示意图;
图4为应用本发明的系统结构示意图;
图5为本发明的流程图。
具体实施方式
本发明所述的方法,应用于如图4所示的队列QoS处理系统,该系统包括业务流源端信息库110、队列管理单元120和流控处理单元130。
所述业务流源端数据库110用于存放业务流的源端地址信息等,所述信息可以为静态配置的信息,也可以为动态学习的信息。
所述队列管理单元120用于业务流的入队列以及为队列设置流控水线和丢弃水线;所述业务流的入队列是将不同的业务流映射到不同的队列;业务流区分优先级/服务等级,队列也区分优先级;高优先级/服务等级的业务流,映射到高优先级的队列中,低优先级/服务等级的业务流,映射到低优先级的队列中;所述流控水线用于当队列长度超出流控水线时,队列管理单元120将队列长度超出流控水线的溢出信息发送给流控处理单元130,并通知所述流控处理单元130向业务流的源端发送流控指示;所述丢弃水线用于当队列长度超出丢弃水线时,队列管理单元120采用随机早期检测(RED,Random Early Detection)/加权随机早期检测(WRED,Weighted RandomEarly Detection)的队列管理技术来维护有效的链路利用率,当输出的缓冲区到达警戒线时,队列将被随机选择以决定是否丢包;同时WRED可以感知报文中所携载的QoS信令,保障高服务等级(或优先级)的业务相对低服务等级(或优先级)的业务具有较低的丢弃概率,从而避免“TCP全局同步”,达到提高网络性能的目的。
所述流控处理单元130接收所述溢出信息,调度业务流源端信息库110,查询得到所述业务流的源端信息,然后根据所述业务流的源端信息向业务流的源端发送流控指示。
因为在向业务流的源端发送流控指示的时候,必须明确需要进行流控的业务流,所以所述流控指示必须包括流控的业务流;另外必要时,所述流控指示还包括:业务流的服务等级或流控时间或流量参数等,这是因为必要时还需要明确进行流控业务流的服务等级,考虑提供类似IEEE 802.3中的流控时间,以及要求源端停止发送业务流的间隔;而且如果在宿端能够决策源端的流量参数(比如说CIR、PIR等)的时候,则需要将此流量参数发送到源端。
通过上述调度业务源端信息库110查询所述业务流的源端信息,如果查询得到业务流的源端存在多个,则分别向各个业务流的源端发送流控指示。
本发明所述方法的技术方案如图5所示,业务流从设备的一个接口进入,首先进行业务流分类;业务的分类,可以基于业务的入端口、业务流中的内容(源地址、目的地址、协议类型等)以及业务的优先等级等。然后进行拥塞管理,即执行步骤S201,队列管理单元将不同的业务流映射到不同的队列中;也就是将这些分类业务流送入不同的队列,如queue 1、queue2、...queue n。业务流区分优先级/服务等级,队列也区分优先级;高优先级/服务等级的业务流,映射到高优先级的队列中,低优先级/服务等级的业务流,映射到低优先级的队列中。然后执行步骤S202,队列管理单元判断业务流对应队列的长度是否超出流控水线,若是,则执行步骤S203发出控制指令给流控处理单元,否则执行步骤S204,等候出队调度信令调度队列离开此端口。
随后执行步骤S205,流控处理单元接收上述控制指令,调度业务流源端信息库查询队列中业务流的源端信息,并根据该业务流的源端信息向业务流的源端发送流控指示。
宿端发送给源端的流控指示可以包括如下内容:业务流标识、服务等级、流控时间和流量参数等。所述业务流标识,用于告知源端需要进行流控的业务流流量;所述服务等级用于告知源端针对业务流中的哪个/些服务等级进行流控;所述流控时间用于告知源端停止发送数据的时间;所述流量参数用于告知源端发送此业务流必须满足的流量约束。
在向业务(流)的源端发送流控指示的时候,必须明确需要进行流控的业务(流),必要时,还需要明确是此业务中的哪类服务等级。考虑提供类似IEEE 802.3中的流控时间,要求源端停止发送业务(流)的间隔。如果在宿端能够决策源端的流量参数(比如说CIR、PIR等)的时候,则需要将此流量参数发送到源端。
接着执行步骤S206,即队列管理单元判断业务流对应队列的长度是否超出丢弃水线,若是,则执行步骤S207,采用随机早期检测/加权随机早期检测的丢弃策略;否则执行步骤S208,等候出队调度信令调度队列离开此端口。因为当等候离开端口的队列超出丢弃水线时,开始随机丢包,队列的长度越长,丢弃的概率越大。
通常可以为每个队列设置不同的丢弃水线,并且可以依据每个队列不同的服务等级设置不同的丢弃水线。例如,假设存在4个队列A、B、C、D,队列的长度为4096KByte;队列A、B、C、D的优先级逐减,可以设置队列A的丢弃水线为4KBye,队列B的丢弃水线为3KByte,队列C的丢弃水线为2.5KByte,队列D的丢弃水线为2KByte。为回避拥塞,随后进行拥塞避免,即为了避免拥塞情况的发生,此方案采用采用随机早期检测(RED,Random Early Detection)/加权随机早期检测(WRED,Weighted RandomEarly Detection)的队列管理技术来维护有效的链路利用率,当输出的缓冲区到达警戒线时,队列将被随机选择以决定是否丢包。
本发明所述的另一实施例是在上述步骤S201之前为每个业务流对应的队列设置服务等级水线。这样可以基于不同的服务等级(优先级)水线设置不同的流控水线和丢弃水线。其它与上一实施例雷同,这里不再一一叙述。
由于WRED丢弃策略可以感知所发送数据包中所携载的QoS信令,保障高服务等级(或优先级)的业务相对低服务等级(或优先级)的业务具有较低的丢弃概率,所以基于不同的服务等级(优先级)水线设置不同的流控水线和丢弃水线可以保障在将要发生拥塞的时候,尽早的通知源端停止发送低优先级的数据包;在发生拥塞的时候,优先丢弃低优先级的数据包。
由上述可以看出,本发明将不同的业务流映射到不同的队列中,当队列长度超过流控水线时,能够将流控指示按照不同的业务流源端地址发送给源端,所以可以实现端口中的不同业务流进行流控。
基于同一队列实体,设置流控水线和丢弃水线,将丢弃策略和流控策略有机的结合在一起。当队列长度达到流控水线的时候,向业务(流)的源端发送流控指示,使源端停止发送数据包,防止数据丢弃;同时,因为队列存储空间有限,或者是网络路径过大等问题,导致流控机制不能够生效的时候,一旦队列长度达到丢弃水线,则启用丢弃策略,防止“TCP全局同步”,并且,本发明可以基于业务的服务等级或优先级定义不同的丢弃概率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (7)
1、一种队列服务质量处理的系统,其特征在于,包括业务流源端信息库、队列管理单元和流控处理单元;
所述业务流源端信息库用于存储业务流的源端信息;
所述队列管理单元用于判断业务流对应队列的长度是否超出流控水线,若是,则发出控制指令给流控处理单元;
所述队列管理单元中还设置有丢弃水线,所述队列管理单元判断队列长度是否超出队列的丢弃水线,若是,则采用随机早期检测/加权随机早期检测的丢弃策略将超出丢弃水线的队列丢弃;
所述流控处理单元用于接收该控制指令,调度业务流源端信息库查询队列中业务流的源端信息,并根据该业务流的源端信息向业务流的源端发送流控指示;所述流控指示包括业务流标识,并包括服务等级或流控时间或流量参数。
2、按照权利要求1所述的系统,其特征在于,所述队列管理单元还包括业务流映射子单元,用于将不同的业务流映射到不同的队列。
3、按照权利要求1或2所述的系统,其特征在于,所述队列管理单元还包括服务等级水线,用于为每个业务流对应的队列设置服务等级水线的过程。
4、一种基于队列服务质量处理系统的队列服务质量处理的方法,其特征在于,包括:
A、队列管理单元判断业务流对应队列的长度是否超出流控水线,若是,则发出控制指令给流控处理单元;
B、流控处理单元接收该控制指令,调度业务流源端信息库查询队列中业务流的源端信息,并根据该业务流的源端信息向业务流的源端发送流控指示;所述流控指示包括业务流标识,并包括服务等级或流控时间或流量参数;
所述队列管理单元判断业务流对应队列的长度是否超出队列的丢弃水线,若是,则采用随机早期检测/加权随机早期检测的丢弃策略将超出丢弃水线的队列丢弃。
5、按照权利要求4所述的方法,其特征在于,在步骤A之前还包括将不同的业务流映射到不同的队列中的过程。
6、按照权利要求5所述的方法,其特征在于,所述队列的丢弃水线依队列不同而设置相同或不同。
7、按照权利要求6所述的方法,其特征在于,
在所述步骤A之前还包括为每个业务流对应的队列设置服务等级水线的过程;
所述队列的丢弃水线或流控水线依据每个队列服务等级水线的不同而设置不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100022035A CN100450078C (zh) | 2005-01-17 | 2005-01-17 | 队列服务质量处理的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100022035A CN100450078C (zh) | 2005-01-17 | 2005-01-17 | 队列服务质量处理的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1809018A CN1809018A (zh) | 2006-07-26 |
CN100450078C true CN100450078C (zh) | 2009-01-07 |
Family
ID=36840716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100022035A Expired - Fee Related CN100450078C (zh) | 2005-01-17 | 2005-01-17 | 队列服务质量处理的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100450078C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454014A (zh) * | 2016-05-30 | 2017-12-08 | 中兴通讯股份有限公司 | 一种优先级队列调度的方法及装置 |
CN110266604B (zh) * | 2019-07-09 | 2023-09-01 | 京信网络系统股份有限公司 | 空口带宽自适应控制方法、装置和通信设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719853A (en) * | 1993-12-22 | 1998-02-17 | Nec Corporation | Congestion control method in an ATM network based on threshold values of node queue length |
US6014384A (en) * | 1996-10-29 | 2000-01-11 | Ascom Tech Ag | Method for controlling data traffic in an ATM network |
US6333917B1 (en) * | 1998-08-19 | 2001-12-25 | Nortel Networks Limited | Method and apparatus for red (random early detection) and enhancements. |
US20030225903A1 (en) * | 2002-06-04 | 2003-12-04 | Sandeep Lodha | Controlling the flow of packets within a network node utilizing random early detection |
-
2005
- 2005-01-17 CN CNB2005100022035A patent/CN100450078C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719853A (en) * | 1993-12-22 | 1998-02-17 | Nec Corporation | Congestion control method in an ATM network based on threshold values of node queue length |
US6014384A (en) * | 1996-10-29 | 2000-01-11 | Ascom Tech Ag | Method for controlling data traffic in an ATM network |
US6333917B1 (en) * | 1998-08-19 | 2001-12-25 | Nortel Networks Limited | Method and apparatus for red (random early detection) and enhancements. |
US20030225903A1 (en) * | 2002-06-04 | 2003-12-04 | Sandeep Lodha | Controlling the flow of packets within a network node utilizing random early detection |
Also Published As
Publication number | Publication date |
---|---|
CN1809018A (zh) | 2006-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100823785B1 (ko) | 시스템 패브릭에서의 개방 루프 정체 제어를 위한 방법,장치, 제품 및 시스템 | |
CN101616097B (zh) | 一种网络处理器输出端口队列的管理方法及系统 | |
US9077466B2 (en) | Methods and apparatus for transmission of groups of cells via a switch fabric | |
US20090300209A1 (en) | Method and system for path based network congestion management | |
CN100499529C (zh) | 城域以太网中基于抖动检测的拥塞控制方法 | |
WO2012065477A1 (zh) | 报文拥塞避免方法及系统 | |
CN107454015B (zh) | 一种基于OF-DiffServ模型的QoS控制方法及系统 | |
WO2021178012A1 (en) | Improving end-to-end congestion reaction using adaptive routing and congestion-hint based throttling for ip-routed datacenter networks | |
JP2008515348A5 (zh) | ||
WO2009086779A1 (zh) | 一种转发分组报文的方法、系统及装置 | |
CN101631077A (zh) | 一种报文处理方法及装置 | |
JP2011250142A (ja) | 通信装置及び通信方法、並びにコンピューター・プログラム | |
US7383349B2 (en) | Controlling the flow of packets within a network node utilizing random early detection | |
US20140241160A1 (en) | Scalable, Low Latency, Deep Buffered Switch Architecture | |
US20060176893A1 (en) | Method of dynamic queue management for stable packet forwarding and network processor element therefor | |
CN108667746B (zh) | 一种在深空延时容忍网络中实现业务优先级的方法 | |
WO2016082603A1 (zh) | 一种调度器及调度器的动态复用方法 | |
US20150113146A1 (en) | Network Management with Network Virtualization based on Modular Quality of Service Control (MQC) | |
CN111628999B (zh) | 一种基于sdn的fast-cnp数据传输方法及系统 | |
CN101212412A (zh) | 一种mpls网络的业务调度系统 | |
CN101212467A (zh) | 一种mpls网络的业务调度方法 | |
WO2019061302A1 (zh) | 对报文进行处理方法及装置 | |
CN100450078C (zh) | 队列服务质量处理的方法和系统 | |
CN1248466C (zh) | 网络设备中控制报文转发的方法 | |
CN109547352B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090107 Termination date: 20160117 |
|
EXPY | Termination of patent right or utility model |