一种优化服务质量配置的方法及报文转发设备的制作方法

文档序号:7941110阅读:120来源:国知局
专利名称:一种优化服务质量配置的方法及报文转发设备的制作方法
技术领域
本发明涉及承载网网络通讯领域,尤其涉及一种优化服务质量(Quality of krvice,简称为Q0Q的方法及报文转发设备。
背景技术
在传统的IP网络中,所有的报文都被无区别地等同对待,每个路由器对所有的报文均采用先进先出(First Input First Output,简称为FIFO)的策略进行处理,它尽最大的努力将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。随着IP网络上新应用的不断出现,对IP网络的服务质量也提出了新的要求,传统 IP网络的“尽力服务”策略已不能满足现有应用的需要。如对于VoIP(Voice over Internet Protocol,网络电话)业务来说,如果报文传送时延太大,将是用户所不能接受的。因此,为 hternet(因特网)提供支持QoS的能力是解决该问题的可行方法。QoS即服务质量,它旨在针对各种应用的不同需求,为其提供不同的服务质量,如提供专用带宽、减少报文丢失率、降低报文传送时延及时延抖动等。常用的方式如限速、根据优先级信息进行转发等(根据报文特征限制它的转发速率和赋予它优先级)。如图1所示,描述了报文在路由器中的转发过程和QoS的应用场景。箭头方向指示了报文的转发路径,QoS策略应用在路由器的一个输入端口 gei-0/1/0/3上。报文从这个输入端口进入后,路由器设备如果判断出满足策略条件就会对该报文进行对应的QoS操作,比如限速、根据优先级信息进行转发等。如下程序是在某一个端口上进行QoS策略配置的一个简单例子。其中,class-map 禾口 policy-map、service-policy命令结合使用;ingress表示进入这个端口的 艮文。
zxrlO (config)
class-mpa abc match-all
match precedence 0,1,3,4,5,6,7 zxrlO (config) policy-map 123 class abc police 2000 200 zxrlO(config)
service-policy gei-0/3/0/1 123 ingress
policy-map 123是一个QoS策略,它会通过service-policy命令应用到某一个路由器的端口上(如gei-0/1/0/3)。其中policy-map 123的内容是,对于应用了 QoS策略的路由器端口收到的报文,凡是满足class-map abc的报文都会应用一组策略police 2000,以限制报文转发速率为20001ApS。200是和限速值配合使用的一个附加值,表示缓存大小。同时,满足class-map abc的报文是,match precedence 0134567,也就是报文中的 precedence值等于以上这几个值中任意一个值的报文。如图2所示,在这种流量管理的配置应用场景中,常用的实现方式是让不同的报文进不同的队列。如precedence值等于0、1、3、4、5、6或7的报文走队列l,precedence值等于2的报文走队列2 (其中precedece的取值范围只能是0 7)。其中队列1有2000kpbs 的限速,队列2为普通队列。队列可以理解成一种硬件资源,能实现分流的目的,同时队列又具有流量管理的功能(比如限速)。在使用过程中,经常遇到这样问题,比如,当QoS策略的应用条件配置为matCh precedence 0 1 3 4 5 6 7,这种配置实际上是只要不匹配precedence〗即可,但在match precedence选项中却需要列出所有除了 2之外的所有数字,比较麻烦,容易出错。另外如果QoS策略的应用条件时匹配报文携带的vlan (Virtual Local Area Network,虚拟局域网)或者匹配的对象取值范围很大时,那么就更麻烦了,比如match vlan的取值范围是 1-4095。此外,对于如此多的数字,一般的实现方式是把每一个值依次写入一块存储区域, 然后让路由器中相关的芯片设备一一进行查找匹配操作。一方面浪费了很多存储空间,另一方面降低了芯片的查找速度。还有一种方式是进行压缩。比如4、5、6、7这四个数采用二进制表示方式可分别写为100、101、110及111,用伪程序可以统一表示成1**,其中‘*’表示可能取不同的值。这样, 写入存储区域的条目由两部分组成键值和掩码。在转发报文的过程中,掩码某一位是1时表示报文中的这一位必须和键值中的这一位要一致才算相匹配,掩码某一位是O是则表示不关心这一位。这样,使用二进制方式的键值100及掩码100,或者16进制的键值0x0004 及掩码0x0004,就可以表示上述4 7这4个值了。对于match vlan 1-353及;355_4095这一 QoS策略的应用条件,仅仅没有;354的情况,通过压缩算法可以使用图3所示的条目表示。采用16进制表示方式时,总共19条。 但是这种情况下条目还是很多,不能在根本上提高性能。

发明内容
本发明的目的在于提供一种优化QoS配置的方法及报文转发设备,以克服现有技术class-map中match多个不同值占用大量存储空间的问题。为解决上述问题,本发明提供了一种优化服务质量配置的方法,应用于报文转发设备中,包括在接收到用户配置的服务质量策略的应用条件及满足该应用条件的报文的输出队列的信息后,如判断出所述应用条件中所包含的匹配数据的个数超过允许数值范围内除该匹配数据之外的所有其他数据的个数,则将所述所有其他数据作为新的应用条件中的匹配数据进行存储,并设置将满足所述新的应用条件的报文从除满足原应用条件的报文的输出队列之外的其他队列输出。进一步地,所述将所述所有其他数据作为新的应用条件中的匹配数据进行存储,具体包括将所述所有其他数据作为所述新的应用条件中的匹配数据,按照压缩方式进行压缩后存储。进一步地,所述方法还包括将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储,并设置将满足该另一个应用条件的报文从满足所述原应用条件的报文的输出队列输出;所述报文转发设备在收到一报文后,先应用所述新的应用条件中匹配数据进行匹配,如不满足所述新的应用条件,再使用所述另一个应用条件中的匹配数据进行匹配。进一步地,所述方法还包括所述报文转发设备在收到一报文后,先应用所述新的应用条件中匹配数据进行匹配,如满足所述新的应用条件,则根据设置将所述报文从除满足原应用条件的报文的输出队列之外的其他队列输出;否则,从满足原应用条件的报文的输出队列输出。进一步地,所述将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储, 具体包括将允许数值范围内的所有数据作为所述另一个应用条件中的匹配数据,按照压缩方式进行压缩后存储。相应地,本发明还提供了一种报文转发设备,包括交互模块,用于接收用户配置的服务质量策略的应用条件及满足该应用条件的报文的输出队列的信息;判断模块,用于判断所述应用条件中所包含的匹配数据的个数是否超过允许数值范围内除该匹配数据之外的所有其他数据的个数;转换模块,用于在所述判断模块判断出所述应用条件中所包含的匹配数据的个数超过所述所有其他数据的个数时,将所述所有其他数据作为新的应用条件中的匹配数据进行存储,并设置将满足所述新的应用条件的报文从除满足原应用条件的报文的输出队列之外的其他队列输出。进一步地,所述转化模块将所述所有其他数据作为新的应用条件中的匹配数据进行存储,具体包括所述转换模块将所述所有其他数据作为所述新的应用条件中的匹配数据,按照压缩方式进行压缩后存储。进一步地,所述设备还包括报文接收模块及匹配模块;所述转换模块还用于将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储,并设置将满足该另一个应用条件的报文从满足所述原应用条件的报文的输出队列输出;所述报文接收模块用于接收报文;所述匹配模块用于先应用所述新的应用条件中的匹配数据对所述报文接收模块接收到的所述报文进行匹配,如不满足所述新的应用条件,再使用所述另一个应用条件中的匹配数据对所述报文进行匹配。进一步地,所述设备还包括报文转发模块,用于在所述匹配模块判断出所述报文接收模块接收到的所述报文满足所述新的应用条件时,根据设置将所述报文从除满足原应用条件的报文的输出队列之外的其他队列输出;否则,从满足原应用条件的报文的输出队列输出。进一步地,所述转换模块用于将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储,具体包括所述转换模块用于将允许数值范围内的所有数据作为所述另一个应用条件中的匹配数据,按照压缩方式进行压缩后存储。采用本发明后,与现有技术相比,大大节省了设备的存储空间,同时提高了芯片查找匹配的性能。


图1为现有技术中报文在路由器中的转发过程和QoS的应用场景示意图;图2为现有技术中一种流量管理的QoS配置应用场景示意图;图3为现有技术中采用压缩方法对1 4095中除了 3M外的其他剩余4094个数值进行压缩得到的结果示意图;图4为本发明实施例中报文转发设备的结构示意图;图5为本发明实施例中对1 4095中除了 3M外的其他剩余4094个数值进行压缩得到的结果示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在本实施例中,一种优化QoS配置的方法,可应用于路由器或交换机等报文转发设备上,包括在接收到用户配置的QoS策略的应用条件及满足该应用条件的报文的输出队列的信息后,如判断出该应用条件中所包含的匹配数据的个数超过允许数值范围内除该匹配数据之外的所有其他数据的个数,则将该所有其他数据作为新的应用条件中的匹配数据进行存储,并设置将满足该新的应用条件的报文从除满足原应用条件的报文的输出队列之外的其他队列输出。此外,还可将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储,并设置将满足该另一个应用条件的报文从满足原应用条件的报文的输出队列输出。此后,报文转发设备在收到一报文后,先应用该新的应用条件中匹配数据进行匹配,如不满足该新的应用条件,再使用上述另一个应用条件中的匹配数据进行匹配。如图4所示,本实施例中所述报文转发设备包括以下模块
交互模块,用于接收用户配置的服务质量策略的应用条件及满足该应用条件的报文的输出队列的信息;判断模块,用于判断所述应用条件中所包含的匹配数据的个数是否超过允许数值范围内除该匹配数据之外的所有其他数据的个数;转换模块,用于在所述判断模块判断出所述应用条件中所包含的匹配数据的个数超过所述所有其他数据的个数时,将所述所有其他数据作为新的应用条件中的匹配数据进行存储,并设置将满足所述新的应用条件的报文从除满足原应用条件的报文的输出队列之外的其他队列输出。较优地,所述转化模块将所述所有其他数据作为新的应用条件中的匹配数据进行存储,具体包括所述转换模块将所述所有其他数据作为所述新的应用条件中的匹配数据,按照压缩方式进行压缩后存储。较优地,上述报文转发设备还可包括报文接收模块及匹配模块;所述转换模块还用于将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储,并设置将满足该另一个应用条件的报文从满足所述原应用条件的报文的输出队列输出;所述报文接收模块用于接收报文;所述匹配模块用于先应用所述新的应用条件中的匹配数据对所述报文接收模块接收到的所述报文进行匹配,如不满足所述新的应用条件,再使用所述另一个应用条件中的匹配数据对所述报文进行匹配。较优地,上述报文转发设备还可包括报文转发模块,用于在所述匹配模块判断出所述报文接收模块接收到的所述报文满足所述新的应用条件时,根据设置将所述报文从除满足原应用条件的报文的输出队列之外的其他队列输出;否则,从满足原应用条件的报文的输出队列输出。较优地,所述转换模块用于将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储,具体包括所述转换模块用于将允许数值范围内的所有数据作为所述另一个应用条件中的匹配数据,按照压缩方式进行压缩后存储。 下面用一个应用示例进行进一步说明。如图5所示,表示vlan值不是354的报文要有20001ibpS的限速。这时只需要2 个条目即可,条目1在前,条目2在后,芯片查找不到第一个条目就肯定会查找到第二个条目(掩码是0,表示每一位值都不关心,所以任何报文都符合)。和图2类似,让条目1对应的报文走队列2,条目2对应的报文走队列1,同时队列1有20001ApS限速,队列2为普通队列无任何限制。根据本示例可以看出,如应用条件为match vlan 1-353,355-4095时,这么多的配置条目,实现起来就需要占用很多存储空间,同时芯片在查找匹配的过程中也需要一一读取查找。如采用了上述方法实现,那么只需要2个条目表示即可,效果显而易见。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。以上所述仅为本发明的优选实施例而已,并非用于限定本发明的保护范围。根据本发明的发明内容,还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种优化服务质量配置的方法,应用于报文转发设备中,包括在接收到用户配置的服务质量策略的应用条件及满足该应用条件的报文的输出队列的信息后,如判断出所述应用条件中所包含的匹配数据的个数超过允许数值范围内除该匹配数据之外的所有其他数据的个数,则将所述所有其他数据作为新的应用条件中的匹配数据进行存储,并设置将满足所述新的应用条件的报文从除满足原应用条件的报文的输出队列之外的其他队列输出。
2.如权利要求1所述的方法,其特征在于所述将所述所有其他数据作为新的应用条件中的匹配数据进行存储,具体包括将所述所有其他数据作为所述新的应用条件中的匹配数据,按照压缩方式进行压缩后存储。
3.如权利要求1所述的方法,其特征在于,还包括将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储,并设置将满足该另一个应用条件的报文从满足所述原应用条件的报文的输出队列输出;所述报文转发设备在收到一报文后,先应用所述新的应用条件中匹配数据进行匹配, 如不满足所述新的应用条件,再使用所述另一个应用条件中的匹配数据进行匹配。
4.如权利要求3所述的方法,其特征在于,还包括所述报文转发设备在收到一报文后,先应用所述新的应用条件中匹配数据进行匹配, 如满足所述新的应用条件,则根据设置将所述报文从除满足原应用条件的报文的输出队列之外的其他队列输出;否则,从满足原应用条件的报文的输出队列输出。
5.如权利要求3所述的方法,其特征在于所述将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储,具体包括将允许数值范围内的所有数据作为所述另一个应用条件中的匹配数据,按照压缩方式进行压缩后存储。
6.一种报文转发设备,包括交互模块,用于接收用户配置的服务质量策略的应用条件及满足该应用条件的报文的输出队列的信息;判断模块,用于判断所述应用条件中所包含的匹配数据的个数是否超过允许数值范围内除该匹配数据之外的所有其他数据的个数;转换模块,用于在所述判断模块判断出所述应用条件中所包含的匹配数据的个数超过所述所有其他数据的个数时,将所述所有其他数据作为新的应用条件中的匹配数据进行存储,并设置将满足所述新的应用条件的报文从除满足原应用条件的报文的输出队列之外的其他队列输出。
7.如权利要求6所述的设备,其特征在于所述转化模块将所述所有其他数据作为新的应用条件中的匹配数据进行存储,具体包括所述转换模块将所述所有其他数据作为所述新的应用条件中的匹配数据,按照压缩方式进行压缩后存储。
8.如权利要求6所述的设备,其特征在于,还包括报文接收模块及匹配模块;所述转换模块还用于将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储,并设置将满足该另一个应用条件的报文从满足所述原应用条件的报文的输出队列输出;所述报文接收模块用于接收报文;所述匹配模块用于先应用所述新的应用条件中的匹配数据对所述报文接收模块接收到的所述报文进行匹配,如不满足所述新的应用条件,再使用所述另一个应用条件中的匹配数据对所述报文进行匹配。
9.如权利要求8所述的设备,其特征在于,还包括报文转发模块,用于在所述匹配模块判断出所述报文接收模块接收到的所述报文满足所述新的应用条件时,根据设置将所述报文从除满足原应用条件的报文的输出队列之外的其他队列输出;否则,从满足原应用条件的报文的输出队列输出。
10.如权利要求8所述的设备,其特征在于所述转换模块用于将允许数值范围内的所有数据作为另一个应用条件中的匹配数据进行存储,具体包括所述转换模块用于将允许数值范围内的所有数据作为所述另一个应用条件中的匹配数据,按照压缩方式进行压缩后存储。
全文摘要
一种优化服务质量的方法及报文转发设备,所述报文转发设备包括交互模块、判断模块及转换模块;所述方法应用于报文转发设备中,包括在接收到用户配置的服务质量策略的应用条件及满足该应用条件的报文的输出队列的信息后,如判断出所述应用条件中所包含的匹配数据的个数超过允许数值范围内除该匹配数据之外的所有其他数据的个数,则将所述所有其他数据作为新的应用条件中的匹配数据进行存储,并设置将满足所述新的应用条件的报文从除满足原应用条件的报文的输出队列之外的其他队列输出。采用本发明后,与现有技术相比,大大节省了设备的存储空间,同时提高了芯片查找匹配的性能。
文档编号H04L12/56GK102377668SQ20111031494
公开日2012年3月14日 申请日期2011年10月17日 优先权日2011年10月17日
发明者宋君 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1