专利名称:防止环路震荡的方法和设备的利记博彩app
技术领域:
本发明涉及网络通信技木,特别涉及防止环路震荡的方法和设备。
背景技术:
为使本申请容易理解,下面对本申请主要涉及到的技术术语进行简单描述多生成树协议(MSTP :Multiple Spanning Tree Protocol):相比于现有的生成树协议(STP :Spanning Tree Protocol)、快速生成树协议(RSTP :Rapid Spanning TreeProtocol)等,引入“域”的概念,即把ー个网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立;并且,还引入了“实例(Instance)”的概念,即将多个虚拟局域网(VLAN :Virtual Local Area Network)映射到一个实例中,以节省通信开销和资源占用率。MSTP中各个实例的计算是独立的,每个实例对应ー棵单独的生成树,这些实例可以实现VLAN数据的负载分担;另外,MSTP还可以实现类似RSTP的端ロ状态快速迁移机制。多VLAN注册■协议(MVRPMultiple VLAN Register Protocol):用于维护设备中的VLAN动态注册信息,并将该信息向其它设备传播。也就是说,当一设备的端ロ启动了 MVRP之后,就能够接收其它设备传播的VLAN信息来注册,并动态更新本地的VLAN信息,包括当前的VLAN及这些VLAN可通过哪个端ロ到达等,此外,该启动了 MVRP的设备端ロ还能够将本地的VLAN信息传播给其它设备的端ロ来注册。这里,MVRP传播的VLAN信息既包括本地手工配置的静态VLAN的信息,也包括其注册的来自其它设备传播的动态VLAN的信息。另夕卜,MVRP有ー个特点,即如果某端ロ没有加入到某实例,则该端ロ不会发送该实例的MVRP报文,也不会发送该实例的MSTP报文。其中,端ロ没有加入到某实例具体为该端ロ所处的设备不存在该实例所映射的任何一个静态VLAN,或该端ロ不允许该实例所映射的所有VLAN通过,或该端ロ没有注册该实例所映射的任何一个动态VLAN。下面以图I所示的组网为例,通过图2说明如何进行VLAN注册。參见图2,图2为现有VLAN注册流程图。图2应用于图I所示的组网。在图I中存在以下属于同一个域的三台设备,依次记为DUT1、DUT2和DUT3,该三台设备上所有互连端ロ被配置为中继(trunk)类型且允许所有VLAN通过,在该三台设备上启动MSTP,且在全局开启MVRP后开启该三台设备上所有互连端ロ的MVRP功能。并且,在DUT2和DUT3上创建静态VLAN100,其中,VLAN100对应实例I。如此,如图2所示,该流程可包括以下步骤步骤1,根据MVRP,DUTl上的端ロ Pl就会收到DUT3上的端ロ P6发送的MVRP的加入(join)报文,同样,DUTl上的端ロ P2就会收到DUT2上的端ロ P3发送的join报文。join报文携带了 VLAN100的标识。步骤2,DUTl上的端ロ Pl依据join报文携带的VLAN100标识注册至动态VLAN100,同样,DUTl上的端ロ P2也注册至动态VLAN100。步骤3,当端ロ PI、P2注册至动态VLAN100,则表示该端ロ PI、P2已加入到VLAN100,同时也表示该端ロ PI、P2相应加入该VLAN100所映射的实例I。 步骤4,由于DUT2和DUT3的所有端ロ配置了 VLAN100,其也能相互注册到VLAN100,则如图I所示,实例I内的DUTU DUT2和DUT3之间就形成了环路。步骤5,为了避免上述环路,就根据生成树算法计算生成树和计算环路中各个设备上端ロ的角色和状态,将状态为阻塞(discarding)的端ロ阻塞。假如步骤5计算出图I所示的DUT2为根桥,DUTl的端ロ P2和DUT3的端ロ P5为根端ロ,DUTl上的端ロ Pl、DUT2上的端ロ P3和P4为指定端ロ,以及DUT3上的端ロ P6为阻塞端ロ,其中根端ロ、指定端ロ的状态设置为转发(forwarding),阻塞端ロ的状态设置为discarding,如此,就阻塞端ロ P6。下文均以阻塞端ロ P6为例描述。步骤6,当端ロ P6被阻塞后,端ロ P6不再发送上述join报文,如此,就会导致端ロPl无法持续接收到上述join报文。步骤7,由于端ロ Pl无法持续接收上述join报文,这会引起端ロ Pl注销其已注册的与实例I具有映射关系的动态VLAN即VLAN100。
步骤8,当端ロ Pl注销了其已注册的实例I的动态VLAN100时,表示该端ロ Pl从实例I退出,这样环路就消除了。步骤9,由于端ロ Pl从实例I退出,基于上面描述的MVRP特点,端ロ Pl显然不会再发送实例I的MSTP报文和join报文,这样,端ロ P6会一直接收不到端ロ Pl发送的实例I的MSTP报文,其状态会在设定的端ロ超时时间到达时状态慢速迁移到forwarding。步骤10,当端ロ P6的状态恢复到forwarding后,由于端ロ P6支持实例I的VLAN100,因此便继续发送join报文,该join报文携带VLAN100的标识。步骤11,当端ロ Pl接收到端ロ P6发送的join报文时,便又通过注册join报文中VLAN标识对应的VLAN100加入到实例I中,如此,如图I所示,实例I内的DUTl、DUT2和DUT3之间又形成了环路,这样,为避免环路,就得返回上面步骤5,如此就会导致图I所示的DUTU DUT2和DUT3之间的环路在环路存在和环路消除之间来回反复震荡。
发明内容
本发明提供了防止环路震荡的方法和设备,以避免环路在存在和消除之间来回反
复震荡。本发明提供的技术方案包括ー种防止环路震荡的方法,包括A,第一设备通过第一端ロ接收对端端ロ在被阻塞之前发送的阻塞通告;B,所述第一设备依据所述阻塞通告确定需要阻塞的实例;C,所述第一设备建立孪生端ロ组,并将所述需要阻塞的实例设置为所述孪生端ロ组的孪生实例;其中,所述孪生端ロ组包括目的端口和源端ロ,所述目的端ロ为所述第一端ロ,所述源端ロ为第一设备上其他注册了与所述孪生实例具有映射关系的VLAN的端ロ,所述源端ロ中只有一个被设置第一标识,剰余的被设置第二标识;D,所述第一设备在被设置了第一标识的源端ロ注册与所述孪生实例具有映射关系的动态VLAN时,触发所述目的端ロ注册该动态VLAN。其中,所述阻塞通告携帯了需要阻塞的实例标识,所述实例标识依据多生成树协议MSTP确定;步骤B中,所述第一设备确定的需要阻塞的实例为所述阻塞通告携帯的实例标识对应的实例。优选地,步骤B和步骤C之间进ー步包括判断所述第一端ロ是否注册了与所述孪生实例具有映射关系的静态VLAN,如果是,则结束当前流程,否则,继续执行步骤C。 本发明中,该方法进ー步包括当所述第一设备上未加入所述孪生端ロ组的端ロ注册了与所述孪生实例具有映射关系的动态VLAN时,将该端ロ作为所述孪生端ロ组的源端ロ加入所述孪生端ロ组,并针对该端ロ设置第二标识。本发明中,所述第一设备上的端ロ注销其已注册的VLAN时,该方法进ー步包括判断该被注销的VLAN是否与所述孪生实例具有映射关系,当该被注销的VLAN与所述孪生实例具有映射关系时,进一歩判断该注销VLAN的端ロ当前已注册的VLAN中是否只有该被注销的VLAN与所述孪生实例具有映射关系;当该注销VLAN的端ロ当前已注册的VLAN中只有该被注销的VLAN与所述孪生实例具有映射关系时,进一歩判断该注销VLAN的端ロ是否为所述孪生实例对应的孪生端ロ组中被设置了第一标识的源端ロ;若该注销VLAN的端ロ为所述孪生端ロ组中被设置了第一标识的源端ロ,则从所述孪生端ロ组中被设置了第二标识的源端ロ中选择ー个,并将该选择的源端ロ的标识从第ニ标识更新为第一标识,将该注销VLAN的端ロ从所述孪生端ロ组中删除;若该注销VLAN的端ロ为所述孪生端ロ组中被设置了第二标识的源端ロ,则将该注销VLAN的端ロ从所述孪生端ロ组中删除。本发明中,该方法进ー步包括当孪生端ロ组中所有的源端ロ被删除时,或者当所述目的端ロ接收到所述对端端ロ发送的与所述孪生实例相关联的多VLAN注册协议MVRP报文时,解除所述孪生端ロ组。本发明还提供了另ー种防止环路震荡的方法,该方法包括本端设备在在本端端ロ被阻塞之前向第一设备的第一端ロ发送阻塞通告,以触发所述第一设备执行如上所述方法中的步骤。本发明提供了ー种防止环路震荡的设备,包括端ロ接收单元,用于通过第一端ロ接收对端端ロ在被阻塞之前发送的阻塞通告;实例确定单元,用于依据所述阻塞通告确定需要阻塞的实例;端ロ组建立単元,用于建立孪生端ロ组,并将所述需要阻塞的实例设置为所述孪生端ロ组的孪生实例;其中,所述孪生端ロ组包括目的端ロ和源端ロ,所述目的端ロ为所述第一端ロ,所述源端ロ为第一设备上其他注册了与所述孪生实例具有映射关系的VLAN的端ロ,所述源端ロ中只有一个被设置第一标识,剰余的被设置第二标识;触发单元,用于在被设置了第一标识的源端ロ注册与所述孪生实例具有映射关系的动态VLAN时,触发所述目的端ロ注册该动态VLAN。优选地,该设备进ー步包括判断単元,用于判断所述第一端ロ是否注册了与所述孪生实例具有映射关系的静态VLAN,如果是,则结束当前流程,否则,触发所述端ロ组建立単元建立所述孪生端ロ组。优选地,该设备进ー步包括
加入単元,用于当所述设备上未加入所述孪生端ロ组的端ロ注册了与所述孪生实例具有映射关系的动态VLAN吋,将该端ロ作为所述孪生端ロ组的源端ロ加入所述孪生端ロ组,并针对该端ロ设置第二标识。优选地,该设备进ー步包括判断该被注销的VLAN是否与所述孪生实例具有映射关系,当该被注销的VLAN与所述孪生实例具有映射关系时,进一歩判断该注销VLAN的端ロ当前已注册的VLAN中是否只有该被注销的VLAN与所述孪生实例具有映射关系;当该注销VLAN的端ロ当前已注册的VLAN中只有该被注销的VLAN与所述孪生实例具有映射关系时,进一歩判断该注销VLAN的端ロ是否为所述孪生实例对应的孪生端ロ组中被设置了第一标识的源端ロ; 若该注销VLAN的端ロ为所述孪生端ロ组中被设置了第一标识的源端ロ,则从所述孪生端ロ组中被设置了第二标识的源端ロ中选择ー个,并将该选择的源端ロ的标识从第ニ标识更新为第一标识,将该注销VLAN的端ロ从所述孪生端ロ组中删除;若该注销VLAN的端ロ为所述孪生端ロ组中被设置了第二标识的源端ロ,则将该注销VLAN的端ロ从所述孪生端ロ组中删除。优选地,该设备进ー步包括解除単元,用于当孪生端ロ组中所有的源端ロ被删除时,或者当所述目的端ロ接收到所述对端端ロ发送的与所述孪生实例相关联的多VLAN注册协议MVRP报文吋,解除所述孪生端ロ组。本发明还提供了另ー种防止环路震荡的设备,包括端ロ阻塞単元,用于在本设备的本端端ロ需要被阻塞吋,阻塞该需要被阻塞的端Π ;发送单元,用于在所述端ロ阻塞単元阻塞所述需要被阻塞的端ロ之前,向如上所述设备的第一端ロ发送阻塞通告,以触发如上所述设备中的各个单元执行相应操作。由以上技术方案可以看出,本发明中,第一设备通过第一端ロ接收对端端ロ在被阻塞之前发送的阻塞通告,并依据所述阻塞通告确定需要阻塞的实例;如此,第一设备建立满足以下条件的孪生端ロ组所述实例为所述孪生端ロ组的孪生实例,第一端ロ为所述孪生端ロ组的目的端ロ、第一设备上其他注册了与所述孪生实例具有映射关系的VLAN的端ロ为所述孪生端ロ组的源端ロ,并且,所述源端口中只有一个被设置第一标识,剰余的被设置第二标识;之后在被设置了第一标识的源端ロ注册了与所述实例具有映射关系的动态VLAN吋,触发所述目的端ロ注册该动态VLAN,这保证了目的端ロー直可以注册到所述实例中,避免了环路在存在和消除之间来回反复震荡。
图I为现有环路组网示意图;图2为现有VLAN注册流程图;图3为本发明实施例提供的方法流程图;图4为本发明实施例提供的端ロ加入孪生端ロ组流程图;图5为本发明实施例提供的端ロ退出孪生端ロ组的流程图;图6为本发明实施例提供的设备结构图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明提出了图3所示的方法流程參见图3,图3为本发明实施例提供的方法流程图。如图3所示,该流程可包括以下步骤步骤301,第一设备通过第一端ロ接收对端端ロ在被阻塞之前发送的阻塞通告。对端端ロ被阻塞是在该对端端ロ加入的一实例出现环路时依据MSTP计算出的,这里不再赘述。并且,该对端端ロ发送的阻塞通告携帯了该出现环路的实例标识,该实例标识记为需要阻塞的实例的标识。步骤302,所述第一设备依据所述阻塞通告确定需要阻塞的实例。 由于阻塞通告携帯了需要阻塞的实例的标识,基于此,执行到本步骤302,第一设备可直接将所述阻塞通告携帯的需要阻塞的实例标识所对应的实例确定为需要阻塞的实例。另外,作为本发明的ー个优选实施例,可在本步骤302完成之后、且在执行下述步骤303之前,进ー步包括判断所述第一端ロ是否注册了与所述实例具有映射关系的静态VLAN,如果是,则结束当前流程,否则,继续执行步骤303。其中,在执行步骤303之前,之所以判断第一端ロ是否注册了与所述实例具有映射关系的静态VLAN,主要是因为,如果判断出第一端ロ注册了与所述实例具有映射关系的静态VLAN,则说明该第一端ロ会始終在所述实例内,不会出现背景技术中描述的由于第一端ロ退出所述实例、加入所述实例而导致的该实例内的环路震荡,因此,可直接结束当前流程。步骤303,所述第一设备建立孪生端ロ组,并将所述需要阻塞的实例设置为所述孪生端ロ组的孪生实例;其中,所述孪生端ロ组包括目的端口和源端ロ,所述目的端ロ为所述第一端ロ,所述源端ロ为第一设备上其他注册了与所述孪生实例具有映射关系的VLAN的端ロ,所述源端ロ中只有一个被设置第一标识,剰余的被设置第二标识。本步骤303中,优选地,可将所述孪生端ロ组中的目的端ロ、源端ロ与孪生实例之间的映射关系记录在预设设置的ー张映射表中,以方便后续可以通过该映射表直接确定孪生端口中的目的端ロ、源端ロ和孪生实例。另外,本步骤303之所以将孪生端ロ组中的源端ロ区分设置第一标识或者第二标识,目的就是保证第一设备只有在被设置了第一标识的源端ロ注册了与所述孪生实例具有映射关系的动态VLAN时,才触发所述目的端ロ注册该动态VLAN,具体见步骤304。其中,所述被设置第一标识的源端ロ可为随机从源端口中选择的,也可根据实际情况原则,本发明并不限定。优选地,上述的第一标识、第二标识可依次优选为有效、无效。步骤304,第一设备在被设置了第一标识的源端ロ注册与所述孪生实例具有映射关系的动态VLAN时,触发所述目的端ロ注册该动态VLAN。优选地,步骤304中的触发还可以进一歩包括刷新用于管理该动态VLAN的定时器。其中,作为本发明的一个实施例,该用于管理该动态VLAN的定时器可为VLAN注销定时器,其用于在设定的时间到达时,触发目的端ロ注销该动态VLAN。以被设置了第一标识的源端ロ注册与孪生实例有映射关系的动态VLAN为动态VLANl为例,则第一设备在被设置了第一标 识的源端ロ注册了该动态VLANl时,触发目的端ロ注册该动态VLAN1,并触发目的端ロ刷新用于管理该动态VLANl的定时器。下面通过ー个具体实施例对图3所示的方法流程进行描述该具体实施例仍以背景技术描述的图I所示的组网为例,在通过背景技术描述的步骤I至步骤4确定出实例I内的DUT1、DUT2和DUT3之间形成环路后、且在背景技术描述的步骤5阻塞设备DUT3上的端ロ P6之前,本发明中,由端ロ P6发送阻塞通告至DUTl上的端ロ P1,该阻塞通告携带实例I的标识,之后,阻塞端ロ P6。当端ロ Pl收到来自端ロ P6的阻塞通告后,确定需要阻塞的实例为实例I。因此,就需要建立孪生端ロ组,并将实例I确定为该孪生端ロ组的孪生实例,其中,所述孪生端ロ组包括目的端口和源端ロ,本实施例中,目的端ロ为端ロ Pl、源端ロ为DUTl上其他注册了与孪生实例即实例I具有映射关系的动态VLAN比如VLAN100的端ロ,并且,从孪生端ロ组的源端ロ中选择ー个源端ロ设置第一标识,例如将端ロ P2设置有效,而针对剩余的源端ロ设置第二标识,例如将剩余的源端ロ设置为无效。之后,依赖于被设置了第一标识的源端ロ比如端ロ P2是否注册与实例I具有映射关系的动态VLAN来决定是否触发端ロ Pl注册该动态VLAN,这保证了端ロ Pl可以持续注册与实例I具有映射关系的动态VLAN,并且,由于端ロ P6 —直被阻塞,这也能保证实例I内的环路一直处于被解除的状态,不会出现背景技术描述的步骤7至步骤11的情况,进而也不会出现图I所示的DUT1、DUT2和DUT3之间的环路在环路存在和环路消除之间来回反复震荡。另外,本发明中,基于图3所示的方法流程,在第一设备建立了孪生端ロ组的前提下,如果该第一设备上未加入所述孪生端ロ组的端ロ注册了所述孪生端ロ组的孪生实例有映射关系的动态VLAN,则将该端ロ作为所述孪生端ロ组的源端ロ加入所述孪生端ロ组,并为该端ロ设置第二标识,具体可參见图4所示的流程。參见图4,图4为本发明实施例提供的端ロ加入孪生端ロ组流程图。如图4所示,该流程可包括以下步骤步骤401,第一设备上未加入孪生端ロ组的端ロ注册ー动态VLAN。步骤402,判断该动态VLAN是否为与所述孪生实例有映射关系的VLAN,如果是,执行步骤403,否则,结束当前流程。 步骤403,将该端ロ作为源端ロ加入所述孪生实例对应的孪生端ロ组,并设置该端ロ为第二标识。结束当前流程。至此,完成图4所示的流程描述。另外,本发明还提供了端ロ退出孪生端ロ组的流程图,具体如图5所示。參见图5,图5为本发明实施例提供的端ロ退出孪生端ロ组的流程图。如图5所示,该流程可包括以下步骤步骤501,所述第一设备上的端ロ注销VLAN。为便于描述,下文均将步骤501中的端ロ描述为注销VLAN的端ロ。
步骤502,判断该注销的VLAN是否与孪生实例具有映射关系,如果是,执行步骤503,否则,结束当前流程。步骤503,判断该注销VLAN的端ロ当前已注册的VLAN中是否只有该被注销的VLAN与所述孪生实例具有映射关系,如果是,执行步骤504,否则,结束当前流程。步骤504,判断该注销VLAN的端ロ 是否为孪生端ロ组中被设置了第一标识的源端ロ,如果是,执行步骤505,否则,执行步骤506。步骤505,从该孪生端ロ组中被设置了第二标识的源端ロ中选择ー个,并将该选择的源端ロ的标识从第二标识更新为第一标识,之后执行步骤506。步骤506,将该注销VLAN的端ロ从孪生端ロ组中删除。至此,完成图5所示的流程。需要说明的是,本发明中,当孪生端ロ组中所有的源端ロ通过图5所示的流程被删除时,或者当孪生端ロ组中的目的端ロ接收到之前已被阻塞的对端端ロ发送的与所述孪生实例相关联的MVRP报文比如join报文时,解除孪生端ロ组。其中,与孪生实例相关联的MVRP报文具体可为携帯了孪生实例标识、或者与孪生实例具有映射关系的VLAN的标识的MVRP报文。仍以图I所示的组网为例,则,如上文所述,由于实例I出现环路,需要阻塞端ロP6,并建立以下孪生端ロ组实例I为孪生实例,端ロ Pl作为目的端ロ、DUTl上其他注册了与孪生实例即实例I具有映射关系的动态VLAN比如VLAN100的端ロ作为源端ロ。而当端ロ P6发送与所述孪生实例即实例I相关联的MVRP报文至端ロ Pl吋,则说明端ロ P6不再被阻塞,进而也说明实例I内不存在环路,如此,之前建立的上述孪生端ロ组就没有任何意义了,可以解除。至此,完成本发明提供的方法描述。下面对本发明实施例提供的设备进行描述參见图6,图6为本发明实施例提供的设备结构图。如图6所示,该设备包括 端ロ接收单元、实例确定单元、端ロ组建立単元和触发单元。其中,端ロ接收单元,用于通过第一端ロ接收对端端ロ在被阻塞之前发送的阻塞通告。实例确定单元,用于依据所述阻塞通告确定需要阻塞的实例。其中,所述阻塞通告携帯了需要阻塞的实例标识,所述实例标识依据多生成树协议MSTP确定,基于此,所述实例确定单元确定的需要阻塞的实例为所述阻塞通告携帯的实例标识对应的实例。端ロ组建立単元,用于建立孪生端ロ组,并将所述需要阻塞的实例设置为所述孪生端ロ组的孪生实例;其中,所述孪生端ロ组包括目的端ロ和源端ロ,所述目的端ロ为所述第一端ロ,所述源端ロ为第一设备上其他注册了与所述孪生实例具有映射关系的VLAN的端ロ,所述源端ロ中只有一个被设置第一标识,剰余的被设置第二标识;触发单元,用于在被设置了第一标识的源端ロ注册与所述孪生实例具有映射关系的动态VLAN时,触发所述目的端ロ注册该动态VLAN。优选地,本发明中,如图6所示,该设备进ー步包括判断単元、加入単元、注销单元和解除单元。其中,判断単元,用于判断所述第一端ロ是否注册了与所述孪生实例具有映射关系的静态VLAN,如果是,则结束当前流程,否则,触发所述端ロ组建立単元建立所述孪生端ロ组。
加入単元,用于当所述设备上未加入所述孪生端ロ组的端ロ注册了与所述孪生实例具有映射关系的动态VLAN吋,将该端ロ作为所述孪生端ロ组的源端ロ加入所述孪生端ロ组,并针对该端ロ设置第二标识。注销单元,用于当所述设备上的端ロ注销VLAN时,判断该被注销的VLAN是否与所述孪生实例具有映射关系,当该被注销的VLAN与所述孪生实例具有映射关系时,进一歩判断该注销VLAN的端ロ当前已注册的VLAN中是否只有该被注销的VLAN与所述孪生实例具有映射关系;当该注销VLAN的端ロ当前已注册的VLAN中只有该被注销的VLAN与所述孪生实例具有映射关系时,进一歩判断该注销VLAN的端ロ是否为所述孪生实例对应的孪生端ロ组中被设置了第一标识的源端ロ;若该注销VLAN的端ロ为所述孪生端ロ组中被设置了第一 标识的源端ロ,则从所述孪生端ロ组中被设置了第二标识的源端ロ中选择ー个,并将该选择的源端ロ的标识从第ニ标识更新为第一标识,将该注销VLAN的端ロ从所述孪生端ロ组中删除;若该注销VLAN的端ロ为所述孪生端ロ组中被设置了第二标识的源端ロ,则将该注销VLAN的端ロ从所述孪生端ロ组中删除。解除単元,用于当孪生端ロ组中所有的源端ロ被删除时,或者当所述目的端ロ接收到所述对端端ロ发送的与所述孪生实例相关联的多VLAN注册协议MVRP报文吋,解除所述孪生端ロ组。至此,完成图6所示的设备描述。另外,本发明还提供了另外ー种防止环路震荡的设备,该设备包括端ロ阻塞単元,用于在本设备的本端端ロ需要被阻塞吋,阻塞该需要被阻塞的端Π ;发送单元,用于在所述端ロ阻塞単元阻塞所述需要被阻塞的端ロ之前,向如图6所示设备的第一端ロ发送阻塞通告,以触发图6所示设备中的各个单元执行相应操作。至此,完成本发明的描述。由以上技术方案可以看出,本发明中,第一设备通过第一端ロ接收对端端ロ在被阻塞之前发送的阻塞通告,并依据所述阻塞通告确定需要阻塞的实例;如此,第一设备建立满足以下条件的孪生端口组所述实例为所述孪生端ロ组的孪生实例,第一端ロ为所述孪生端ロ组的目的端ロ、第一设备上其他注册了与所述孪生实例具有映射关系的VLAN的端ロ为所述孪生端ロ组的源端ロ,并且,所述源端口中只有一个被设置第一标识,剰余的被设置第二标识;之后在被设置了第一标识的源端ロ注册了与所述实例具有映射关系的动态VLAN吋,触发所述目的端ロ注册该动态VLAN,这保证了目的端ロ 一直可以注册到所述实例中,避免了环路在存在和消除之间来回反复震荡。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.ー种防止环路震荡的方法,其特征在于,该方法包括 A,第一设备通过第一端ロ接收对端端ロ在被阻塞之前发送的阻塞通告; B,所述第一设备依据所述阻塞通告确定需要阻塞的实例; C,所述第一设备建立孪生端ロ组,并将所述需要阻塞的实例设置为所述孪生端ロ组的孪生实例;其中,所述孪生端ロ组包括目的端ロ和源端ロ,所述目的端ロ为所述第一端ロ,所述源端ロ为第一设备上其他注册了与所述孪生实例具有映射关系的虚拟局域网VLAN的端ロ,所述源端ロ中只有一个被设置第一标识,剰余的被设置第二标识; D,所述第一设备在被设置了第一标识的源端ロ注册与所述孪生实例具有映射关系的动态VLAN时,触发所述目的端ロ注册该动态VLAN。
2.根据权利要求I所述的方法,其特征在于,所述阻塞通告携帯了需要阻塞的实例标识,所述实例标识依据多生成树协议MSTP确定; 步骤B中,所述第一设备确定的需要阻塞的实例为所述阻塞通告携帯的实例标识对应的实例。
3.根据权利要求I所述的方法,其特征在于,步骤B和步骤C之间进一歩包括 判断所述第一端ロ是否注册了与所述孪生实例具有映射关系的静态VLAN,如果是,则结束当前流程,否则,继续执行步骤C。
4.根据权利要求I所述的方法,其特征在于,该方法进ー步包括 当所述第一设备上未加入所述孪生端ロ组的端ロ注册了与所述孪生实例具有映射关系的动态VLAN时,将该端ロ作为所述孪生端ロ组的源端ロ加入所述孪生端ロ组,并针对该端ロ设置第二标识。
5.根据权利要求I所述的方法,其特征在于,所述第一设备上的端ロ注销其已注册的VLAN吋,该方法进ー步包括 判断该被注销的VLAN是否与所述孪生实例具有映射关系,当该被注销的VLAN与所述孪生实例具有映射关系时,进一歩判断该注销VLAN的端ロ当前已注册的VLAN中是否只有该被注销的VLAN与所述孪生实例具有映射关系; 当该注销VLAN的端ロ当前已注册的VLAN中只有该被注销的VLAN与所述孪生实例具有映射关系时,进ー步判断该注销VLAN的端ロ是否为所述孪生实例对应的孪生端ロ组中被设置了第一标识的源端ロ; 若该注销VLAN的端ロ为所述孪生端ロ组中被设置了第一标识的源端ロ,则从所述孪生端ロ组中被设置了第二标识的源端ロ中选择ー个,并将该选择的源端ロ的标识从第二标识更新为第一标识,将该注销VLAN的端ロ从所述孪生端ロ组中删除; 若该注销VLAN的端ロ为所述孪生端ロ组中被设置了第二标识的源端ロ,则将该注销VLAN的端ロ从所述孪生端ロ组中删除。
6.根据权利要求I所述的方法,其特征在于,该方法进ー步包括 当孪生端ロ组中所有的源端ロ被删除时,或者当所述目的端ロ接收到所述对端端ロ发送的与所述孪生实例相关联的多VLAN注册协议MVRP报文时,解除所述孪生端ロ组。
7.ー种防止环路震荡的方法,其特征在于,该方法包括 本端设备在本端端ロ被阻塞之前向第一设备的第一端ロ发送阻塞通告,以触发所述第一设备执行如权利要求I至6任一所述方法中的步骤。
8.ー种防止环路震荡的设备,其特征在干,该设备包括 端ロ接收单元,用于通过第一端ロ接收对端端ロ在被阻塞之前发送的阻塞通告; 实例确定单元,用于依据所述阻塞通告确定需要阻塞的实例; 端ロ组建立単元,用于建立孪生端ロ组,并将所述需要阻塞的实例设置为所述孪生端ロ组的孪生实例;其中,所述孪生端ロ组包括目的端ロ和源端ロ,所述目的端ロ为所述第一端ロ,所述源端ロ为第一设备上其他注册了与所述孪生实例具有映射关系的虚拟局域网VLAN的端ロ,所述源端ロ中只有一个被设置第一标识,剰余的被设置第二标识; 触发单元,用于在被设置了第一标识的源端ロ注册与所述孪生实例具有映射关系的动态VLAN时,触发所述目的端ロ注册该动态VLAN。
9.根据权利要求8所述的设备,其特征在干,该设备进ー步包括 判断単元,用于判断所述第一端ロ是否注册了与所述孪生实例具有映射关系的静态VLAN,如果是,则结束当前流程,否则,触发所述端ロ组建立単元建立所述孪生端ロ组。
10.根据权利要求8所述的设备,其特征在干,该设备进ー步包括 加入単元,用于当所述设备上未加入所述孪生端ロ组的端ロ注册了与所述孪生实例具有映射关系的动态VLAN时,将该端ロ作为所述孪生端ロ组的源端ロ加入所述孪生端ロ组,并针对该端ロ设置第二标识。
11.根据权利要求8所述的设备,其特征在干,该设备进ー步包括 注销单元,用于当所述设备上的端ロ注销VLAN时,判断该被注销的VLAN是否与所述孪生实例具有映射关系,当该被注销的VLAN与所述孪生实例具有映射关系时,进一歩判断该注销VLAN的端ロ当前已注册的VLAN中是否只有该被注销的VLAN与所述孪生实例具有映身寸关系; 当该注销VLAN的端ロ当前已注册的VLAN中只有该被注销的VLAN与所述孪生实例具有映射关系时,进ー步判断该注销VLAN的端ロ是否为所述孪生实例对应的孪生端ロ组中被设置了第一标识的源端ロ; 若该注销VLAN的端ロ为所述孪生端ロ组中被设置了第一标识的源端ロ,则从所述孪生端ロ组中被设置了第二标识的源端口中选择ー个,并将该选择的源端ロ的标识从第二标识更新为第一标识,将该注销VLAN的端ロ从所述孪生端ロ组中删除; 若该注销VLAN的端ロ为所述孪生端ロ组中被设置了第二标识的源端ロ,则将该注销VLAN的端ロ从所述孪生端ロ组中删除。
12.根据权利要求8所述的设备,其特征在干,该设备进ー步包括 解除単元,用于当孪生端ロ组中所有的源端ロ被删除时,或者当所述目的端ロ接收到所述对端端ロ发送的与所述孪生实例相关联的多VLAN注册协议MVRP报文时,解除所述孪生端ロ组。
13.ー种防止环路震荡的设备,其特征在干,该设备包括 端ロ阻塞単元,用于在本设备的本端端ロ需要被阻塞吋,阻塞该需要被阻塞的端ロ ; 发送单元,用于在所述端ロ阻塞単元阻塞所述需要被阻塞的端ロ之前,向如权利8至.12任一所述设备的第一端ロ发送阻塞通告,以触发如权利8至12任一所述设备中的各个单元执行相应操作。
全文摘要
本发明提供了防止环路震荡的方法和设备。该方法应用于网络通信中,包括A,第一设备通过第一端口接收对端端口在被阻塞之前发送的阻塞通告;B,第一设备依据阻塞通告确定需要阻塞的实例;C,所述第一设备建立孪生端口组,并将所述需要阻塞的实例设置为所述孪生端口组的孪生实例;其中,所述孪生端口组包括目的端口和源端口,所述目的端口为所述第一端口,所述源端口为第一设备上其他注册了与所述孪生实例具有映射关系的VLAN的端口,所述源端口中只有一个被设置第一标识,剩余的被设置第二标识;D,被设置了第一标识的源端口在注册与所述孪生实例具有映射关系的动态VLAN时,触发所述目的端口注册该动态VLAN。采用本发明,能够避免环路在存在和消除之间来回反复震荡。
文档编号H04L12/46GK102685013SQ201210168309
公开日2012年9月19日 申请日期2012年5月25日 优先权日2012年5月25日
发明者戎衍博 申请人:杭州华三通信技术有限公司