一种trill分发树故障的通告方法和装置制造方法

文档序号:7996182阅读:200来源:国知局
一种trill分发树故障的通告方法和装置制造方法
【专利摘要】本发明公开了一种多链接透明互连(TRILL)分发树故障的通告方法和装置,方法包括:当组内的成员路由网桥(RB)检测到TRILL分发树上发生故障时,所述成员RB将相应的故障信息通知给所述成员RB所在组内的其他成员RB。通过本发明,能够实现在RBv场景下成员RB之间通告TRILL分发树故障信息。
【专利说明】一种TRILL分发树故障的通告方法和装置
【技术领域】
[0001]本发明涉及网络通信【技术领域】,特别是指一种TRILL分发树故障的通告方法和装置。
【背景技术】
[0002]多链接透明互连(TRILL,Transparent Interconnection over Lots of Links)用于解决数据中心大二层网络中的多路径问题,或称L2MP(Layer2Multiple Path)问题。现有技术通过将中间系统对中间系统(IS-1S, Intermediate System to IntermediateSystem)路由协议引入二层网络实现了 L2MP。在TRILL网络中,运行TRILL协议的设备称为路由网桥(RB,Route fcidge),且由别名(Nickname)唯一的标识一台RB。在TRILL网络的入口,负责将端设备(End Station)的原始数据帧封装成TRILL格式并注入TRILL网络的路由网桥称为Ingress,所述将原始数据帧封装成TRILL格式是指,在原始数据帧前添加TRRILL头和外部帧头,TRILL头中主要包括TRILL网络入口和出口 RB的Nickname和跳数;在TRILL网络的出口,负责将TRILL数据帧解封为原始数据帧并转发给端设备的路由网桥称为Egress,同时,Egress还会学习所述数据巾贞是哪个Ingress导入TRILL的,并形成介质
访问控制(MAC,Medium Access Control)信息表{D_MAC, Ingress_Nickname,......}。由
于Ingress和Egress路由网桥在TRILL网络中处在边缘位置,因此又被称为边缘路由网桥(Edge Route Bridge)。
[0003]为了避免环路,在TRILL网络的边界,在任何一个虚拟局域网(VLAN,VirtualLocal Area Network)内只能由一个RB为一个端系统提供服务,该RB称为此端系统的服务提供者,如共享链路上VLAN的指定转发者(AF, Appointed Forwarder)。这样虽然能有效的避免环路,但也会带来一些问题,如:AF切换后,远端Egress上某些MAC表项中的Ingress_Nickname发生变化;在端系统通过点对点链路多归属(Mult1-homing)到多个RB时,成员链路上的负荷分担会引起远端RB上某些MAC表项的Ingress_Nickname频繁波动(称为flip-flop),从而引起回来的流量的乱序与丢包,导致会话中断。为此,TRILL工作组提出了路由网桥组(RBG, Route Bridge Group)或称为虚拟路由网桥(RBv, Virtual RouteBridge)的概念。在RBv内,组员共享一个Nickname,称为组Nickname, RBv成员在将数据中贞导入TRILL网络时,用组Nickname封装数据巾贞,从而解决了上述flip-flop问题。
[0004]另外,TRILL定义了分发树来实现对组播、广播以及未知单播报文的转发。TRILLcampus (TRILL网络)内可以建立一个或多个分发树,这些分发树是覆盖到TRILL网络的所有RB设备的;通过选择一个树根(Root),来计算到达TRILL网络内的所有RB的分发树,该分发树是VLAN共享的。另外,也可以针对不同VLAN对分发树进行不同的剪枝操作,以避免将报文发送到不必要的RB。当有RBv存在时,由于TRILL网络的分发树会覆盖RBv的所有成员设备,因此,所有的成员RB都会收到分发树上的组播流。
[0005]为了避免连接到RBv的端系统收到多份组播流,协调组播树(CMT, CoordinatedMulticast Trees)和伪节点(PN,Pseudonode)草案都规定了只能由其中的一个成员RB将从分发树上收到的组播流转发到端系统,该成员RB可以被称为该分发树的指定转发者。
[0006]针对链路聚合组(LAG, Link Aggregation Group)的场景,PN草案还提供了一种RBv到端系统的成员链路故障情况下下行组播流转发的保护机制,即在一个LAG内,为TRILL网络计算出来的全部分发树在LAG的成员间分配下行指定转发者,如果成员RB检测到对应的LAG成员链路上发生了故障,则该成员RB发出通告消息来通知其它的成员RB针对该RB所分的全部组播树在下行方向再重新选举出新的指定转发者。但这种方式仅仅是覆盖了 LAG接入侧故障的场景,而针对RBv内的成员RB检测到TRILL网络侧的分发树上出现了故障的情况该如何处理,现有技术还无法提供针对该问题的解决方案。
[0007]另外,针对局域网(LAN, Local Area Network)的场景,一个LAN上的RBv内根据VLAN来分配相应的LAN上唯一的AF,当某个AF接收不到期望的沿某分发树过来的组播连通性检查报文后,表明该AF在该分发树上的连通性出现了故障,现有技术还无法提供针对该故障的解决方案。
[0008]也就是说,现有技术还无法提供一种RBv场景下成员RB之间通告TRILL分发树故
障信息的解决方案。

【发明内容】

[0009]有鉴于此,本发明的主要目的在于提供一种TRILL分发树故障的通告方法和装置,以实现在RBv场景下成员RB之间通告TRILL分发树故障信息。
[0010]为达到上述目的,本发明的技术方案是这样实现的:
[0011]本发明提供了一种多链接透明互连TRILL分发树故障的通告方法,该方法包括:
[0012]当组内的成员路由网桥RB检测到TRILL分发树上发生故障时,所述成员RB将相应的故障信息通知给所述成员RB所在组内的其他成员RB。
[0013]该方法还包括:
[0014]所述组内收到所述故障信息的成员RB,根据接收的故障信息为所述分发树重新选择指定转发者AF。
[0015]通过以下方式为所述分发树重新选择AF:
[0016]随机选择或所述组内的成员RB协商选择。
[0017]该方法进一步包括:
[0018]使用所述TRILL分发树的ingress RB分别沿所述TRILL分发树发送组播连通性检测报文,当所述组内的成员RB接收不到相应ingress RB的所述组播连通性检测报文时,判断相应ingress RB到所述成员RB的报文转发出现故障。
[0019]所述故障信息包括:检测到TRILL分发树故障的RB标识及所述RB所属组的标识、发生故障的TRILL分发树标识、与检测到故障的RB之间存在报文转发故障的ingress RB的标识。
[0020]所述组为虚拟路由网桥RBv,相应的,所述RB所属组的标识为所述RBv的别名Nickname。
[0021]本发明还提供了一种多链接透明互连TRILL分发树故障的通告装置,适用于组内的成员路由网桥RB,包括:
[0022]故障检测模块,用于检测TRILL分发树上的故障;[0023]故障通知模块,用于在检测到TRILL分发树上发生故障时,将相应的故障信息通知给所述成员RB所在组内的其他成员RB。
[0024]该装置还包括:
[0025]指定转发者AF选择模块,用于根据所述组内收到所述故障信息的成员RB所接收的故障信息为所述分发树重新选择AF。
[0026]AF选择模块进一步用于,通过以下方式为所述分发树重新选择AF:
[0027]随机选择或所述组内的成员RB协商选择。
[0028]在该装置作为使用所述TRILL分发树的ingress RB时,所述故障检测模块进一步用于,沿所述TRILL分发树发送组播连通性检测报文;
[0029]该装置作为所述组内的成员RB时,所述故障检测模块在接收不到相应ingressRB的所述组播连通性检测报文时,判断相应ingress RB到所述成员RB的报文转发出现故障。
[0030]所述故障信息包括:检测到TRILL分发树故障的RB标识及所述RB所属组的标识、发生故障的TRILL分发树标识、与检测到故障的RB之间存在报文转发故障的ingress RB的标识。
[0031]所述组为虚拟路由网桥RBv,相应的,所述RB所属组的标识为所述RBv的别名Nickname。
[0032]本发明所提供的一种TRILL分发树故障的通告方法和装置,能够实现在RBv场景下成员RB之间通告TRILL分发树故障信息。本发明中,成员RB检测到分发树上故障,导致某ingress沿该分发树的组播流转发出现问题时,将故障信息告知组内的成员RB,而不需要洪泛到所有的RB,并针对该ingress和该分发树在剩余可用的成员RB之间再重新选举出一个新的指定转发者,而不需要所有使用到该分发树的任意ingress转发的组播流都通过新的指定转发者转发到组播接收者。
【专利附图】

【附图说明】
[0033]图1为本发明实施例的一种TRILL分发树故障的通告方法的流程示意图;
[0034]图2为本发明实施例在LAG场景下一个RB属于一个RBv的场景不意图;
[0035]图3为本发明实施例在LAG场景下一个RB属于两个RBv的场景示意图;
[0036]图4为本发明实施例在LAN场景的示意图;
[0037]图5为本发明实施例的一种TRILL分发树故障的通告装置的组成结构示意图。【具体实施方式】
[0038]下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
[0039]本发明实施例提供的一种TRILL分发树故障的通告方法,如图1所示,主要包括:
[0040]步骤101,当组内的成员RB检测到TRILL分发树上发生故障时,所述成员RB将相应的故障信息通知给所述成员RB所在组内的其他成员RB。
[0041]较佳的,该方法还可以包括:
[0042]步骤102,组内收到所述故障信息的成员RB,根据接收的故障信息为所述分发树重新选择AF。[0043]较佳的,使用TRILL分发树的ingress RB分别沿所述TRILL分发树发送组播连通性检测报文,当所述组内的成员RB接收不到相应ingress RB的所述组播连通性检测报文时,判断相应ingress RB到所述成员RB的报文转发出现故障。
[0044]所述故障信息包括:检测到TRILL分发树故障的RB标识及所述RB所属组的标识、发生故障的TRILL分发树标识、与检测到故障的RB之间存在报文转发故障的ingress RB的标识。其中,在RBv的场景下,所述组为RBv,相应的,所述RB所属组的标识为所述RBv的Nickname ;在没有RBv的场景下,所述RB所属组的标识为能唯一标识所述组的标识。
[0045]下面结合具体实施例对上述TRILL分发树故障的通告方法进一步详细阐述。
[0046]首先,如图2所示,图2中只有RB4、RB6、RB11和RB12是ingress RB,针对以RBlO为树根的分发树,RB4、RB6、RBll和RB12分别发送组播连通性检测报文检测分发树的连通性,其中,各个ingress RB发出的组播连通性检测报文的TRILL头部的ingress nickname分别是各 ingress RB 的 nickname, egress nickname 都是 RBlO 的 nickname ;如图 2 所不的粗实线所示的分发树,RB3是该分发树的下行指定转发者。
[0047]本发明的实施例一针对图2所示的一个成员RB只属于一个RBv的情形,其执行的TRILL分发树故障的通告方法主要包括:
[0048]步骤一,RB4、RB6、RB 11和RB 12周期性发送组播连通性检测消息,检测该分发树的
连通性。
[0049]步骤二,假设RB8设备发生了故障,则RBl和RB2在一定时间内接收不到RBll和RB12发送的组播连通性检测消息,RB3在一定时间内接收不到RB4、RB6、RB11和RB12发送
的组播连通性检测消息。
[0050]步骤三,RBU RB2和RB3分别发送故障通知消息给RBv内其它的成员RB。
[0051]这里,RBl发送的故障消息携带了 {RBI, RBvl, RB10, RBlI, RB12},故障消息中携带的RBl表示RBl是检测到分发树故障的节点,RBvl表示RBl属于RBvl的成员RB,RBlO表示树根,RBll和RB12表示RBll和RB12在选择RBlO为树根的分发树向RBl的转发出现了故障;这里可以通过ESADI来承载上述故障信息,且ESADI帧是可以通过单播的方式分别发送给RB2和RB3的。RB2发送的故障消息携带了 {RB2, RBvl, RB10, RBlI, RB12},故障消息中携带的RB2表示RB2是检测到分发树故障的节点,RBvl表示RB2属于RBvl的成员RB, RBlO表示树根,RBll和RB12表示RBll和RB12在选择RBlO为树根的分发树向RB2的转发出现了故障;这里也可以通过ESADI来承载上述故障信息,且ESADI帧是可以通过单播的方式分别发送给RBl和RB3的。RB3发送的故障消息携带了 {RB3,RBvl, RB10, RB4, RB6,RB1LRB12},故障消息中携带的RB3表示RB3是检测到分发树故障的节点,RBvl表示RB3属于 RBvl 的成员 RB, RBlO 表示树根,RB4、RB6、RBll 和 RB12 表示 RB4、RB6、RBll 和 RB12 在选择RBlO为树根的分发树向RB3的转发出现了故障;这里也可以通过ESADI来承载上述故障信息,且ESADI帧是可以通过单播的方式分别发送给RBl和RB2的。这样,当其它成员收到上述消息后,可以初步判断RBl和RB2还能收到RB4和RB6发送的组播连通性检测报文,则在RBl和RB2之间重新为RBll和RB12在RBlO为根的分发树内重新选择一个指定转发者。实际应用中,可以采用随机的方式重新选择指定转发者,也可以采用组内的成员RB协商的方式重新选择指定转发者,还可以采用特定的算法来重新选择指定转发者。
[0052]本发明的实施例二也针对图2所示的一个成员RB只属于一个RBv的情形,其执行的TRILL分发树故障的通告方法主要包括:
[0053]步骤一,RB4、RB6、RB 11和RB 12周期性发送组播连通性检测消息,检测该分发树的
连通性。
[0054]步骤二,假设RB10-RB8的链路发生了故障,则RB3在一定时间内接收不到RB4和RB6发送的组播连通性检测消息,而可以收到RBll和RB12发送的沿该分发树发送的组播连通性检测报文;RB1和RB2在一定时间内接收不到RBll和RB12发送的组播连通性检测消息,而可以接收到RB4和RB6发送的组播连通性检测消息。
[0055]步骤三,RBU RB2和RB3分别发送故障通知消息给RBv内其它的成员RB。
[0056]这里,RB3发送的故障信息携带了 {RB3,RBvl,RB10,RB4,RB6},RBlO说明是树根为RBlO的分发树上出现故障,RB4和RB6代表是发生的故障导致哪些ingress RB发送的组播报文无法被转发到指定的接收者;该故障信息通过单播ESADI方式分别通告给RBvl内的组内其它成员、即RBl和RB2,RBl和RB2收到该故障信息后,发现RB3是组内RBvl的树根为RBlO的指定转发者,则需要在RBl和RB2间重新选出该分发树在RB4和RB6作为ingress导入组播流时在RBvl内的唯一的指定转发者。如RB3不为指定转发者,如若RBl为该分发树在RBvl内的指定转发者,RB3检测到所述分发树上到本节点的分支发生故障,则通告的信息发送出来,RBl和RB2收到之后,发现其不是指定转发者,则无需重新进行选举,继续沿RBl转发该树过来的组播流量,也不影响现有的指定转发者的正常转发。实际应用中,可以采用随机的方式重新选择指定转发者,也可以采用组内的成员RB协商的方式重新选择指定转发者,还可以采用特定的算法来重新选择指定转发者。
[0057]同时,RBl和 RB2 发出的故障信息携带了 {RB I, RBvl, RB10, RBl I, RB 12}和{RB2,RBvl, RB10, RBl I, RB 12},当 RB3 收到后,RB3 被选举为 ingress 为 RBll 和 RB12 沿 RBlO 为根的分发树转发组播流时的指定转发者。
[0058]在该实施例中,如果还是按照现有的PN草案的通告方式,那么所有的成员都发出故障信息,则没有可用的指定转发者可以选举,所有的组播流在网络收敛之前都被丢弃了。而按照本发明实施例,即使所有的成员RB都发出故障信息,但是成员在判断出其还可以接收到某些ingress RB沿该树转发的组播流时,为该ingress RB和该分发树选举新的指定转发者,在这种情况下可以保证有可用的成员将接收到的组播流转发至连接的组播接收者。
[0059]本发明的实施例三针对图3所示的一个成员RB属于两个RBv的情形,如图3所示的CE4发出的组播流经由RB4作为ingress RB进入TRILL网络,RB4选择了以RBlO作为树根的一棵分发树转发该组播流,如图3所示的粗实线所示的分发树。RB2同时属于两个RBv, RBl和RB2构成RBv2,RB2和RB3构成RBvl,RB2同时被选举或配置为分发树在RBvl和RBv2内的指定转发者。TRILL分发树故障的通告方法主要包括:
[0060]步骤一,RB4上周期性发送组播连通性检测消息,检测该分发树的连通性。
[0061]步骤二,RB7-RB2的链路发生故障,则RB2在一定时间内接收不到RB4发送的组播连通性检测消息。
[0062]步骤三,RB2发送故障通知消息给RBvl和RBv2内的其它成员RB。
[0063]这里,RB2发送的消息是两个,一个是发给RBl的,携带的信息为{RB2,RB10,RBv2}, RBl收到该消息后,发现自己是RBv2内唯一可用的成员RB,则将自身选举为分发树在RBv2内的指定转发者;另外一个消息是发送给RB3的,携带的信息为{RB2,RB10,RBvl},RB3收到该消息后,发现自己是RBvl内唯一可用的成员RB,则将自身选举为分发树在RBvl内的指定转发者。
[0064]本发明的实施例四针对图4所示的LAN场景,如图4所示,RB 1、RB2和RB3分别是该LAN上VLAN1-100、101-200和201-300的AF。TRILL分发树故障的通告方法主要包括:
[0065]步骤一,RB4上周期性发送组播连通性检测消息,检测该分发树的连通性;其中组播BFD报文中携带的是VLAN100,指明检查的是VLAN100的剪枝树的连通性。
[0066]步骤二,RB7-RB1的链路发生故障,则RBl在一定时间内接收不到RB4发送的组播连通性检测消息。
[0067]这里,VLAN1-99的组播BFD检查报文传输的组播树不是如图4中实线所示的组播树,当RB7-RB1的链路发生故障时,RBl只有VLAN100的组播BFD报文收不到。
[0068]步骤三,RBl发送故障通知消息给所述LAN上的其它成员RB。
[0069]这里的故障信息通告可以是通过组播ESADI在该LAN上发送或者是中间系统-中间系统的会话(IIH,IS-1S HELLO)发送的,消息中携带的信息是{VLAN100}。所述LAN上的其他成员收到RBl发出的该故障信息后,知道RBl是该VLAN的AF,则给VLAN100再重新分配一个新的AF。
[0070]该实施例只是在LAN场景下的一个例子,如果组播连通性检查报文中未携带VLAN信息或者是携带了默认VLAN,那么收不到该组播连通性检查报文的所述RB在发送的故障信息中不需要携带VLAN信息,这样,由于LAN上的各个成员是知道所有VLAN的AF信息的,当其他成员收到该故障信息后,就将以该RB作为AF的所有的VLAN再重新分配新的RB作为新的AF (即判断出有哪些VLAN是以所述RB作为AF的,并为这些VLAN在剩余的成员RB内重新分配新的AF)。
[0071]对应本发明实施例的TRILL分发树故障的通告方法,本发明实施例还提供了一种TRILL分发树故障的通告装置,该装置适用于组内的RB,如图5所示,该装置主要包括:故障检测模块10和故障通知模块20 ;
[0072]其中,故障检测模块10,用于检测TRILL分发树上的故障;
[0073]故障通知模块20,用于在检测到TRILL分发树上发生故障时,将相应的故障信息通知给所述成员RB所在组内的其他成员RB。
[0074]较佳的,该装置还包括:AF选择模块30,用于根据所述组内收到所述故障信息的成员RB所接收的故障信息为所述分发树重新选择AF。
[0075]较佳的,AF选择模块30进一步用于,通过以下方式为所述分发树重新选择AF:随机选择或所述组内的成员RB协商选择。
[0076]较佳的,在该装置作为使用所述TRILL分发树的ingress RB时,所述故障检测模块10进一步用于,沿所述TRILL分发树发送组播连通性检测报文;
[0077]该装置作为所述组内的成员RB时,所述故障检测模块10在接收不到相应ingressRB的所述组播连通性检测报文时,判断相应ingress RB到所述成员RB的报文转发出现故障。
[0078]较佳的,所述故障信息包括:检测到TRILL分发树故障的RB标识及所述RB所属组的标识、发生故障的TRILL分发树标识、与检测到故障的RB之间存在报文转发故障的ingress RB 的标识。
[0079]较佳的,所述组为RBv,相应的,所述RB所属组的标识为所述RBv的Nickname。
[0080]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【权利要求】
1.一种多链接透明互连TRILL分发树故障的通告方法,其特征在于,该方法包括: 当组内的成员路由网桥RB检测到TRILL分发树上发生故障时,所述成员RB将相应的故障信息通知给所述成员RB所在组内的其他成员RB。
2.根据权利要求1所述TRILL分发树故障的通告方法,其特征在于,该方法还包括: 所述组内收到所述故障信息的成员RB,根据接收的故障信息为所述分发树重新选择指定转发者AF。
3.根据权利要求2所述TRILL分发树故障的通告方法,其特征在于,通过以下方式为所述分发树重新选择AF: 随机选择或所述组内的成员RB协商选择。
4.根据权利要求1、2或3所述TRILL分发树故障的通告方法,其特征在于,该方法进一步包括: 使用所述TRILL分发树的ingress RB分别沿所述TRILL分发树发送组播连通性检测报文,当所述组内的成员RB接收不到相应ingress RB的所述组播连通性检测报文时,判断相应ingress RB到所述成员RB的报文转发出现故障。
5.根据权利要求1、2或3所述TRILL分发树故障的通告方法,其特征在于,所述故障信息包括:检测到TRILL分发树故障的RB标识及所述RB所属组的标识、发生故障的TRILL分发树标识、与检测到故障的RB之间存在报文转发故障的ingress RB的标识。
6.根据权利要求5所述TRILL分发树故障的通告方法,其特征在于,所述组为虚拟路由网桥RBv,相应的,所述RB所属组的标识为所述RBv的别名Nickname。
7.一种多链接透明互连TRILL分发树故障的通告装置,适用于组内的成员路由网桥RB,其特征在于,包括: 故障检测模块,用于检测TRILL分发树上的故障; 故障通知模块,用于在检测到TRILL分发树上发生故障时,将相应的故障信息通知给所述成员RB所在组内的其他成员RB。
8.根据权利要求7所述TRILL分发树故障的通告装置,其特征在于,该装置还包括: 指定转发者AF选择模块,用于根据所述组内收到所述故障信息的成员RB所接收的故障信息为所述分发树重新选择AF。
9.根据权利要求8所述TRILL分发树故障的通告装置,其特征在于,AF选择模块进一步用于,通过以下方式为所述分发树重新选择AF: 随机选择或所述组内的成员RB协商选择。
10.根据权利要求7、8或9所述TRILL分发树故障的通告装置,其特征在于,在该装置作为使用所述TRILL分发树的ingress RB时,所述故障检测模块进一步用于,沿所述TRILL分发树发送组播连通性检测报文; 该装置作为所述组内的成员RB时,所述故障检测模块在接收不到相应ingress RB的所述组播连通性检测报文时,判断相应ingress RB到所述成员RB的报文转发出现故障。
11.根据权利要求7、8或9所述TRILL分发树故障的通告装置,其特征在于,所述故障信息包括:检测到TRILL分发树故障的RB标识及所述RB所属组的标识、发生故障的TRILL分发树标识、与检测到故障的RB之间存在报文转发故障的ingress RB的标识。
12.根据权利要求11所述TRILL分发树故障的通告装置,其特征在于,所述组为虚拟路由网桥RBv,相应的,所述RB所属组的标识为所述RBv的别名Nickname。
【文档编号】H04L12/26GK103973471SQ201310038904
【公开日】2014年8月6日 申请日期:2013年1月31日 优先权日:2013年1月31日
【发明者】代雪会, 廖婷, 翟洪军 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1