CN104702499A - 一种判断本地网络生成环路的方法和设备 - Google Patents
一种判断本地网络生成环路的方法和设备 Download PDFInfo
- Publication number
- CN104702499A CN104702499A CN201510072327.4A CN201510072327A CN104702499A CN 104702499 A CN104702499 A CN 104702499A CN 201510072327 A CN201510072327 A CN 201510072327A CN 104702499 A CN104702499 A CN 104702499A
- Authority
- CN
- China
- Prior art keywords
- access interface
- protocol massages
- local network
- sends
- receives
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种判断本地网络产生环路的方法,所述方法应用于TRILL网络中,其特征在于,该方法包括:路由桥RB通过接入端口接收协议报文,并判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的;如果是,所述RB统计在检测周期内所述接入端口接收其自身发送出去的所述协议报文的数量;所述RB判断所述数量是否超过阈值;如果超过,所述RB确定与其通过接入端口连接的本地网络生成环路。本申请可以准确的判断出本地网络是否生成环路,并且还能避免由于本地网络生成环路导致的整个TRILL网络不可用的情况。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种判断本地网络生成环路的方法和设备。
背景技术
TRILL(Transparent Interconnection of Lots of Links,多链路透明互联)是IETF(Internet Engineering Task Force,互联网工程任务组)推荐的L(Link,连接层)2网络标准。TRILL具有很高的重要性,因为大型数据中心开始利用FCoE(Fibre Channel over Ethernet,以太网光纤通道)等新技术将存储传输和IP传输融合到以太网连接上,而标准的STP(Spanning Tree Protocol,生成树协议)将不再适合融合网络或超大型数据中心的扩展。TRILL协议通过将三层路由技术IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)的设计思路引入到二层网络,从而将二层网络的简单、灵活性与三层网络的稳定、可扩展和高性能有机结合起来,非常适合数据中心构建大型二层网络的需要。
支持TRILL协议的设备称为RB(Router Bridge,路由桥)设备。当一个链路上存在多个RB设备时,由DRB(Designed Routing Bridge,指定路由桥)在其Hello报文中声明链路的指定VLAN(Virtual Local Area Network,虚拟局域网)以及各RB设备负责的AVF(Appointed VLAN-x Forwarder,VLAN的指定转发者)VLAN信息。作为AVF的RB负责将链路上相关VLAN的本地数据流量上送TRILL网络,并从TRILL网络接收远端数据流量向本地网络转发。
在数据中心内部,骨干网络使用TRILL设备,本地网络使用非TRILL设备,接入RB上的接入端口负责将本地网络流量上送TRILL网络,向远端RB下连接的其它本地网络转发。由于本地网络配置错误或线缆连接错误,本地网络中的非TRILL设备之间可能生成环路,由此导致的流量风暴会从接入RB上送TRILL网络,发送给所有存在相关AVF VLAN的远端RB下连接的其它本地网络,造成整个数据中心网络变得不可用。如图1所示的TRILL网络中,正常情况下本地网络1~4中都有相同VLAN的AVF,互相转发数据流量。当本地网络1中出现环路时,产生的流量风暴会从RB4的接入端口上送TRILL网络,发送到本地网络2~4中,导致本地网络2~4中的业务流量无法正常转发,整个数据中心的网络变得不可用。
在现有技术中还没有针对判断TRILL网络感知本地网络成环的解决方案。
发明内容
本申请实施例提供一种判断本地网络生成环路的方法和设备,以使RB能够准确的判断出本地网络是否生成环路,从而避免由于某一本地网络生成环路造成整个TRILL网络不能使用的问题。
为达到上述目的,本申请实施例提供一种判断本地网络生成环路方法,所述方法应用于TRILL网络中,该方法包括:
一种判断本地网络产生环路的方法,所述方法应用于TRILL网络中,其特征在于,该方法包括:
路由桥RB通过接入端口接收协议报文,并判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的;
如果是,所述RB统计在检测周期内所述接入端口接收其自身发送出去的所述协议报文的数量;
所述RB判断所述数量是否超过阈值;
如果超过,所述RB确定与其通过接入端口连接的本地网络生成环路。
所述RB通过接入端口接收协议报文,并判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的,包括:
所述RB获取所述接入端口接收的所述协议报文中的标识信息;
所述RB根据所述标识信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的;
其中,所述标识信息是对不同所述RB,以及同一RB的不同端口发送的协议报文进行区分而额外添加的。
所述RB通过接入端口接收协议报文,并判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的,包括:
所述RB获取所述接入端口接收的所述协议报文中的报文信息;
所述RB根据所述报文信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的。
其中,所述报文信息,具体为:
发送所述协议报文的RB的系统标识ID、发送所述协议报文的RB的DRB优先级、发送所述协议报文的RB的端口ID,以及所述协议报文的保存时间。
在所述RB确定与其通过接入端口连接的本地网络生成环路后,还包括:
作为虚拟局域网的指定转发者AVF的所述RB屏蔽与所述本地网络连接的接入端口;或,
作为AVF的所述RB屏蔽发送所述协议报文的虚拟局域网VLAN。
一种路由桥RB设备,所述RB应用于TRILL网络中,其特征在于,所述RB包括:
第一判断模块,用于通过接入端口接收协议报文,并判断判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的;
统计模块,当所述第一判断模块的判断结果为是时,用于统计在检测周期内所述接入端口接收其自身发送出去的所述协议报文的数量;
第二判断模块,用于判断所述数量是否超过阈值;
确定模块,当所述第二判断模块的判断结果为是时,用于确定与所述RB通过接入端口连接的本地网络生成环路。
所述第一判断模块,具体用于:
获取所述接入端口接收的所述协议报文中的标识信息;
根据所述标识信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的;
其中,所述标识信息是对不同RB,以及同一RB的不同端口发送的协议报文进行区分而额外添加的。
所述第一判断模块,具体用于:
获取所述接入端口接收的所述协议报文中的报文信息;
根据所述报文信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的。
其中,所述报文信息,具体为:
发送所述协议报文的RB的系统标识ID、发送所述协议报文的RB的DRB优先级、发送所述协议报文的RB的端口ID,以及所述协议报文的保存时间。
所述RB,还包括:
屏蔽模块,在所述确定模块确定与所述RB通过接入端口连接的本地网络生成环路后,用于作为虚拟局域网的指定转发者AVF的所述RB屏蔽与所述本地网络连接的接入端口;或,
用于作为AVF的所述RB屏蔽发送所述协议报文的虚拟局域网VLAN。
与现有技术相比,本申请实施例至少具有以下优点:
本申请实施例中,所述RB的接入端口通过判断其接收到的所述协议报文是否是所述RB的接入端口自身发送出去的,如果判断出所述协议报文是接入端口自身发送出去的,所述RB的接入端口还需要判断在检测周期内接收其自身发送出去的协议报文的数量是否超过阈值,并且如果所述数量同样超过了阈值来表明本地网络确实生成了环路。本申请通过两个标准来共同判断本地网络是否生成了环路,使得判断结果更加准确。同时,在所述RB判断出本地网络生成环路后,作为AVF的所述RB还要将其与所述本地网络间的接入端口或发送所述协议报文的VLAN屏蔽掉,以使由于某一本地网络生成环路引起的流量风暴只局限在当前的本地网络中,避免了由于当前的本地网络生成环路时,流量风暴由所述本地网络对应的作为AVF的RB上传到整个TRILL网络,保证了其他本地网络的正常使用。
附图说明
图1是现有技术中一种TRILL网络的结构示意图;
图2是本申请实施例提供的一种判断本地网络生成环路的方法流程图;
图3是本申请实施例提出的一种RB的结构示意图。
具体实施方式
当本地网络中生成环路时,所述本地网络中会发生流量风暴,所述流量风暴会通过与本地网络连接的作为AVF的RB的接入端口上传到整个TRILL网络中,从而影响到整个TRILL网络,造成整个TRILL网络不可用,但是在现有技术中还没有针对判断本地网络是否生成环路的解决方案。
由于在本地网络生成环路时,与本地网络连接的RB的接入端口会在一定时间内持续收到其自身发送出去的多个协议报文,在本申请中,所述RB的接入端口通过判断其接收到的协议报文是否为所述RB的接入端口自身发送出去的,并且,所述RB的接入端口还要判断在检测周期内接收其自身发送出去的协议报文的数量是否超过阈值来共同来判断与RB连接的本地网络是否生成环路,以使所述RB能够判断出本地网络是否生成了环路。本申请通过两个标准来共同判断本地网络是否生成了环路,使得判断结果更加准确。同时,在所述RB判断出本地网络生成环路后,作为AVF的所述RB还要将其与所述本地网络间的接入端口或发送所述协议报文的VLAN屏蔽掉,以使由于本地网络生成环路引起的流量风暴只局限在当前的本地网络中,避免了由于当前的本地网络生成环路时,流量风暴由所述网络对应的作为AVF的RB上传到整个TRILL网络,保证了其他本地网络的正常使用。
基于TRILL网络的应用场景,如图2所示,一种判断网络生成环路的方法,包括以下步骤:
步骤201,路由桥RB通过接入端口接收协议报文,并判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的;如果是,表明本地网络中可能生成了环路,需要进一步进行验证,进行步骤202,如果不是,表明本地网络中没有生成环路,则直接结束。
在本地网络生成环路时,与生成环路的本地网络连接的RB的接入端口会在短时间内接收到大量由所述本地网络发送的协议报文,并且,所述协议报文中有很多是所述RB的接入端口自身发送出去的,因此,所述RB的接入端口通过判断其接收到的协议报文中是否有其自身发送出去的可以作为判断本地网络是否生成环路的标准之一。例如:当前所述RB的接入端口发送了一个协议报文1,如果所述RB的接入端口接收到了很多协议报文,并且所述协议报文中有协议报文1,那么该条件就可以作为判断本地网络是否生成环路的标准之一。因为,在正常情况下所述RB的接入端口不会收到其自身发送的协议报文1,但是在某些情况下,所述RB的接入端口也会收到协议报文1,因此,不能只凭借该条件准确的判断出与所述RB连接的本地网络是否出现了环路。
所述RB通过接入端口接收协议报文,并判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的,其判断方法有两种。
方法1:
所述RB获取所述接入端口接收到的所述协议报文中的标识信息;
所述RB根据所述标识信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的。
其中,所述标识信息是对不同RB,以及同一RB的不同端口发送的协议报文进行区分而额外添加的。例如:所述RB在协议报文中添加一种新的信息,所述新的信息可以为信息A,不同RB在其发送的协议报文中添加信息A是不相同的,如:RB1在其发送的协议报文中添加的信息A为A1,RB2在其发送的协议报文中添加的信息A为A2,并且可以根据协议报文中信息A的不同来区分出是哪个RB发送的,同时,所述信息A1中还有A1x,所述X为区分同一RB的发送协议报文的不同端口的。
具体的,在所述协议报文中添加标识信息方式可以有两种。
方式1:
整个TRILL网络系统为了区分不同的RB,根据所述RB的位置、功能等因素,以及RB中的各个端口的位置、功能等因素为每个RB和RB的各个端口分配标识信息,所述RB在将协议报文发送出去前,所述RB在协议报文中添加所述RB和所述RB的各个端口分配到的标识信息,这样就能对不同RB发送的协议报文进行区分了,同时还能对同一RB的不同端口发送的协议报文进行区分。
方式2:
所述RB根据标识协议规则在所述RB发送的协议报文中添加标识信息,所述标识信息可以对不同RB,以及同一RB的不同端口发送的协议报文进行区分。所述RB能够根据所述标识信息判断出所述协议报文是否是自己发送出去的,如果是自己发送的,所述RB还可以根据所述标识信息判断出所述协议报文是自身的哪个端口发送的。
其中,所述标识协议规则可以是所述RB根据其自身独有的信息,以及所述RB的各个端口独有的信息在所述协议报文添加标识信息,例如:假如整个TRILL网络中的RB的编号是互不相同的,所述RB可以使用自己的编号来与其他RB进行区分,在同一RB中,由于所述RB的各个端口的位置不同,所述RB的各个端口可以使用其的位置编号来与其他端口来进行区分。
上述两种方式只是为了说明本申请中添加标识信息方式而举出的具体实施例,在实际的应用场景中,可以根据需要选择相应添加方式,凡是能够达到相应的效果的均可以应用于本申请所提出的技术方案,这样的变化并不影响本发明的保护范围。
方法2:
所述RB还可以获取所述接入端口接收到的所述协议报文中的报文信息;
所述RB根据所述报文信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的;其中,所述报文信息,具体为:发送所述协议报文的RB的系统ID(IDentity,身份标识号码)、发送所述协议报文的RB的DRB优先级、发送所述协议报文的RB的端口ID,以及所述协议报文的保存时间。
具体的,由于不同RB所处在整个网络中的位置不同、功能作用不同、以及与之连接的本地网络是不同的,因此不同RB的系统ID、规定协议报文的保存时间等也就不同。所述RB发送协议报文前,需要在所述协议报文中明确发送所述协议报文的RB的系统ID、所述协议报文的保存时间等报文信息,以使所述协议报文能够成功的发送,以及被其他RB接收。同时,在RB的各个端口同样保存了所述RB的系统ID、所述协议报文的保存时间等报文信息。
在同一个链路中,作为DRB的RB是通过选举产生的,在选举的过程中会为同一链路上的每个RB分配DRB优先级,DRB优先级最高的就作为该链路中的DRB,并且,同一链路中不同RB的DRB优先级是不同的。选举出来的DRB的作用是当一个链路上存在多个RB设备时,由作为DRB的RB在其Hello报文中声明链路的指定VLAN以及各RB设备负责的AVF VLAN信息。当作为最高DRB优先级的RB出现故障或其他情况时,由次一DRB优先级的RB作为DRB。
所述RB的接入端口在获取到所述报文信息后,需要对比所述RB的接入端口中保存这些信息与获取的报文信息是否相同,如果相同则表明所述协议报文为当前所述RB的接入端口自身发送出去的。
所述RB的接入端口根据RB的系统ID、DRB优先级,以及所述协议报文的保存时间就能判断出所述协议报文是不是其所属的RB发送出去的。
如果所述RB的接入端口判断出所述协议报文是其所属的RB发送出去的,所述RB的接入端口还需要判断其接收到的所述报文信息中的发送所述协议报文的端口ID,由于所述RB不同的端口的ID是不同的,因此,RB可以根据发送所述协议报文的RB的端口ID来区分出RB中的不同端口,进一步的,所述RB的各个端口可以根据发送所述协议报文的RB的端口ID判断出其接收到的协议报文是不是其自身发送出去的。同时,在所述RB的各个端口中同样还保存了该端口ID。
所述RB的接入端口再根据发送所述协议报文的RB的端口ID就能判断出所述协议报文是不是所述RB的接入端口自身发送出去的。
基于上述情况,所述RB的接入端口能够根据所述协议报文中的RB的系统ID、DRB优先级、以及所述协议报文的保存时间判断出所述RB的接入端口是否接收到了其所属的RB发送出去的协议报文,如果是,则还需要根据发送所述协议报文的RB的端口ID判断所述RB的接入端口是否接收到了其自身发送出去的协议报文,如果是,则可以判断出所述RB的接入端口接收到了其自身发送的协议报文,通过上述判断表明与所述RB连接本地网络可能生成了环路,需要所述节点设备进一步判断所述本地网络是否真的生成了环路。
步骤202,所述RB统计在检测周期内所述接入端口接收其自身发送出去的所述协议报文的数量。
所述RB通过接入端口连接的本地网络生成环路时,所述RB的接入端口会收到其自身发送出去的协议报文,并且在一个检测周期内收到多个其自身发送出去的协议报文,所以,所述RB的接入端口需要统计出在一个检测周期内接收其自身发送出去的协议报文的数量,来进一步判断与所述RB通过接入端口连接的本地网络是否真的生成了环路。
其中,所述检测周期根据实际需求确定,并且所述检测周期大于或等于一个协议报文的发送周期。
步骤203,所述RB判断所述数量是否超过阈值。
在所述RB的接入端口中可以根据实际情况预设一个阈值,所述RB的接入端口判断在一个检测周期内接收的其自身发送的协议报文的数量是否超过所述阈值,如果超过,表明与所述RB通过接入端口连接的本地网络中生成了环路,则需要进行步骤204,如果没有超过,表明与所述RB通过接入端口连接的网络中没有生成环路,则直接结束。
步骤204,所述RB确定与其通过接入端口连接的本地网络生成环路。
当所述RB的接入端口在一个检测周期内接收的其自身发送出去的协议报文的数量超过所述阈值时,就能确定与所述RB通过接入端口连接的网络中生成了环路。
在所述RB判断出与其通过接入端口连接的网络中生成了环路后,作为AVF的所述RB屏蔽与所述本地网络连接的接入端口,或,作为AVF的所述RB屏蔽发送所述协议报文的虚拟局域网VLAN,以使由于本地网络生成环路引起的流量风暴只局限在当前本地网络中,避免了由于当前本地网络生成环路时,流量风暴由所述本地网络对应的作为AVF的RB上传到整个TRILL网络,保证了其他本地网络的正常使用。
在RB检测到本地网络生成环路后,作为AVF的RB可以屏蔽掉与所述本地网络连接的接入端口,进一步的,将所述接入端口上所有的VLAN都屏蔽掉了,或,由于本地网络可能有多条VLAN与RB的连接,所述RB分别是相应VLAN的AVF,本地网络通过相应的VLAN将协议报文发给作为AVF的RB,当RB检测到本地网络生成环路时,可能是与所述RB连接的某条或某几条VLAN对应的本地网络发生环路,所述协议报文会通过发生环路的本地网络所对应的VLAN发送到作为AVF的RB的接入端口上,因此,作为的AVF的RB还可以将本地网络发生环路所对应的VLAN屏蔽掉,而没有发生环路的本地网络所对应的VLAN则不需要被屏蔽。
在所述RB判断出与其通过接入端口连接的本地网络中生成环路后,所述RB中还可以根据生成环路的相关情况生成相应的环路日志,例如:根据所述RB的位置生成日志信息;或,根据环路生成的时间生成日志信息;亦或是,根据生成环路的综合情况生成日志信息,在根据生成环路的综合情况生成的日志信息中可以查到具体是哪个本地网络生成环路,生成环路的时间等信息。所述RB可以使用所述环路日志提醒网络管理员。
当解决了与所述RB通过接入端口连接的本地网络中的环路后,所述本地网络与作为AVF的所述RB可以再次建立连接,恢复原有的流量转发功能。
具体的,当解决了本地网络中的环路后,由于与所述本地网络连接的所述RB的接入端口不再收到其自身发送出去的协议报文,此时,根据作为DRB的RB下发AVF分配结果在此下发AVF,可以根据相关的连接策略,再次建立所述RB的接入端口与本地网络的连接,或所述RB的接入端口与本地网络相应的VLAN连接,恢复原有的流量转发功能。
同时,如果确认本地网络已经产生了环路,并且在环路消除之前,无论为与产生环路的本地网络连接的所述RB分配何种连接信息,所述RB都需要将其忽略。
本申请实施例中,所述RB的接入端口通过判断其接收到的所述协议报文是否是所述RB的接入端口自身发送出去的,如果判断出所述协议报文是接入端口自身发送出去的,所述RB的接入端口还需要判断在检测周期内接收其自身发送出去的协议报文的数量是否超过阈值,并且如果所述数量同样超过了阈值来表明本地网络确实生成了环路。本申请通过两个标准来共同判断本地网络是否生成了环路,使得判断结果更加准确。同时,在所述RB判断出本地网络生成环路后,还要将作为AVF的所述RB与所述本地网络间的接入端口或发送所述协议报文的VLAN屏蔽掉,以使由于某一本地网络生成环路引起的流量风暴只局限在当前的本地网络中,避免了由于当前的本地网络生成环路时,流量风暴由所述本地网络对应的作为AVF的RB上传到整个TRILL网络,保证了其他本地网络的正常使用。当然,在实际的应用场景中,可以根据需要选择判断依据,凡是能够达到相应效果和目的的判断依据可以应用于本申请所提出的技术方案,这样的变化并不影响本申请的保护范围。
为了进一步阐述本申请的技术思想,现结合具体的应用场景,对本申请的技术方案进行说明,具体的,如图1所述,所述RB4为转发本地网络1报文的AVF,所述协议报文为TRILL Hello协议报文,整个网络为TRILL网络,其中的本地网络为TRILL网络中本地网络,在本地网络1发生环路时,所述RB4屏蔽掉与本地网络1连接的接入端口。当然,所述场景也可以为包含多个本地网络的其他网络,或不同种类网络连接构成的网络,凡是能够达到相应效果和目的的判断依据都可以应用于本申请所提出的技术方案,这样的变化并不影响本申请的保护范围。
例如:在本地网络1产生环路时,RB4的接入端口会收到其自身发送出去的TRILL Hello协议报文,并且在短时间内所述RB4的接入端口收到其自身发送出去的多个TRILL Hello协议报文。
基于上述场景,RB4的接入端口判断其接收到的TRILL Hello协议报文是否为其自身发送出去的。
其中,所述RB4发送所述TRILL Hello协议报文可以用于正常邻居建立、DRB选举和AVF分配。
所述RB4的接入端口判断其接收到的TRILL Hello协议报文是否为其自身发送出的,其方法有两种。
方法1:
所述RB4的接入端口获取其接收到的所述TRILL Hello协议报文中的标识信息;
所述RB4的接入端口根据所述标识信息来判断其接收到的所述TRILLHello协议报文是否为其自身发送出去的。
其中,所述标识信息是对所述RB4,以及所述RB4的不同端口发送的协议报文进行区分而额外添加的。
具体的,所述标识信息的添加方式具体有两种。
方式1:
TRILL网络为了区分不同的RB,根据所述RB的位置、功能等因素,以及RB中的发送端口的位置、功能等因素为每个RB和RB的发送端口进行标识信息,所述RB在将所述TRILL Hello协议报文发送到TRILL网络前,所述RB在TRILL Hello协议报文中添加为所述RB和所述RB的各个端口分配到的标识信息,这样就能根据TRILL Hello协议报文中的标识信息来区分,同时还能对同一RB的不同端口发送的协议报文进行区分。
方式2:
所述RB根据标识协议规则在RB发送的TRILL Hello协议中添加标识信息,所述标识信息可以对不同RB,以及同一RB的不同端口发送的协议报文进行区分,这样所述RB能够根据所述标识信息判断所述TRILL Hello协议报文是否是自己发送的,如果是自己发送的,所述RB还可以根据所述标识信息判断出所述协议报文是自身的哪个端口发送的。
其中,所述标识协议规则可以是所述RB根据其自身独有的信息,以及所述RB的各个端口独有的信息在所述协议报文添加标识信息,例如:如图1所述,整个TRILL网络中不同RB的编号时不同的,如RB1,RB2等,所述RB可以根据将自身的编号作为标识信息添加到TRILL Hello协议报文中。在同一RB中,所述RB的不同端口的位置是不同的,所述RB可以根据不同的端口位置来进行区分。
上述两种方式只是为了说明本申请中添加标识信息方式而举出的具体实施例,在实际的应用场景中,可以根据需要选择相应添加方式,凡是能够达到相应的效果的均可以应用于本申请所提出的技术方案,这样的变化并不影响本发明的保护范围。
方法2:
所述RB4的接入端口获取其接收到的所述TRILL Hello协议报文的报文信息;
所述RB4的接入端口根据所述报文信息判断其接收到的所述TRILLHello协议报文是否为所述RB4的接入端口自身发送出去的;其中,所述报文信息,具体为:发送所述TRILL Hello协议报文的RB4的系统ID、发送所述TRILL Hello协议报文的RB4的DRB优先级、发送所述协议报文的RB4端口ID和TRILL Hello协议报文的保存时间。
具体的,由于不同RB所处在整个网络中的位置不同、功能作用不同、以及与之连接的本地网络是不同的,因此不同RB的系统ID、DRB优先级,以及规定TRILL Hello协议报文的保存时间等也就不同。所述RB4发送TRILLHello协议报文前,需要在所述TRILL Hello协议报文中明确发送所述TRILLHello协议报文的RB4的系统ID、DRB的优先级,以及所述TRILL Hello协议报文的保存时间等信息,以使所述TRILL Hello协议报文能够成功的发送,以及被其他RB接收。同时,在发送所述TRILL Hello协议报文的RB4的各个端口中同样保存了RB的系统ID、DRB优先级,以及所述TRILL Hello协议报文的保存时间等信息。
在所述RB4的接入端口接收到所述TRILL Hello协议报文信息后,需要对比所述RB4的接入端口中保存这些信息与获取的报文信息的报文负载的字段是否相同,如果相同则表明所述TRILL Hello协议报文为RB4发送出去的。
如果所述RB4的接入端口判断出所述协议报文是其所述的RB4发送出去的,所述RB4的接入端口还需要判断所述报文信息中的发送所述协议报文的RB的端口ID。由于所述RB4不同的端口的ID是不同的,因此,RB4可以根据RB4的端口ID来区分出RB4中的不同端口。同时,在所述RB4的各个端口同样还保存了该端口ID。
基于上述情况,所述RB4的接入端口能够根据其接收到的TRILL Hello协议报文中的RB的系统ID、DRB优先级、以及所述TRILL Hello协议报文的保存时间判断出所述RB4的接入端口所否接收到了其所属的RB4发送出去的协议报文,如果是,所述RB4的接入端口则还需要判断其接收的所述TRILLHello协议报文中的所述RB的端口的端口ID与所述RB4的接入端口保存的端口ID是否一样,如果也一样,则可以判断出所述RB4的接入端口接收到了其自身发送的TRILL Hello协议报文,通过上述判断表明与RB4连接本地网络1可能生成了环路,需要所述RB4进一步判断所述本地网络1是否真的生成了环路。
所述RB4的接入端口需要判断在规定的时间内其接收到的其自身发送出去的所述TRILL Hello协议报文的数量是否超过阈值,如果超过的话,则表明与所述RB4连接的本地网络1产生了环路。
其中,规定的时间的长短和数量的多少可以通过命令根据实际需要来进行配置。
所述RB4通过两个标准来判断本地网络1是否产生环路,这样不仅能够检测出本地网络1是否产生了环路,还能是判断结果更加准确。
在所述RB4判断出所述本地网络1产生环路后,作为AVF的所述RB4需要屏蔽掉与本地网络1连接的接入端口,或删除其接入端口中分配到的AVF,使本地网络1中的流量风暴只局限在所述本地网络1内部,无法上传到整个TRILL网络中,如图1所述,当本地网络1中的流量不再上送到整个TRILL网络时,本地网络2-4中的流量转发正常,不受影响。同时,所述RB4还可以产生一个日志信息,来提示本地网络1产生了环路。
在解决了本地网络的环路后,所述RB的接入端口不再收到其自身发送出去的TRILL Hello协议报文,此时可以根据同一链路中作为DRB的RB的AVF分配结果再次给RB下发AVF,恢复原有的流量转发功能。具体的,如图1所述,当解决了本地网络1的环路后,由于所述RB4的接入端口不再收到其自身发送的TRILL Hello协议报文,此时可以根据作为DRB的RB的AVF分配结果再次为所述RB4下发AVF,建立连接,恢复原有的流量转发功能。
进一步的,在解决了本地网络1的环路之前,无论DRB变化还是AVF分配结果变化,都需要忽略作为DRB的RB为RB4分配的AVF信息。
以上是本申请技术方案的具体实施例,是为了更清楚的说明本申请技术方案的应用流程,但是,相应的技术流程并不会因此而仅局限于包括RB、本地网络等网络实体的TRILL网络中本地网络成环检测的应用场景,其他基于本申请技术思路的技术方案也均是属于本申请的保护范围,不会因网络实体和发送信息的类型差别而受到影响。
基于与上述方法同样的申请构思,本申请还提出了一种路由桥RB设备,如图3所示,所述RB应用于TRILL网络中,其特征在于,所述RB包括:
第一判断模块31,用于通过接入端口接收协议报文,并判断判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的。
统计模块32,当所述第一判断模块的判断结果为是时,用于统计在检测周期内所述接入端口接收其自身发送出去的所述协议报文的数量。
第二判断模块33,用于判断所述数量是否超过阈值。
确定模块34,当所述第二判断模块的判断结果为是时,用于确定与所述RB通过接入端口连接的本地网络生成环路。
优选的,所述第一判断模块,具体用于:
获取所述接入端口接收的所述协议报文中的标识信息;
根据所述标识信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的;
其中,所述标识信息是对不同RB,以及同一RB的不同端口发送的协议报文进行区分而额外添加的。
优选的,所述第一判断模块,具体用于:
获取所述接入端口接收的所述协议报文中的报文信息;
根据所述报文信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的。
其中,所述报文信息,具体为:
发送所述协议报文的RB的系统标识ID、发送所述协议报文的RB的DRB优先级、发送所述协议报文的RB的端口ID,以及所述协议报文的保存时间。
所述RB,还包括:
屏蔽模块,在所述确定模块确定与所述RB通过接入端口连接的本地网络生成环路后,用于作为虚拟局域网的指定转发者AVF的所述RB屏蔽与所述本地网络连接的接入端口;或,
用于作为AVF的所述RB屏蔽发送所述协议报文的虚拟局域网VLAN。
本申请实施例中,所述RB的接入端口通过判断其接收到的所述协议报文是否是所述RB的接入端口自身发送出去的,如果判断出所述协议报文是接入端口自身发送出去的,所述RB的接入端口还需要判断在检测周期内接收其自身发送出去的协议报文的数量是否超过阈值,并且如果所述数量同样超过了阈值来表明本地网络确实生成了环路。本申请通过两个标准来共同判断本地网络是否生成了环路,使得判断结果更加准确。同时,在所述RB判断出本地网络生成环路后,还要将作为AVF的所述RB与所述本地网络间的接入端口或发送所述协议报文的VLAN屏蔽掉,以使由于某一本地网络生成环路引起的流量风暴只局限在当前的本地网络中,避免了由于当前的本地网络生成环路时,流量风暴由所述本地网络对应的作为AVF的RB上传到整个TRILL网络,保证了其他本地网络的正常使用。当然,在实际的应用场景中,可以根据需要选择判断依据,凡是能够达到相应效果和目的的判断依据可以应用于本申请所提出的技术方案,这样的变化并不影响本申请的保护范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
以上公开的仅为本申请的具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (8)
1.一种判断本地网络产生环路的方法,所述方法应用于TRILL网络中,其特征在于,该方法包括:
路由桥RB通过接入端口接收协议报文,并判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的;
如果是,所述RB统计在检测周期内所述接入端口接收其自身发送出去的所述协议报文的数量;
所述RB判断所述数量是否超过阈值;
如果超过,所述RB确定与其通过接入端口连接的本地网络生成环路。
2.如权利要求1所述方法,其特征在于,所述RB通过接入端口接收协议报文,并判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的,包括:
所述RB获取所述接入端口接收的所述协议报文中的标识信息;
所述RB根据所述标识信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的;
其中,所述标识信息是对不同所述RB,以及同一RB的不同端口发送的协议报文进行区分而额外添加的。
3.如权利要求1所述方法,其特征在于,所述RB通过接入端口接收协议报文,并判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的,包括:
所述RB获取所述接入端口接收的所述协议报文中的报文信息;
所述RB根据所述报文信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的。
其中,所述报文信息,具体为:
发送所述协议报文的RB的系统标识ID、发送所述协议报文的RB的DRB优先级、发送所述协议报文的RB的端口ID,以及所述协议报文的保存时间。
4.如权利要求1所述方法,其特征在于,在所述RB确定与其通过接入端口连接的本地网络生成环路后,还包括:
作为虚拟局域网的指定转发者AVF的所述RB屏蔽与所述本地网络连接的接入端口;或,
作为AVF的所述RB屏蔽发送所述协议报文的虚拟局域网VLAN。
5.一种路由桥RB设备,所述RB应用于TRILL网络中,其特征在于,所述RB包括:
第一判断模块,用于通过接入端口接收协议报文,并判断判断所述接入端口接收到的协议报文是否为所述RB的接入端口自身发送出去的;
统计模块,当所述第一判断模块的判断结果为是时,用于统计在检测周期内所述接入端口接收其自身发送出去的所述协议报文的数量;
第二判断模块,用于判断所述数量是否超过阈值;
确定模块,当所述第二判断模块的判断结果为是时,用于确定与所述RB通过接入端口连接的本地网络生成环路。
6.如权利要求5所述设备,其特征在于,所述第一判断模块,具体用于:
获取所述接入端口接收的所述协议报文中的标识信息;
根据所述标识信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的;
其中,所述标识信息是对不同RB,以及同一RB的不同端口发送的协议报文进行区分而额外添加的。
7.如权利要求5所述设备,其特征在于,所述第一判断模块,具体用于:
获取所述接入端口接收的所述协议报文中的报文信息;
根据所述报文信息判断所述接入端口接收到的所述协议报文是否为所述RB的接入端口自身发送出去的。
其中,所述报文信息,具体为:
发送所述协议报文的RB的系统标识ID、发送所述协议报文的RB的DRB优先级、发送所述协议报文的RB的端口ID,以及所述协议报文的保存时间。
8.如权利要求1所述设备,其特征在于,所述RB,还包括:
屏蔽模块,在所述确定模块确定与所述RB通过接入端口连接的本地网络生成环路后,用于作为虚拟局域网的指定转发者AVF的所述RB屏蔽与所述本地网络连接的接入端口;或,
用于作为AVF的所述RB屏蔽发送所述协议报文的虚拟局域网VLAN。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510072327.4A CN104702499A (zh) | 2015-02-11 | 2015-02-11 | 一种判断本地网络生成环路的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510072327.4A CN104702499A (zh) | 2015-02-11 | 2015-02-11 | 一种判断本地网络生成环路的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104702499A true CN104702499A (zh) | 2015-06-10 |
Family
ID=53349284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510072327.4A Pending CN104702499A (zh) | 2015-02-11 | 2015-02-11 | 一种判断本地网络生成环路的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104702499A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110121866A (zh) * | 2017-01-03 | 2019-08-13 | 思科技术公司 | 检测和抑制环路 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845512A (zh) * | 2006-05-25 | 2006-10-11 | 杭州华为三康技术有限公司 | 一种检测环路的方法及装置 |
US20070118595A1 (en) * | 2004-03-25 | 2007-05-24 | Vipin Jain | Detecting loops between network devices by monitoring MAC moves |
CN101102236A (zh) * | 2007-08-27 | 2008-01-09 | 杭州华三通信技术有限公司 | 探测环路的方法及装置 |
CN101699799A (zh) * | 2009-11-13 | 2010-04-28 | 福建星网锐捷网络有限公司 | 防止网络环路的方法、网络设备和生成树协议网络系统 |
CN103227753A (zh) * | 2013-04-01 | 2013-07-31 | 北京东土科技股份有限公司 | 一种网络拥塞处理方法、系统及装置 |
CN104038386A (zh) * | 2014-05-30 | 2014-09-10 | 华为技术有限公司 | 用于业务环网检测的方法、节点和网管 |
-
2015
- 2015-02-11 CN CN201510072327.4A patent/CN104702499A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070118595A1 (en) * | 2004-03-25 | 2007-05-24 | Vipin Jain | Detecting loops between network devices by monitoring MAC moves |
CN1845512A (zh) * | 2006-05-25 | 2006-10-11 | 杭州华为三康技术有限公司 | 一种检测环路的方法及装置 |
CN101102236A (zh) * | 2007-08-27 | 2008-01-09 | 杭州华三通信技术有限公司 | 探测环路的方法及装置 |
CN101699799A (zh) * | 2009-11-13 | 2010-04-28 | 福建星网锐捷网络有限公司 | 防止网络环路的方法、网络设备和生成树协议网络系统 |
CN103227753A (zh) * | 2013-04-01 | 2013-07-31 | 北京东土科技股份有限公司 | 一种网络拥塞处理方法、系统及装置 |
CN104038386A (zh) * | 2014-05-30 | 2014-09-10 | 华为技术有限公司 | 用于业务环网检测的方法、节点和网管 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110121866A (zh) * | 2017-01-03 | 2019-08-13 | 思科技术公司 | 检测和抑制环路 |
CN110121866B (zh) * | 2017-01-03 | 2021-11-30 | 思科技术公司 | 用于检测和抑制环路的方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110505033B (zh) | 执行精确定时协议通信的方法、设备和计算机可读介质 | |
EP3082309B1 (en) | Sdn controller, data centre system and router connection method | |
US9665530B2 (en) | Method and system for implementing elastic network interface and interconnection | |
CN102821050B (zh) | 一种快速生成树协议应用于单环网拓扑的处理方法 | |
EP2555476A1 (en) | Method, system and device for protecting multicast in communication network | |
CN103607293B (zh) | 一种流量保护方法及设备 | |
CN103581025B (zh) | 路由信息处理方法、设备及系统 | |
US20100254257A1 (en) | Method for processing failure of slave port of master node in ethernet ring network system | |
CN103490921B (zh) | 网络保护方法、装置、下环节点及系统 | |
US20170222953A1 (en) | User packet forwarding control method and processing node | |
CN109691031B (zh) | 业务报文传输方法及节点设备 | |
CN105530115A (zh) | 一种实现操作管理维护功能的方法及装置 | |
CN104639437A (zh) | 堆叠系统中广播报文的转发方法及装置 | |
CN106341249A (zh) | 冗余端口的切换方法及装置 | |
WO2016124117A1 (zh) | 一种sdn中的链路保护方法、交换设备及网络控制器 | |
CN103188120A (zh) | 一种组播业务的丢包检测方法及装置 | |
CN102833122B (zh) | 一种环回检测方法及系统 | |
JPWO2006075402A1 (ja) | オープンループネットワークノード装置及びオープンループネットワーク制御方法 | |
CN104702499A (zh) | 一种判断本地网络生成环路的方法和设备 | |
EP3537671B1 (en) | Protection switching method and system, and nodes | |
US20160344571A1 (en) | Determining Connections Between Disconnected Partial Trees | |
US20160344591A1 (en) | Determining Connections of Non-External Network Facing Ports | |
EP2728815B1 (en) | Method and rbridge for avoiding esadi protocol packet storms | |
WO2018077124A1 (zh) | 一种业务告警处理方法、装置及系统 | |
CN114124753B (zh) | 一种报文发送方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150610 |
|
RJ01 | Rejection of invention patent application after publication |