防拥塞的处理方法及系统的制作方法

文档序号:7944518阅读:259来源:国知局
专利名称:防拥塞的处理方法及系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种防拥塞的处理方法及系统。
背景技术
从本质上看,Internet网络是通过核心路由器连接的各种异构网络的集合,随 着网络业务的发展,核心路由器的容量将进一步扩大。图l是目前的核心路由器的架构 示意图,其中,核心交换模块(包括图1中的交换接入芯片和交换芯片)是连接输入端 (Ingress)与输出端(Egress)的桥梁,是路由器实现分组转发的核心器件。
通常,在核心交换网的各个输入端,应用加权随机早期丢弃(Weighted Randomly Early Discard,简称为WRED)检测功能来避免输入侧的拥塞,其中,WRED检测根据队列参 数、权重、或缓存占用等情况对输入端接收的报文进行处理,包括丢弃或加入到相应的队列 中。WRED检测可以调节输入端的发送流量,从而可以避免全网络进入拥塞状态而丢弃所有 报文。 目前,这种WRED检测的实现算法已经比较成熟,但是,由于这种基于输入端的 WRED检测只作用于输入端,而不能作用于输出端,因而在输出端,仍然可能存在报文拥塞的 情况,一旦出现报文拥塞,可能就需要丢弃报文。 例如,图2示出了核心交换网中在输出端出现拥塞的情况,如图2所示,两个相同 等级的数据流(分别用Flow A和Flow B表示)分别来自器件A和器件B,大小都为IG,这 两个数据流同时往一个端口 (即图2中右侧示出的交换接入芯片)输出,该输出端口的流 量为lG,假设Flow A中的数据包是承诺带宽,Flow B中的数据包是超额带宽,S卩,Flow A 中的数据包的优先级大于Flow B中的数据包的优先级,根据目前的处理,Flow A中将有一 半数据包被丢弃。高优先级的数据将被丢弃,这无疑不利于系统的操作及性能。

发明内容
针对上述输出端出现的报文拥塞而导致的输出端无法正确处理报文的问题而提 出本发明,为此,本发明旨在提供一种改进的防拥塞方案,以解决上述问题至少之一。
为了实现上述目的,根据本发明的一方面,提供了一种防拥塞处理方法,应用于系 统层,其中,系统层包括输入端和输出端。 根据本发明的防拥塞处理方法包括输入端将待发送的各队列的大小信息发送给 相应的输出端;输入端分别接收并保存来自各输出端的队列信息,其中,队列信息中包括输 出端的端口信息、队列大小信息,队列大小信息指示输出端的各队列大小的总和;根据队列 信息和预定规则,输入端对接收的待入队的报文进行处理。 其中,预定规则为对接收的报文的待入队列进行加权随机早期丢弃检测。
上述将待发送的各队列的大小信息发送给相应的输出端的操作包括以下之一 输 入端周期性地将待发送的各队列的大小信息发送给相应的输出端;输入端在队列的大小发 生变化时,将待发送的各队列的大小信息发送给相应的输出端。
4
以及,将待发送的各队列的大小信息发送给相应的输出端之后,各输出端周期性 地或非周期性地将队列信息反馈给输入端。 另外,如果输出端最新反馈的队列信息所指示的队列大小大于先前保存的队列信 息所指示的队列大小,则使用最新反馈的队列信息对先前保存的队列信息进行更新。
具体地,根据队列信息和预定规则,输入端对接收的待入队的报文进行的处理包 括根据待入队的报文的目的地址,确定报文需要入队的队列,并进一步确定需要入队的队 列对应的输出端;获取对应的输出端的队列信息;根据队列信息所指示的队列大小、以及 加权随机早期丢弃检测的结果,对报文进行丢弃或入队处理。 为了实现上述目的,根据本发明的另一方面,提供了一种防拥塞系统,该防拥塞系
统包括输入端和输出端,其中,输入端包括用于接收报文的第一接收模块。 根据本发明的防拥塞系统,上述输入端还包括第一发送模块,用于将待发送的各
队列的大小信息发送给相应的输出端;第二接收模块,用于分别接收并保存来自各输出端
的队列信息,其中,队列信息中包括输出端的端口信息、队列大小信息,队列大小信息指示
输出端的各队列大小的总和;处理模块,用于根据预定规则和第二接收模块接收的队列信
息,对第一接收模块接收的待入队的报文进行处理;上述输出端包括第三接收模块,用于
接收来自第一发送模块发送的信息;运算模块,用于根据第三接收模块接收的信息计算输
出端的队列大小信息;第二发送模块,用于将运算模块计算的输出端的队列大小信息发送
给第二接收模块。 优选地,上述输入端还包括更新模块,用于对先前保存的队列信息进行更新。第 一定时器,用于周期性地将待发送的各队列的大小信息发送给输出端。 以及,上述输出端还包括第二定时器,用于周期性地将队列信息反馈给输入端。
借助于上述技术方案的至少之一,本发明通过输入端与输出端的交互,使得在输 入端对接收的报文进行处理,能够提前缓解输出端的报文拥塞的情况,进而可以避免输出 端错误的处理报文的问题。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中
图1是相关技术中的核心路由器的架构示意图; 图2是相关技术中的核心交换网中的输出端口出现拥塞状况的示意图;
图3是根据本发明实施例的防拥塞处理方法的流程图;
图4是根据本发明实施例的防拥塞系统的框图;
图5是根据本发明实施例的防拥塞系统的架构示意图。
具体实施方式

功能概述 由于现有技术中的WRED检测只作用于输入端,而不能作用于输出端,因而在输出 端出现报文拥塞时,输出端无法正确处理报文,基于此,在本发明实施例提供的技术方案 中,通过输入端将待发送的各队列的大小信息发送给相应的输出端,然后,输出端返回队列信息给输出端,使得输出端能够根据队列信息对接收的报文进行处理,相比于现有技术,通 过输入端与输出端的交互,能够在输入端提前缓解输出端的报文拥塞的情况,进而可以避 免输出端错误的处理报文的情况,其中,队列信息包括输出端的端口信息、队列大小信息, 队列大小信息指示输出端的各队列大小的总和。需要说明的是,本文中所述的队列并非真 实的队列,而是虚拟队列。 下面将参考附图并结合实施例,来详细说明本发明。需要说明的是,如果不冲突, 本申请中的实施例以及实施例中的特征可以相互组合。
方法实施例 在本发明实施例中,提供了一种防拥塞处理方法,该方法应用于系统层,其中,这 里的系统层可以是上述的核心交换网,包括输入端和输出端。 图3是根据本发明实施例的防拥塞处理方法的流程图,如图3所示,该防拥塞处理 方法包括如下步骤(步骤S302-步骤S306)。 步骤S302,输入端将待发送的各队列的大小信息发送给相应的一个或多个输出
丄山顺。 在具体实施过程中,输入端对于上述大小信息的发送方式可以有如下两种(方 式一)可以周期性地将待发送的各队列的大小信息发送给相应的输出端,即,在输入端设 置一定时器,在定时器到时时,将待发送的各队列的大小信息发送给相应的输出端;(方式 二 )在队列的大小发生变化时,将待发送的各队列的大小信息发送给相应的输出端。
步骤S304,输入端分别接收并保存来自各输出端的队列信息,其中,该队列信息可 以包括输出端的端口信息、队列大小信息,队列大小信息指示输出端的各队列大小的总和。
在该步骤S304中,各输出端在接收到输入端在上述步骤S302中发送的信息后,首 先计算在本侧需要处理的队列大小信息(即,上述的队列信息),然后,周期性地或非周期 性地将队列信息反馈给各个输入端,这样,输入端就可以预先获知在输出端需要处理的数 据流量。 在具体的实施过程中,输入侧可以设置一目的端口队列大小表格(Destination Port Queue Size Table),该表格中包含各输出端的地址以及各输出端反馈的队列信息,用 于维护各输出端的流量大小,输入侧可以根据该表格中的地址查找到该地址对应的输出端
反馈的队列信息。该表格中各输出端的队列信息的初始值可以置为o,以根据接收到的输出
端的队列信息进行更新。如果输出端最新反馈的队列信息所指示的队列大小大于先前保存 的队列信息所指示的队列大小,则使用最新反馈的队列信息对先前保存的队列信息进行更 新,即,输入端每次接收到队列信息(可以是以信元的形式),将接收的队列信息所指示的 队列大小与该表格中对应地址的值进行比较,行丢弃或入队处理。这样,在输入端预先对接收的报文进行处理,可以提前缓解输出端的报 文拥塞的情况,进而可以避免输出端错误的处理报文的问题。 由以上描述可以看出,通过在输入端将待发送的各队列的大小信息发送给相应的 输出端,使得输出端可以反馈本侧需要处理的报文的大小,进而使得输入端能够根据输出 端的反馈情况,并结合加权随机早期丢弃检测技术对接收的报文进行处理(包括丢弃或入 相应的队列)。 以下从系统层角度对本发明进一步说明,g卩,分别从输入侧和输出侧来描述本发 明实施例。( — )输入侧 步骤l,输入侧将各队列的大小(以信元的形式)通过核心交换网发送给各输出
端,以通知各输出端将要处理的流量大小;该步骤对应于上述步骤S302 ; 步骤2,输入侧设置目的端口队列大小表格,根据接收的"端口队列大小信元"设置
表格中的值。输入侧每次将接收到的端口队列大小信元中指示的队列大小,与对应地址中
的值进行比较,如果比较的结果为大于对应地址中的值,则以指示队列大小对对应地址中
的值进行更新,否则,不更新对应地址中的值;该步骤对应于上述步骤S304 ; 步骤3,输入侧对待入队的报文进行处理,利用该报文携带的目的地址查找目的端
口队列大小表格中对应的输出端的队列大小,并结合加权随机早期丢弃技术,对该报文进
行处理,以避免在输出端发生拥塞;该步骤对应于上述步骤S306。 (二)输出侧 步骤l,输出端在本地可以设置一输出端队列大小表格(OutputPort Queue Size Table)。由于一个输出端可以有多个队列,这些队列对应于不同的输入端,因此,一个输出 端可能接收到多个"队列大小信元",输出端需要将这多个"队列大小信元"所指示的队列大 小相加得到总的队列大小,并将这个值填写入输出端队列大小表格; 步骤2,将上述输出端队列大小表格中的值携带在"端口队列大小信元"上,通过核 心交换网发送给各输入端,用于通知各输入端本地(即,输出端)需要处理的报文的情况;
步骤3,输出端对该输出端队列大小表格进行优化处理,S卩,周期性或非周期性地 对该输出端队列大小表格进行置0处理。类似于上述输入端的步骤2,输出端每次将计算 的总的队列大小与输出端队列大小表格中的值进行比较,如果比较的结果为大于表格中的 值,则以计算的总的队列大小进行更新,否则,不更新表格中的值。 需要说明的是,为了便于描述,在上文中,以步骤的形式示出并描述了本发明的方 法实施例的技术方案,上述所示出的步骤可以在诸如一组计算机可执行指令的计算机系统 中执行。虽然在上述的描述中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺 序执行所示出或描述的步骤。
装置实施例 在本发明实施例中,提供了一种防拥塞系统,优选地可以用于实现上述方法实施
例提供的方法。图4是根据本实施例的防拥塞系统的框图,如图4所示,该防拥塞系统包括
输入端l和输出端2,在实际中,一个输入端可以对应多个输出端,而一个输出端可以对应
多个输入端,为了描述方便,在图4中以一个输出端和输入端为例进行说明。 如图4所示,输入端1包括第一接收模块10、第一发送模块12、第二接收模块14
7和处理模块16 ;输出端2包括第三接收模块20、运算模块22和第二发送模块24,以下分 别对各模块进行描述。 第一接收模块IO,用于接收报文;第一发送模块12,用于将待发送的各队列的大 小信息发送给相应的输出端;第二接收模块14,用于分别接收并保存来自各输出端的队列 信息,其中,队列信息中包括输出端的端口信息、队列大小信息,队列大小信息指示输出端 的各队列大小的总和;处理模块16,连接至第一接收模块10和第二接收模块14,用于根据 预定规则和第二接收模块14接收的队列信息,对第一接收模块10接收的待入队的报文进 行处理;第三接收模块20,用于接收来自第一发送模块12发送的信息;运算模块22,连接 至第三接收模块20,用于根据第三接收模块20接收的信息计算输出端的队列大小信息;第 二发送模块24,连接至运算模块22,用于将运算模块22计算的输出端的队列大小信息发送 给第二接收模块14。这里的预定规则可以是上述方法实施例中的加权随机早期丢弃检测技 术。 在具体实施过程中,上述输入端1还可以包括一更新模块(图中未示出),用于对 先前保存的队列信息进行更新,以及输出端1和输入端2各自都可以包括一定时器(图中 未示出),其中,输入端1的定时器,用于在周期性地将待发送的各队列的大小信息发送给 输出端,输出端2的定时器,用于周期性地将队列信息反馈给输入端。 由以上描述可以看出,通过第一发送模块12与第二发送模块24,使得输出端与输 入端能够进行交互,并以此输入端能够对接收的报文进行相应的处理,能够提前缓解输出 端的报文拥塞的情况,进而可以避免输出端错误的处理报文的问题。 类似于上述方法实施例,在本实施例中,也从系统层角度对本发明进一步说明, 即,分别从输入侧和输出侧来描述本发明实施例。图5是根据本发明实施例的防拥塞系统 的架构示意图,如图5所示,下面结合实际应用对输入侧和输出侧的结构进行详细的描述。
( — )输入侧 虚拟目的端口队列模块501 ,对应于上述第二接收模块14,用于保存目的端口队 列大小表格,使得待入队的报文,可以根据该报文携带的目的地址在虚拟目的端口队列模 块301中查找到对应的目的端口队列大小; 加权随机早期丢弃模块502,对应于上述处理模块16,用于根据上述报文的待入 队的队列号和对应的目的端口队列大小选择丢弃策略,以根据丢弃策略的结果处理接收的 报文,如果丢弃策略的结果为丢弃,则报文将被丢弃; 虚拟队列模块503,用于将每个队列的大小信息以信元格式发送给该队列对应的 输出端; 发送模块504,输入侧的发送模块504负责将报文、队列大小信息(以信元的格 式)分别发送到交换芯片进行交换。 虚拟队列模块503和发送模块504对应于上述第一发送模块12。
(二)输出侧 信元分类模块505,用于负责对从交换芯片接收到的各种信元进行分类; 虚拟目的端口队列模块506,对应于上述第三接收模块20和运算模块22,用于将
接收的队列大小信息,根据该队列大小信息对应的输出端,更新输出端队列大小表格,并
且,可以周期性地或非周期性地将输出端队列大小表格中的值以信元的格式发送到交换芯
8片; 端口虚拟队列模块507,用于将输入端发送的报文入队,等待输出;
端口模块508 ,用于调度输出报文,完成报文的交换过程。 综上所述,通过本发明的上述实施例,输入端将待发送的各队列的大小信息发送
给相应的输出端,然后,输出端返回队列信息给输出端,使得输出端能够根据队列信息对接
收的报文进行处理,相比于现有技术,通过输入端与输出端的交互,能够在输入端提前缓解
输出端的报文拥塞的情况,进而可以避免输出端错误的处理报文的情况。 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用
的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成
的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储
在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们
中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的
硬件和软件结合。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种防拥塞处理方法,应用于系统层,其中,所述系统层包括输入端和输出端,其特征在于,所述方法包括所述输入端将待发送的各队列的大小信息发送给相应的输出端;所述输入端分别接收并保存来自各输出端的队列信息,其中,所述队列信息中包括输出端的端口信息、队列大小信息,所述队列大小信息指示所述输出端的各队列大小的总和;根据所述队列信息和预定规则,所述输入端对接收的待入队的报文进行处理。
2. 根据权利要求1所述的方法,其特征在于,所述将待发送的各队列的大小信息发送 给相应的输出端的操作包括以下之一所述输入端周期性地将待发送的各队列的大小信息发送给相应的输出端; 所述输入端在队列的大小发生变化时,将待发送的各队列的大小信息发送给相应的输 出端。
3. 根据权利要求2所述的方法,其特征在于,所述将待发送的各队列的大小信息发送给相应的输出端之后,所述方法还包括各输出端周期性地或非周期性地将所述队列信息反馈给所述输入端。
4. 根据权利要求3所述的方法,其特征在于,还包括如果所述输出端最新反馈的队列信息所指示的队列大小大于先前保存的所述队列信 息所指示的队列大小,则使用所述最新反馈的队列信息对先前保存的所述队列信息进行更新。
5. 根据权利要求l所述的方法,其特征在于,所述预定规则对接收的报文的待入队列 进行加权随机早期丢弃检测。
6. 根据权利要求5所述的方法,其特征在于,根据所述队列信息和所述预定规则,所述输入端对所述接收的待入队的报文进行处理包括根据待入队的报文的目的地址,确定所述报文需要入队的队列,并进一步确定所述需 要入队的队列对应的输出端;获取所述对应的输出端的队列信息;根据所述队列信息所指示的队列大小、以及加权随机早期丢弃检测的结果,对所述报 文进行丢弃或入队处理。
7. —种防拥塞系统,所述防拥塞系统包括输入端和输出端,所述输入端包括用于接收 报文的第一接收模块,其特征在于,所述输入端还包括第一发送模块,用于将待发送的各队列的大小信息发送给相应的输出端; 第二接收模块,用于分别接收并保存来自各输出端的队列信息,其中,所述队列信息中包括输出端的端口信息、队列大小信息,所述队列大小信息指示所述输出端的各队列大小的总和;处理模块,用于根据预定规则和所述第二接收模块接收的所述队列信息,对所述第一 接收模块接收的待入队的报文进行处理; 所述输出端包括第三接收模块,用于接收来自所述第一发送模块发送的信息;运算模块,用于根据所述第三接收模块接收的信息计算所述输出端的队列大小信息; 第二发送模块,用于将所述运算模块计算的所述输出端的所述队列大小信息发送给所 述第二接收模块。
8. 根据权利要求7所述的系统,其特征在于,所述输入端还包括 更新模块,用于对先前保存的所述队列信息进行更新。
9. 根据权利要求7所述的系统,其特征在于,所述输入端还包括 第一定时器,用于周期性地将待发送的各队列的大小信息发送给所述输出端。
10. 根据权利要求7所述的系统,其特征在于,所述输出端还包括第二定时器,用于周期性地将所述队列信息反馈给所述输入端。
全文摘要
本发明提供了一种防拥塞的处理方法及系统,其中,防拥塞处理方法包括输入端将待发送的各队列的大小信息发送给相应的输出端;输入端分别接收并保存来自各输出端的队列信息,其中,队列信息中包括输出端的端口信息、队列大小信息,队列大小信息指示输出端的各队列大小的总和;根据队列信息和预定规则,输入端对接收的待入队的报文进行处理。通过本发明,能够提前缓解输出端的报文拥塞的情况,进而可以避免输出端错误的处理报文的问题。
文档编号H04L12/56GK101783763SQ20091000540
公开日2010年7月21日 申请日期2009年1月16日 优先权日2009年1月16日
发明者孙明施, 杨宜, 赖伟, 黄炜 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1