通信设备或网络故障时高优先级报文的带宽保证方法

xiaoxiao2020-9-10  21

专利名称:通信设备或网络故障时高优先级报文的带宽保证方法
技术领域
本发明涉及通信技术领域,尤其涉及一种通信设备或网络故障时高优先级报文的带宽保证方法。
背景技术
RPR(RESILIENT PACKET RING,弹性分组环网)技术是一种新兴的带有自愈功能的环网技术,由于它具有高效、安全、稳定等优点,所以正在得到广泛应用。如图1所示为RPR环示意图,RPR环是类似以太网的广播网络,和以往的以太网令牌环(Token Ring)相比,RPR效率比较高,主要体现在RPR是目的删除,Token Ring是源删除,即当一个单播报文在环上传送的时候,RPR只要到达目的地以后就从环上删除该报文(例如节点A->节点B的报文将在节点B处被删除,不会占用节点B-C-D-A的带宽);而Token则需要将该报文传送到发送报文的源节点以后,才删除报文(比如从节点A->B发送的报文,需要经过节点A-B-C-D-A,才能被删除)。
RPR环的内环和外环都是单向数据流,向固定的方向传送数据。RPR的另外一个功能是它在故障时有自愈功能。当RPR环一个节点出现故障时,如图1中假定原来有两个流,Fac节点A到C的流量走外环(A->D->C),Fdc节点D到C的流量D->C,直接由节点D走外环到C。
当节点D、C之间的光纤断时,节点D会自动将流量环回,即来自外环的流量将在节点D处进入内环,暂时由内环传送到节点C,一般称Wrap(环回)。此时的流量为FacA->D->A->B->C;FdcD->A->B->C;如图2所示,环回以后,设备会根据新学习到的网络拓扑信息,进行重新选环(走内环还是外环),重新选环后,两个流量为FacA->B->C走内环传送;FdcD->A->B->C,经过内环发送给C,这个过程称为Steering(转向)。
在上面描述的故障处理中,当流量变化时,会和原来来自节点B到C的流量叠加,如果这个流量比较大,则在节点B将产生拥塞。因为一般的RPR环都是核心网或者骨干网,网络利用率一般都比较高,所以就意味着在节点B产生的拥塞会非常严重。极端情况下,可能是RPR单环流量的2倍甚至更多。在倒换中,由于流量的变化,不可避免地会发生一些丢包,关键是在选环以后(流量走内环以后),可能很长时间之内网络都保持在这种状态下运行,一直等断掉的连接或者出现故障的节点被恢复。如何在这么拥塞的情况下保证高优先级报文不被丢弃,将是一个比较大的问题。
现有技术在RPR环上,当拥塞时,可采用公平算法技术对这些高优先级报文进行保证。这个公平算法,在不故障时也生效(一般没有故障时拥塞不严重)。还以上面的例子来说明,如图1所示,在RPR环没有故障时,如果A->D->C有流量(称之为Fac),同时D->C也有流量(称之为Fdc);两个流量之和大于环上传输的总带宽,这样在节点D将产生拥塞。公平算法将暂时抑制节点D上环的流量,同时向节点A发送拥塞反压报文,告诉节点A链路拥塞,节点A收到后将减小Fac流量,从而保证环上的畅通。在上面拥塞时,抑制节点D的流量中,将不抑制高优先级流量,这样保证了高优先级报文不会被丢弃。当环上发生故障时,如图3所示,在节点B发生拥塞,同样启动公平算法,作用过程和前面描述的正常情况下类似。
公平算法在正常流量下使用,不失为一个好的算法。但是在实际应用中,发现在环故障情况下(仍然假定节点D、C之间的光纤断),如图3所示,当Fac(从节点A经过B发送给C的流量)和Fbc(从节点B发送给C的流量)都非常大时,比如对于2.5G的环上,来自发给节点A到C的有1G的组播+600M高优先级+2.4G低优先级,节点B到C的还有400M高优先级和1.6G低优先级,按照公平算法,应该丢弃低优先级,保证高优先级。同时环上还有大量多播(采用广播发送形式)流量时,在节点B到节点C之间会出现严重拥塞。
这时使用公平算法,发现出现了高优先级报文和高优先级组播报文少量丢包的情况,经过分析,是由于对于高速的RPR环(如2.5G),节点上包含公平算法的芯片的Buff(缓存)不够大,不能吸收突发的大的拥塞造成的。由于高优先级报文一般是比较重要的报文(比如语音流),高优先级组播报文一般是视频流。少量丢包可能会引起图像声音不清晰,因此在实际应用中是不允许的。特别拥塞情况下,实际实现中无法保证高优先级完全不丢包。这个缺陷是可以通过增大节点RPR芯片的缓存来解决的(但是需要修改芯片设计)。
另外,当环上的高优先级流量相加大于故障状态下可以利用的带宽时,必然会出现高优先级丢包的情况,而且对于叠加的高优先级流量,都会出现丢包。如图3所示,当节点D、C之间的光纤断时,节点D、A、B送给节点C的流量都走内环,假定这个环是2.5G的RPR环。如果Fdc(节点D到C的流量)中包含1G的高优先级,Fac中包含1G的高优先级,Fbc中又包含1G的高优先级报文,这些流量在环不拥塞的情况下,Fdc走外环直接发送给C,Fbc走内环发送给C,不管Fac走节点B(内环),还是Fac走节点D(外环),都不超过2.5G,所以高优先级都不会被丢弃。故障状态下,以上流量都走内环发送给节点C,这样节点B、C之间的流量大于了2.5G(和为3G),这时公平算法将会导致3个流都丢包;这个实际上是用户不愿看到的,用户希望这种状态下,减少某一个的高优先级流量来实现整网高优先级不丢包的策略,而不是全部都可能丢包。
高优先级流量超过故障情况下环的容量时,所有的高优先级都可能出现丢包,这种情况下目前技术是无法解决的。

发明内容
本发明所要解决的技术问题是克服现有的RPR环出现故障时,高优先级报文出现丢包的缺陷,提供一种通信设备或网络故障时高优先级报文的带宽保证方法,从而防止高优先级报文丢包,提高网络的可靠性。
本发明为解决上述技术问题所采用的技术方案为一种通信设备或网络故障时高优先级报文的带宽保证方法,包括以下步骤首先对流分类的规则进行扩展,将通信设备或网络故障发生作为流分类规则的一部分,并设置与所述规则相对应的动作;在发生故障时,对故障进行感知,根据规则匹配到相应的动作,对低优先级流量采取流量限制,保证高优先级流量的传送;或同时对高优先级流量进行适当限制,保证大部分的高优先级流量完整通过。
所述的流分类规则和动作在通信设备中可以通过访问控制列表来实现,访问控制列表包含至少一组规则和动作的组合。所述的通信网络可以为弹性分组环网。所述的通信设备为可以由人工设定规则,并能感知故障发生的语音设备、传输设备或接入设备。所述的动作可以包括重新标记、流量限制或过滤。
对于通信设备或网络,有一种以上级别故障的情况下,可以对不同的故障分别进行定义,在不同的故障级别发生时,采取不同的动作。对于故障状态或故障级别的感知,可以由通信设备通过协议、信号自动感知,或者是由人工直接设置。
本发明的有益效果为本发明解决了现有的公平算法带来的缺陷,对于特大拥塞下对高优先级保证不好的情况,在本发明中,可以通过广义ACL,对低优先级流在故障发生时,通过执行预先设定的CAR动作,限制其发送;对于故障状态下,高优先级超过环容量的问题,使用本发明,可以通过降低部分业务的优先级来保证绝大多数高优先级报文的正常转发,这样就解决了以前故障情况下所有高优先级报文都有可能丢部分包的现象发生,有效地保证高优先级业务的传输,提高网络的可靠性。
利用本发明,可以对可能出现的故障状态进行预防和预先规划,从而主动、有效地解决高优先级业务丢包的问题。


图1为RPR环正常状态下节点A到C和D到C的流量示意图;图2为RPR环故障状态下节点A到C和D到C的流量示意图;图3为RPR环节点D、C间光纤断时的流量示意图。
具体实施例方式
下面根据附图和实施例对本发明作进一步详细说明在路由器和其它数据通信产品中,为了实现对不同的流进行不同的处理,需要对报文进行分类处理,简称流分类。流分类是指用报文的特征构建一定的规则,根据这个规则,通过表或者树的查找,将报文分为不同的类(流),即将数据区分成不同的流的过程。现有的流分类技术,其主要特征是流分类的元素都来源于报文自身,比如来自IP(互联网协议)报文自身的5个特征域IP目的地址、IP源地址、(IP报文承载的载荷的)协议类型、TCP(传输控制协议)或者UDP(用户数据报协议)的目的端口、TCP或者UDP的源端口所构成的5元组,或者增加IP头中的DSCP域(Diffserv codepoint,即差分业务编码)构成6元组,或者更多元组等,都是以报文头中的部分域为特征进行分类的。分类以后,对不同的流进行标识,然后对不同标识的流采取不同的处理,这种处理称为“动作”,如过滤、重定向、采样、重新标记、流量限制(CAR)等。流分类和动作在数据通信设备中通过ACL来实现,ACL包含一组或者多组规则(rule)和动作(Actions)的组合。规则即一个流的特征域,例如目的IP地址为1.1.1.1+源地址为2.2.2.2即可构成一个rule。
在本发明中采用一种广义的流分类方法,即对分类的元素和动作进行扩展,分类的元素将不再只是来源于报文本身,一些设备的特征、路径特征或者与报文完全没有关系的特征都可以增加到其中;同时对动作也进行扩展。如可以将“链路1断”这个事件作为一个流分类的元素,对对应的入接口的流量采取动作,规则可以是IP SA1+出口为RPR口+链路1断。IP SA1指一个IP包的源IP地址,这样在“链路1断”不发生的时候,配置的规则(rule)不会被匹配到,对应的动作不发生;在“链路1断”发生的时候,可以采取相应的动作,来保证高优先级报文。
在各个节点上环的接口上,目前ISP(Internet Service Provider,即因特网服务提供商)都使用了差分服务(DiffServ)来区分高、低优先级队列。差分服务使用IP头中的TOS(服务类型)域8位中的6位(称为DSCP域),总共可以将流分成64类,目前标准定义了6类EF(Expedited Forwarding)、AF1~AF4(Assured Forwarding)和BE(BestEfrort),其它目前保留。其中EF为最高优先级,AF1~AF4为用户自己定义的优先级,BE为最低优先级。
本发明采用广义流分类方法,在环发生故障时,对低优先级流量采取流量限制,保证高优先级的流量的传送;同时对高优先级流量进行适当限制,保证大部分的高优先级流量完整通过。流分类和动作在数据通信设备中通过ACL(访问控制列表)来实现。
本发明对流分类中的规则进行扩展,将一些条件增加到规则中,将RPR节点故障(RPR协议的拓扑发现可以感知是否发生了故障)发生作为规则的一部分。例如目的IP地址为1.1.1.1+源地址为2.2.2.2+RPR故障发生+报文出接口为RPR口就构成一个规则。在实际实现中故障发生占1个bit。故障发生时为1,故障没有发生时为0。这样,在故障发生时,数据报文将匹配到预先设定的规则。
每个规则和动作都联系在一起,用到的动作包括1)重新标记(Remark)将流分类出来的特定流的优先级都设定为指定的优先级,这样可以提高或者降低包的优先级。重新标记包含了对IP头的TOS域、VLAN的802.1p域、MPLS的Exp域等的标记。
2)流量限制CAR(Committed Acess Rate)根据用户配置的速率对流进行带宽限制,超过带宽的可以进行丢弃处理。
3)过滤即丢弃报文。
动作是这样使用的首先根据规则匹配到一个表项,规则的作用就是将数据包分成不同的流,匹配到的表项中有对应流应该执行的动作标识,根据动作标识和执行的顺序,执行规定的动作。比如规则为IP源地址1.1.1.1,其它域Any,Any的意思是为任意,这个规则对应的动作为过滤,即用户的意思是将源IP地址为1.1.1.1,目的IP地址和其它流分类元素为任意值的流全部丢弃处理。如果一个报文的源IP地址为1.1.1.1,在查找ACL流分类表时,它就会找到这个表项,表项的内容为过滤动作,然后该报文就会被丢弃。
下面具体举例进行说明在环出现故障时,RPR自身的协议会很快发现环上的故障,并知道发生了环回(Wrap),开始重新选环。在重新选环以后,进入一种故障状态下的稳定状态,实际这时环上可以利用的带宽已经远远小于故障前的带宽,在网络设计时,对于实时业务(最高优先级的流量)的最大值是知道的,在这个流量大于RPR的一般的带宽时(比如2.5G环的单向传送能力为5G,当去往一个节点的一个方向高优先级流量相加大于5G时),可以通过配置广义流分类来实现对个别流的丢弃或者降低其优先级。
本发明中,如可以配置这样一个规则Rule1IP SA1+出口为RPR口+RPR环上故障发生可以配置一个和它联系的动作Action1Remark to BE将Rule1和Action1应用到所有的非RPR接口上(一个Rule和Acction组成一个ACL,这个ACL可以对路由器的所有数据起作用,也可以对某个端口或者接口起作用。应用到所有非RPR接口上,即对所有非RPR接口起作用,因为这个规则控制的流量是送给RPR端口的流量,而不控制来自RPR端口的流量,所以要应用到所有非RPR端口上)。
在故障发生时,RPR的协议模块会修改转发中的故障发生标志位,这个标志为Key(关键字)的一部分去查找Rule构成的表(或者树),所有来自应用了这个规则的接口上的报文,和这个规则匹配的都会找到这个规则,然后执行对应动作,将自己优先级降低为BE。这样就减少了高优先级报文的带宽,从而使总的高优先级报文的带宽可以在物理带宽允许范围之内,保证了绝大部分高优先级报文可以被正确地转发。降低优先级到哪一级是可以设定的,这里采用的是降低到BE级(BestEffort)还可以降低到其它级别如AF1等。
在故障状态下,此时RPR环的带宽部分拥塞,用户在配置规则时,应该预先知道环上规划的流量的比例,所以可以知道预先如何设定规则。因为RPR上的流量都是通过其它接口上环的,而且RPR一般都是骨干网,所以在其它接口上都根据规划流量,进行了上环流量的限制。对于特别拥塞的情况,也可以通过规则降低部分高优先级的级别,从而保证更重要的高优先级通过,这个规则是可以做到的;同样,当高优先级流量在故障情况下超过带宽时,应该配置对部分相对不重要的高优先级流量,在故障情况下进行降低优先级处理,相当于对这部分流量进行了一些丢弃处理。
本方案还可以进行扩展,将故障的级别进行定义(例如一个连接断掉为故障一级,两个特定连接断掉为故障二级),在不同的故障级别发生时,对不同数量的流进行优先级降低。例如RPR环上一个节点故障时将5个高优先级流降低为低优先级;两个节点故障时将10个高优先级流降低为低优先级等。
推广开来,对于其它通信设备的故障,也可以这样使用,比如语音设备、传输设备、接入设备等等,这些通信设备通过人工可以预先设定规则,这些规则可以在故障发生时其作用,并能感知到故障发生。尤其在以后的IP电信网和相关接入设备中,很多MPLS(多协议标识交换)网络的带宽是已知的,在RPR环上就更适合使用本发明进行控制了。
本发明也可以使用两套队列、使用两套参数。正常情况下使用一套参数,故障情况下,通过广义流分类,调整入队列的队列号,来达到调整带宽的目的。
本发明可以对可预知的通信设备或者通信设备组成的网络的故障,通过应用广义流分类,设置一套适合故障的动作或者参数,在故障发生时使用,保证重要业务的传送。对于同一优先级或者同一种业务的报文,当其超过故障情况下的实际传送能力时,也可以通过预先设定的参数或者配置方案,重新对带宽、优先级等进行配置,达到保证更重要业务的目的。对于通信设备或者网络有多种级别故障的情况,可以设置多套参数或者方案;根据故障实际发生的级别,自动使用对应的参数或者方案。对于故障级别和故障状态的感知,可以是通信设备通过协议、信号等手段自动感知的,比如前面的RPR协议自动感知等;也可以是人工直接设置的,比如通过人工干预,直接通过命令行将设备设置为x级故障状态等。
本发明解决了现有的公平算法带来的缺陷,对于特大拥塞下对高优先级保证不好的情况,在本发明中,可以通过广义ACL,对低优先级流在故障发生时,通过执行预先设定的CAR动作,限制其发送;对于故障状态下,高优先级超过环容量的问题,使用本发明,可以通过降低部分业务的优先级来保证绝大多数高优先级报文的正常转发,这样就解决了以前故障情况下所有高优先级报文都有可能丢部分包的现象发生。例如,如果高优先级组播是IPTV流量,可以将一个频道丢弃(关闭),但是保证其它频道可用。
本发明可以采用区分故障状态和正常状态的方法(例如RPR环故障,可以通过RPR的协议层感知;某个节点温度过高可以通过温度传感器感知,然后通知到控制平面)预先对可能出现的故障状态进行预防和预先规划,从而主动、有效地解决问题。
本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。
权利要求
1.一种通信设备或网络故障时高优先级报文的带宽保证方法,其特征在于,包括以下步骤对流分类的规则进行扩展,将通信设备或网络故障发生作为流分类规则的一部分,并设置与所述规则相对应的动作;在发生故障时,对故障进行感知,根据规则匹配到相应的动作,对低优先级流量采取流量限制,保证高优先级流量的传送;或同时对高优先级流量进行适当限制,保证大部分的高优先级流量完整通过。
2.根据权利要求1所述的通信设备或网络故障时高优先级报文的带宽保证方法,其特征在于所述的流分类规则和动作在通信设备中通过访问控制列表来实现,访问控制列表包含至少一组规则和动作的组合。
3.根据权利要求1或2所述的通信设备或网络故障时高优先级报文的带宽保证方法,其特征在于所述的通信网络为弹性分组环网。
4.根据权利要求3所述的通信设备或网络故障时高优先级报文的带宽保证方法,其特征在于所述的通信设备为可以由人工设定规则,并能感知故障发生的语音设备、传输设备或接入设备。
5.根据权利要求3所述的通信设备或网络故障时高优先级报文的带宽保证方法,其特征在于所述的动作包括重新标记、流量限制或过滤。
6.根据权利要求3所述的通信设备或网络故障时高优先级报文的带宽保证方法,其特征在于对于通信设备或网络,有一种以上级别故障的情况下,对不同的故障分别进行定义,在不同的故障级别发生时,采取不同的动作。
7.根据权利要求3所述的通信设备或网络故障时高优先级报文的带宽保证方法,其特征在于对于故障状态或故障级别的感知,由通信设备通过协议、信号自动感知,或者是由人工直接设置。
全文摘要
一种通信设备或网络故障时高优先级报文的带宽保证方法,首先对流分类的规则进行扩展,将通信设备或网络故障发生作为流分类规则的一部分,并设置与所述规则相对应的动作;在发生故障时,对故障进行感知,根据规则匹配到相应的动作,对低优先级流量采取流量限制,保证高优先级流量的传送;或同时对高优先级流量进行适当限制,保证大部分的高优先级流量完整通过。本发明可以适用于RPR环网,克服了现有的RPR环出现故障时,高优先级报文出现丢包的缺陷,可有效防止高优先级报文丢包,提高网络的可靠性。
文档编号H04L12/56GK1773952SQ200410052200
公开日2006年5月17日 申请日期2004年11月10日 优先权日2004年11月10日
发明者刘少伟 申请人:华为技术有限公司

最新回复(0)