报文拥塞避免方法及系统的制作方法

文档序号:7765610阅读:570来源:国知局
专利名称:报文拥塞避免方法及系统的制作方法
技术领域
本发明涉及数据通信领域,尤其涉及一种报文拥塞避免方法及系统。
背景技术
网络发展日新月异,网络设备在技术和性能上的快速增长,在Internet (网络)上 承载的IP业务也逐渐多样化,丰富的数据、语音、视频等综合业务正蓬勃发展。随着网络带 宽从10Mbps、100Mbps,lGbps,lOGbps到lOOGbps不断增大,靠供应商一味地增加带宽、扩大 网络设备的投入越来越不足以满足要求。基于端到端的QOS(Quality of Service,服务质 量)管理工具,逐渐成为供应商的关注焦点。针对不同客户,不同业务对网络资源的需求, 提供不同的服务质量,例如提供专用带宽、减少报文丢失率、降低报文传送时延及时延抖 动等。为此,通常采用如流分类和着色、流量监管、流量整形、网络拥塞管理、网络拥塞避免 等技术来实现。当网络发生拥塞时,按照传统尾丢弃的处理方法当队列的长度达到规定的最大 长度时所有到来的报文都被丢弃。对于TCP报文来说,如果大量的报文被丢弃将造成 TCP (Transmission Control Protocol,传输控制协议)全局同步,多个TCP连接同时进入 慢启动,发向特定队列的报文的流量忽大忽小地波动,使线路上的流量总在极少和饱满之 间波动。拥塞避免就是这样一种技术,其典型应用是监督网络资源的使用情况,当检测拥塞 有加剧的趋势时,采用某种丢弃策略,主动随机地丢弃报文。由于随机地丢弃报文将避免使 多个TCP连接同时降低发送速度,从而避免了 TCP的全局同步现象。当某个TCP连接的报 文被丢弃开始减速发送的时候,其他的TCP连接仍然有较高的发送速度。这样无论什么时 候总有TCP连接在进行较快的发送,提高了线路带宽的利用率,避免了网络过度拥塞。拥塞避免是在流分类的基础上进行的,主要包括丢弃优先级,拥塞检测,拥塞丢 弃等。丢弃优先级的主要依据有IP优先级、DSCP(Differentiated Services Code Point,差分服务代码点)值和 MPLS EXP (MPLS :Multi-Protocol Label Switching,多协议 标签交换;EXP Experiment,标签实验位)三种。用户可以区别设定同一流队列的不同丢弃 优先级,从而当网络发生拥塞时,实现区别的丢弃概率。目前,拥塞检测主要方法有尾丢弃(Tail Drop)、随机早期检测(RED,Random Early Detection)、加权随机早期检测(WRED,Weighted Random Early Detection)等。采用尾丢弃时,当队列的长度达到规定的最大阈值时所有到来的报文都将被丢弃。采用RED时,用户可以设定队列的高低阈值(threshold),当队列的长度小于低阈 值时不丢弃报文;当队列的长度在低阈值和高阈值之间时开始随机丢弃报文,队列的长度 越长丢弃的概率越高;当队列的长度大于高阈值时丢弃所有的报文。WRED与RED的区别在于前者引入IP优先级、DSCP值和MPLS EXP来为不同IP优 先级、DSCP或MPLS EXP的报文设定不同的丢弃优先级,从而对不同优先级的报文提供不同的丢弃概率。目前的网络设备上,拥塞避免主要由两个部件来完成包处理器(NP Network Processer 等)和流量管理器 TM (Traffic Manager)。现有拥塞避免主要有两种实现方式一种是在流量管理器上实现;另一种是由包 处理器来完成。一种是由包处理器根据用户配置的策略完成报文的分类,丢弃优先级设置,再由 流量管理器根据分类的流标识,丢弃优先级等进行流量监管,流量整形,拥塞避免,拥塞管 理等操作;另一种则是直接由包处理器完成报文分类,流量监管,流量整形,拥塞避免,拥塞 管理等全部操作。对于实现方式一存在的主要问题是包处理器来完成报文流分类,流量管理器进 行拥塞避免,流量管理器位于包处理器的下游。拥塞丢弃时,报文要在流量管理器中丢弃, 相对于报文在包处理器中丢弃来说,这样就浪费了一部分资源。对于实现方式二存在的主要问题是拥塞避免直接在包处理器上进行,就不光要 在在包处理器上完成报文的流分类,还需要完成报文的拥塞检测,而报文的拥塞检测就意 味着需要在包处理器的软件中实现和维护大量的队列,并进行丢弃策略处理。对于包处理 器,实现和维护大量队列带来了额外内存的开销,还要多次访问外设,而且其性能和效率业 务也得不到保证。

发明内容
本发明提供了一种报文拥塞避免方法及系统,提升了报文处理性能和效率。为解决以上技术问题,本发明提供了一种报文拥塞避免系统,包括包处理器,与流量管理器连接,用于完成报文的分类、解析、修改、封装;根据接收 到的所述流量管理器发送的拥塞策略,进行拥塞处理。所述流量管理器,用于所述报文的拥塞检测、所述拥塞策略的生成并将所述拥塞 策略发送给所述包处理器。进一步地,所述包处理器,包括报文分类模块、分类策略库、丢弃优先级库,所述 报文分类模块,用于查询所述分类策略库、所述丢弃优先级库,获得分类标识、丢弃优先级。进一步地,所述包处理器,还包括拥塞避免模块、拥塞策略库,所述拥塞避免模块根据接收到的所述报文分类模块发送的分类标识、丢弃优先 级,查询所述拥塞策略库,获得所述拥塞策略。进一步地,所述包处理器中的拥塞策略库接收所述流量管理器反馈的所述拥塞策 略。进一步地,所述流量管理器中的拥塞避免模块反馈所述拥塞策略给所述包处理器 中的拥塞策略库。进一步地,所述流量管理器中的拥塞避免模块根据报文队列的拥塞检测结果、从 包处理器中的所述丢弃优先级库中获得的丢弃优先级,生成拥塞避免策略。为解决以上技术问题,本发明还提供了一种报文拥塞避免方法,包括流量管理器,根据报文队列的拥塞检测结果、丢弃优先级,生成拥塞避免策略并反 馈给包处理器;
所述包处理器根据接收到的所述拥塞避免策略,进行拥塞处理。进一步地,所述包处理器,包括报文分类模块、分类策略库、丢弃优先级库,所述报文分类模块,查询所述分类策略库、所述丢弃优先级库,获得分类标识、丢 弃优先级。进一步地,所述包处理器,还包括拥塞避免模块、拥塞策略库,所述拥塞避免模块根据接收到的所述报文分类模块发送的分类标识、丢弃优先 级,查询所述拥塞策略库,获得所述拥塞策略。进一步地,所述包处理器中的拥塞策略库接收所述流量管理器反馈的所述拥塞策 略;其中,所述流量管理器中的拥塞避免模块反馈所述拥塞策略给所述包处理器中的拥塞 策略库。进一步地,所述流量管理器中的拥塞避免模块根据所述报文队列的拥塞检测结 果、从包处理器中的所述丢弃优先级库中获得的丢弃优先级,生成拥塞避免策略。与现有技术相比较,本发明中流量管理器拥塞避免模块根据拥塞检测结果、和丢 弃优先级生成拥塞避免策略,拥塞避免策略中包括丢弃概率函数,并更新包处理器中的拥 塞避免策略库中的报文处理策略,报文处理策略中包括报文丢弃/转发标记,由包处理器 和流量管理器协同完成报文的拥塞避免工作。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是本发明拥塞避免系统的结构示意图;图2是本发明拥塞避免系统的流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明拥塞避免的系统包括包处理器,用以完成报文的分类,解析,修改,封装,以及访问各种数据库,获取相
关信息;流量管理器,用以完成报文的拥塞检测和标记,其性能应与包处理器匹配;分类策略库,用以向包处理器报文分类模块提供报文分类的策略,位于存储器件 上;丢弃优先级库,用以保存报文分类后的丢弃优先级配置信息,供流量管理器使用, 位于存储器件上;拥塞避免策略库,用以向包处理器中的拥塞避免模块提供监管的策略和状态信 息,位于存储器件上。下面结合附图对本发明拥塞避免的系统和实现方法进行说明。图1是本发明本发明拥塞避免系统的结构示意图,本发明的包处理器(例如,网络 处理器)包括
流量接口模块101,包括多个物理接口以连接不同的网络,是网络数据包进出芯片 的数据通道。在数据接收方向上,把从某个物理接口收到的数据帧去除通信接口的封装组成数 据包,连同数据包的状态信息一同存入进出数据包缓存中;在数据发送方向上,根据进出数 据包缓存中的状态信息,取出数据包,加上通信接口封装,在相应的物理接口发出。物理接
口指具体的数据通信接口实体,包括以太网接口、P0S接口或者其它能够用于交换数据的接□。报文分类模块102,依据分类策略库103进行分类。用户配置的分类策略库103是块分类的依据。根据用户配置的策略,配合报文Mac 地址、内外层 802. lp、内外层 Vlan ID, MPLS Exp、IP Tos、5 元组、端 口号、QPPB Group ID 等 信息,可得到报文唯一对应的一个分类标识,也可称为流标识,即FlowID。当发送拥塞时,要 支持对队列报文进行WRED丢弃处理,而WRED处理的依据并不光是流标识,还需要报文的丢 弃优先级(DP)。为此,用户还要配置一张WRED丢弃优先级库104。依据该配置信息,本模 块可查找可得到两位的弃优先级(DP)信息拥塞避免模块105,依据报文分类模块102的分类结果即流标识(FlowID)、丢弃优 先级库104中的丢弃优先级(DP)等信息,进行拥塞避免。拥塞避免模块105,依据报文分类模块102的分类结果中的流标识(FlowID)和丢 弃优先级(DP)等信息,查询拥塞策略库106,返回策略信息(例如报文丢弃/转发标记、 丢弃概率),根据策略信息(报文丢弃/转发标记,或者丢弃概率),选择执行报文的转发, 丢弃动作。报文流量接口模块107,同报文流量接口模块101,只不过用在报文发送侧。本发明的流量管理器(或称TM)包括流量接口模块108。内部的主要子模块有一、接收控制器作用是接收总线数据, 内容包括信号转换,检测用户侧数据,并过滤不符合要求的数据,如错包等。对数据包进 行分析,区别高优先级协议包和一般数据包,分别送往高优先级协议包直通先进先出队列 (FIFO)和一般接收接口 FIFO。收集总线的流控信息,根据接收接口 FIFO状态对上级模块 进行流控等。二、接口先进先出队列FIFO,作用是进行输入接口的数据缓存。接口 FIFO必 须能够接收大于最大包长的数据,当FIFO内保存了一个完整包时,向流量监管模块发送指
7J\ o流量监管模块(Policer) 109。流量监管模块负责进行流量监管计算。对于正常包 则正常处理,对于丢弃包则直接将其送往管理模块113,不进行操作。当流量监管模块109 配置为丢弃模式,则流量监管模块109在进行计算后,将丢弃/通过的结果连同包标识符一 起送往管理模块113。当流量监管配置为着色模式,则根据包配置的“色盲/色敏感”对包 标识符进行计算。详细算法请参考RFC2697 (A Single Rate Three Color Marker,单速三 色标记)或RFC2698(A Two Rate Three Color Marker,双速三色标记)。按结果修改包标 识符的着色信息,并将着色结果送往存储器单元114。拥塞避免模块110。作用为实现尾部丢弃、WRED或者ENC拥塞避免,其主要功能 为根据报文队列状态信息,决定数据包是否丢弃。在ECN模式下进行ECN计算,并给出结 果。在WRED模式下进行WRED算法计算,并给出丢弃判断。在尾部丢弃模式下根据队列深度进行数据包的丢弃判断。在计算结束后将判断结果和包标识符信息,反馈给拥塞避免策 略库103。队列调度模块111。作用为时隙有效信号产生、回压信号产生、包标识符队列管理、 调度、整形、回压控制、提供与配置表项管理模块的接口,用于进行参数配置等。流量接口模块112。模块内部的主要子模块有一、包数据读出模块,主要负责将 输出FIFO中的包标识符读出送往存储器单元114,并接收相应的包数据送往流量出接口。 主要功能有收集出接口 FIFO空满情况,反馈给存储器单元114。根据存储器单元114的 FIFO情况发送包标识符。根据收到的数据包端口信息,将从存储器单元114接收到的读出 数据送往出接口 FIFO。二、出接口 FIFO,作用为进行发送接口的数据缓存。图2是本发明拥塞避免系统的流程图,数据处理方法流程如下步骤A.包处理器从上游器件接收数据包;进入报文流量接口模块201。步骤B.报文分类模块202,利用报文的五元组,Q0S相关信息组成键值,查询分类 策略库203,丢弃优先级库204 ;步骤C.报文分类模块202获取返回值分类标识(或称流标识),丢弃优先级;步骤D.报文分类模块202把得到的分类标识或流标识、丢弃优先级,封装成报文 TM描述信息头放在报文前;步骤E.拥塞避免模块205根据接收的报文分类模块202发送的分类标识或流标 识,组成查询键值,查询拥塞避免策略库206中的报文丢弃/转发标记;步骤F.包处理器拥塞避免模块205,根据拥塞避免策略库206返回的报文丢弃/ 转发(或者丢弃概率)标记选择对应的转发,丢弃动作。若是丢弃,则丢弃当前报文,转步 骤H。步骤G.若是转发,包处理器将需要转发的报文通过报文流量接口模块207,发送 到下游流量管理器件。转到步骤I步骤H.报文处理流程结束。步骤I.流量管理器报文流量接口模块207从上游包处理器件接收数据包;步骤J.流量管理器中的流量接口模块207获取报文前的TM描述信息头,得到分 类标识或流标识,入特定队列,并根据用户配置的阀值进行拥塞检测;步骤K.流量管理器拥塞避免模块209根据拥塞检测结果、和丢弃优先级生成拥 塞避免策略,拥塞避免策略中包括丢弃概率函数,并更新包处理器中的拥塞避免策略库206 中的报文处理策略,报文处理策略中包括报文丢弃/转发标记;步骤L.流量管理器拥塞避免模块执行其它动作如流量监管,流量整形,拥塞管理。步骤M.流量管理器将报文通过报文流量接口模块211发送到下游器件。与现有技术相比较,本发明中流量管理器拥塞避免模块根据拥塞检测结果、和丢 弃优先级生成拥塞避免策略,拥塞避免策略中包括丢弃概率函数,并更新包处理器中的拥 塞避免策略库中的报文处理策略,报文处理策略中包括报文丢弃/转发标记,由包处理器 和流量管理器协同完成报文的拥塞避免工作。与现有拥塞避免方式一相比较,拥塞丢弃时,报文一般情况下不会在流量管理器 中执行丢弃(除非TM报文队列满等特殊情况)。而在上游包处理器中就执行了丢弃动作,丢弃报文不必再转发到TM进行处理,节省了 TM资源。与方式二相比较,本发明减少了包处 理器维护大量队列带来了内存的开销和访问外设开销,提升了报文处理性能和效率。
权利要求
一种报文拥塞避免系统,其特征在于,该系统包括包处理器,与流量管理器连接,用于完成报文的分类、解析、修改、封装;根据接收到的所述流量管理器发送的拥塞策略,进行拥塞处理;所述流量管理器,用于所述报文的拥塞检测、所述拥塞策略的生成并将所述拥塞策略发送给所述包处理器。
2.如权利要求1所述的系统,其特征在于,所述包处理器,包括报文分类模块、分类策 略库、丢弃优先级库,所述报文分类模块,用于查询所述分类策略库、所述丢弃优先级库,获 得分类标识、丢弃优先级。
3.如权利要求2所述的系统,其特征在于,所述包处理器,还包括拥塞避免模块、拥塞 策略库,所述拥塞避免模块根据接收到的所述报文分类模块发送的分类标识、丢弃优先级, 查询所述拥塞策略库,获得所述拥塞策略。
4.如权利要求1或3所述的系统,其特征在于,所述包处理器中的拥塞策略库接收所述 流量管理器反馈的所述拥塞策略。
5.如权利要求4所述的系统,其特征在于,所述流量管理器中的拥塞避免模块反馈所 述拥塞策略给所述包处理器中的拥塞策略库。
6.如权利要求5所述的系统,其特征在于,所述流量管理器中的拥塞避免模块根据报 文队列的拥塞检测结果、从包处理器中的所述丢弃优先级库中获得的丢弃优先级,生成拥 塞避免策略。
7.一种报文拥塞避免方法,其特征在于,该方法包括流量管理器,根据报文队列的拥塞检测结果、丢弃优先级,生成拥塞避免策略并反馈给 包处理器;所述包处理器根据接收到的所述拥塞避免策略,进行拥塞处理。
8.如权利要求7所述的方法,其特征在于,所述包处理器,包括报文分类模块、分类策略库、丢弃优先级库,所述报文分类模块,查询所述分类策略库、所述丢弃优先级库,获得分类标识、丢弃优 先级。
9.如权利要求7所述的方法,其特征在于,所述包处理器,还包括拥塞避免模块、拥塞策略库,所述拥塞避免模块根据接收到的所述报文分类模块发送的分类标识、丢弃优先级,查 询所述拥塞策略库,获得所述拥塞策略。
10.如权利要求7或9所述的方法,其特征在于,所述包处理器中的拥塞策略库接收所述流量管理器反馈的所述拥塞策略;其中,所述 流量管理器中的拥塞避免模块反馈所述拥塞策略给所述包处理器中的拥塞策略库。
11.如权利要求10所述的方法,其特征在于,所述流量管理器中的拥塞避免模块根据所述报文队列的拥塞检测结果、从包处理器中 的所述丢弃优先级库中获得的丢弃优先级,生成拥塞避免策略。
全文摘要
本发明涉及一种报文拥塞避免方法及系统,该系统包括包处理器,与流量管理器连接,用于完成报文的分类、解析、修改、封装;根据接收到的所述流量管理器发送的拥塞策略,进行拥塞处理。所述流量管理器,用于所述报文的拥塞检测、所述拥塞策略的生成并将所述拥塞策略发送给所述包处理器。本发明方法和系统提升了报文处理性能和效率。
文档编号H04L12/56GK101984608SQ20101054919
公开日2011年3月9日 申请日期2010年11月18日 优先权日2010年11月18日
发明者唐保, 徐春松, 王然 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1