用于在通信网络中选择根网桥的方法与流程

文档序号:15296748发布日期:2018-08-31 19:28阅读:483来源:国知局

本发明涉及一种用于在通信网络中选择根网桥的方法,使用这样的方法的通信网络以及在这样的通信网络中的网桥。



背景技术:

通信网络通常包括多个互连的网桥,其中所述网桥中的一个网桥被设置为根网桥,并且其他的网桥被为根网桥的下游。每个网桥包括至少一个端口,通过该端口从其他网桥接收消息或将消息发送到其他网桥。各个端口对之间的段将网桥连接在一起以形成通信网络。

在通信网络中常用的协议是快速生成树协议(rstp),其可以被认为是经典生成树协议(stp)的演进版本。stp遵循计算冗余网络拓扑中的无环路子集的某一程序。具体地,stp实现了bellman-ford迭代算法的分布式变化,其可以被描述为“梯度”处理(换句话说,stp每次迭代地寻找为根网桥选择“最优”候选的最优解)。通信网络中的每个网桥(除根网桥外)仅接受和保留最优的当前根网桥消息,并且选择其端口中的一个端口作为根端口。网桥的根端口用于从上游网桥接收消息。进一步地,对于网络中的每一段,提供从段到根网桥的最小路径成本的端口被选择为用于该段的指定端口。网桥的指定端口用于从网桥到下游网桥转发消息。既不是根端口也不是指定端口的端口随后被阻止。如果到根网桥的原始路径丢失,则被阻止的端口可以稍后用作到根网桥的备选端口。利用以上述方式分配的端口,定义了到根网桥的单个最优上游路径,并且到根网桥的其他备选路径被阻止。在通信网络的操作期间,关于现存网桥和任何新的网桥的信息继续被中继至下游。如果不同网桥变得更优于当前根网桥,则将该不同网桥设置为新的根网桥,并且相应地重新分配端口。

通常,使用rstp的通信网络中的网桥经由以网桥协议数据单元(bpdu)形式的消息进行通信。bpdu携带与网桥的地址、端口、路径成本等相关的信息。如果由特定端口接收的bpdu携带指示网桥作为根网桥的信息,但该网桥差于当前被存储在端口处的根网桥(即该网桥具有较不优选的优先级向量),则该bpdu被认为是较差的。当相邻网桥丢失其根端口并且不具有备选端口时可能出现较差的bpdu,因此声称其自己作为用于通信网络的新的根网桥。当交换机启动时(换句话说,当通信网络被首次建立时)也可能出现较差的bpdu,因为每个网桥一点也不了解其他网桥,因此每个网桥发出声称其自己作为根网桥的bpdu。

基于rstp,当根网桥的直接下游网桥检测到到根网桥的连接中的丢失时,如果其具有备选端口,则其解阻止其备选端口以找到到根网桥的备选路径。另一方面,如果其不具有备选端口,则其将其自己声明为新的根网桥,并且以bpdu的形式向更下游的网桥发送指示其自己为新的根网桥的改变消息。对于更下游的网桥,该bpdu是较差的bpdu,因为直接下游网桥差于原始根网桥。在接收到较差的bpdu后,如果更下游的网桥不具有备选端口(即被阻止的端口),则更下游的网桥接受较差的bpdu并在其端口处更新端口信息以用在较差的bpdu中描述的新的根网桥代替原始根网桥。然而,如果更下游的网桥具有被阻止的端口,则更下游的网桥维持原始根网桥作为根网桥。即使在被阻止的端口处接收到较差的bpdu。在这种情况下,更下游的网桥也以bpdu的形式向直接下游网桥发送不一致消息。该不一致消息指示被存储在更下游的网桥处的端口信息中的根网桥优于较差的bpdu中指示的根网桥,并且存在到该较优的网桥的替代路径。这允许直接下游网桥适配形成到原始根网桥的新路径。当直接下游网桥接收到不一致消息时,其接受较优的网桥是根网桥。其进一步停止发送较差的bpdu,并开始发送指示较优的网桥作为根网桥的bpdu。

rstp同步过程假设在通信网络中始终维持有效的根网桥信息。然而,该假设并不总是有效的。rstp收敛的问题在通信网络的某些拓扑中出现。一个问题是计数到无穷大的问题。例如,在具有环形拓扑的通信网络中,根网桥的丢失可以极大地减缓网络的收敛速度。这是因为在网络中出现了竞争状况。具体地,即使在该根网桥已经停止活动之后,关于旧的根网桥的缓存信息可以在网络中持续。根据事件序列,收敛时间可以变化。在故障后网络拓扑具有若干环路的最坏情况下,缓存信息可在网络中持续长得多的时间,导致主要流量中断,甚至桥接环路。

取决于通信网络中网桥的状况,计数到无穷大问题可以或可以不表现其自己。然而,在具有许多冗余路径的部署中其可能引起严重问题。例如,在具有数十个网桥的大型通信网络中,尤其是具有丰富冗余链路集合的那些网络,计数到无穷大问题可以显著减缓收敛。先前的建模已经示出在具有复杂拓扑的网络中收敛时间超过30秒。这可能是由于在重负载和再收敛拓扑中处理bpdu所需的时间。

下面描述计数到无穷大问题的示例。

具体地,图1示出了使用rstp的通信网络100。通信网络100包括互连的网桥e,f,g和h,每个网桥具有至少一个端口。基于rstp,网桥e最初被设置为根网桥,并且该网桥的各个端口被设置为根端口,指定端口或被阻止的端口如图1所示。网桥f和g是网桥e的直接下游网桥,而网桥h是更下游的网桥(具体地,网桥f的下游网桥)。

每个网桥被配置为在每个时间段向其下游网桥的每个网桥发送bpdu。该时间段可以被称为“问候时间(问候时间)”。不必所有网桥同时向其下游网桥发送bpdu。在该示例中,如果通信网络100维持图1所示的稳定的拓扑,则网桥e在时间t1向网桥f和g发送bpdu,网桥f在时间t2向网桥h发送bpdu,网桥e在时间t3再次向网桥f和g发送bpdu,并且网桥f在时间t4再次向网桥h发送bpdu,等等。问候时间等于t3和t1之间的时间,其也等于t4和t2之间的时间。

以下描述了在网桥e在时间t0停止活动的情况下的事件序列。

在时间t1,假设网桥e向网桥f和g发送bpdu。然而,由于网桥e停止活动了,所以不发送这样的bpdu。

在时间t2,由于网桥f没有从网桥e接收到bpdu,所以其推断其到网桥e的连接丢失。由于网桥f不具有备选端口,因此其将其自己声明为根网桥。然后,网桥f在其所有端口(即端口1-3)处更新端口信息以指示其是根网桥。网桥g也没有从网桥e接收到bpdu,并且因此也推断其与网桥e的连接丢失。然而,网桥g具有备选端口(即,被阻止的端口1)。因此,网桥g不会将其自己声明为根网桥。相反,网桥g解阻止其端口1,并且使网桥f成为其指定网桥(使端口1成为根端口)。图2示出了得到的通信网络100的拓扑。

进一步地,在时间t2,网桥f以bpdu的形式向网桥g和h发送指示网桥f是根网桥的改变消息。网桥g接受网桥f是根网桥,因为其不具有任何其他备选端口。网桥g在其所有端口1-3处更新端口信息以指示网桥f是根网桥。然而,网桥h具有被阻止的备选端口(即端口2)。因此,网桥h不接受网桥f是根网桥。相反,网桥h以bpdu的形式向网桥f发送不一致消息,该不一致消息指示网桥e仍然是根网桥并且存在到网桥e的备选路径。网桥h进一步阻止其端口1,解阻止其备选端口(端口2),并且使网桥g成为其指定网桥(使端口2成为根端口)。图3示出了得到的通信网络100的拓扑。

在时间t3,网桥f接受来自网桥h的不一致消息(换句话说,接受网桥e仍然是根网桥)。然后,网桥f在其所有端口1-3处更新端口信息以指示网桥e是根网桥。然后网桥f使网桥h成为其指定网桥,解阻止网桥h的端口1,并且使其端口2成为根端口以及使网桥h的端口1成为指定端口。这导致图4所示的网络拓扑。如图4所示,该网络拓扑形成环路。同样在时间t3,网桥g向网桥h发送指示网桥f是根网桥的bpdu。

在时间t4,网桥h接受网桥f是根网桥,因为其不具有任何其他备选端口。然后,网桥h在其所有端口1和2处更新指示网桥f是根网桥的端口信息。同样在时间t4,网桥f向网桥g发送bpdu,该bpdu指示网桥e是根网桥并且存在到网桥e的备选路径。这是因为网桥f在时间t3接受来自网桥h的不一致消息。

在时间t5,网桥g接受网桥e是根网桥,并且在其所有端口1-3处更新端口信息以指示网桥e是根网桥。进一步地,网桥h向网桥f发送指示网桥f是根网桥的bpdu。

在时间t6,网桥f接受其是根网桥并且在其所有端口1-3处更新端口信息以指示其是根网桥。进一步地,在时间t6,网桥g向网桥h发送bpdu,该bpdu指示网桥e是根网桥并且存在到网桥e的备选路径。这是因为网桥g在时间t5接受网桥e是根网桥。

在时间t7,网桥h接受网桥e是根网桥。然后,网桥h在其所有端口1-2处更新端口信息,以指示网桥e是根网桥。同样在时间t7,网桥f向网桥g发送指示网桥f是根网桥的bpdu。

在时间t8,网桥g接受网桥f是根网桥并且在其所有端口1-3处更新端口信息以指示网桥f是根网桥。进一步地,网桥h向网桥f发送bpdu,该bpdu指示网桥e是根网桥并且存在到网桥e的备选路径。

在时间t9,网桥f接受网桥e是根网桥并且在其所有端口处更新端口信息以指示网桥e是根网桥。此外,网桥g向网桥h发送指示网桥f是根网桥的bpdu。

从时间t4-t9的上述事件重复它们自己,直到网桥e是根网桥的信息老化。因此这导致计数到无穷大问题,因为网桥e是根网桥的旧信息围绕包括网桥f、g和h的环路“追赶”网桥f是根网桥的更新信息。

到目前为止,已经开发了用于减轻计数到无穷大问题的方法。例如,在美国专利no.us7916741中,序列号和网桥id被包括作为由在网桥间发送的bpdu携带的信息的一部分。在接收到bpdu时,网桥将bpdu中的序列号和网桥id与存储的信息进行比较。然而,用于该比较的逻辑是复杂的,并且该现有技术方法需要修改在现有通信网络中使用的bpdu格式。



技术实现要素:

一般来说,本发明提出使用定时器来确定是否在网桥处接受或拒绝不一致消息。

具体地,本发明的第一方面是一种用于在包括多个互连的网桥的通信网络中选择根网桥的方法,该方法包括:检测第一网桥和第二网桥之间的连接中的丢失,第一网桥是通信网络的初始根网桥;响应于检测到的第一网桥和第二网桥之间的连接中的丢失,针对预定长度的时间,启动针对第二网桥的定时器;从第二网桥向第三网桥发送改变消息,改变消息指示第二网桥作为根网桥;在第二网桥处从第三网桥接收指示不同网桥作为根网桥的不一致消息;以及基于不同网桥的身份以及预定长度的时间是否已经到期,确定是否在第二网桥处维持第二网桥是根网桥。

确定是否在第二网桥处维持第二网桥是根网桥可以包括:如果预定长度的时间已经到期,则确定不同网桥是否优于作为根网桥的第二网桥;以及如果是,则在第二网桥处接受不同网桥是根网桥。

确定是否在第二网桥处维持第二网桥是根网桥可以包括:如果预定长度的时间尚未到期,则确定不同网桥是否是第一网桥;以及如果是,则在第二网桥处维持第二网桥是根网桥。

确定是否在第二网桥处维持第二网桥是根网桥还可以包括:如果预定长度的时间尚未到期并且不同网桥不是第一网桥,则确定不同网桥是否优于作为根网桥的第二网桥;以及如果否,则在第二网桥处维持第二网桥是根网桥。

确定是否在第二网桥处维持第二网桥是根网桥还可以包括:如果不同网桥优于作为根网桥的第二网桥,则在第二网桥处接受不同网桥是根网桥。

第三网桥可以是第二网桥的下游网桥,并且该方法还可以包括:在第二网桥处从另外的网桥接收指示另一不同网桥作为根网桥的另外的不一致消息;以及在确定另外的网桥是第二网桥的上游网桥时,在第二网桥处接受另一不同网桥是根网桥。

第二网桥可以包括至少一个指定端口和至少一个非指定端口,并且启动针对第二网桥的定时器可以包括仅在第二网桥的至少一个指定端口处启动定时器。对于“非指定端口”,其是指该端口不是指定端口,并且可以是根端口或被阻止的端口。

来自第三网桥的不一致消息可以在至少一个指定端口处被接收,并且该方法还可以包括:在至少一个非指定端口处接收指示另外的不同网桥作为根网桥的另外的不一致消息;以及在确定在至少一个非指定端口处接收到另外的不一致消息时,在第二网桥处接受另外的不同网桥是根网桥。

该方法还可以包括在从第二网桥向第三网桥发送改变消息之前,在第二网桥处更新指示第二网桥是根网桥的信息。

启动针对第二网桥的定时器可以包括在信息在第二网桥处被更新时启动定时器。

该方法还可以包括:在第二网桥处更新信息之前,在第二网桥处存储指示第一网桥是先前根网桥的信息;以及确定是否在第二网桥处维持第二网桥是根网桥可以包括比较不一致消息和存储的信息。

该方法还可以包括:在第三网桥处接收来自第四网桥的另外的改变消息,另外的改变消息指示第二网桥作为根网桥;以及在第三网桥处接受第二网桥是根网桥。

该方法还可以包括:从第二网桥向第三网桥发送另一改变消息,另一改变消息指示第二网桥作为根网桥;在第二网桥处从第三网桥接收指示第一网桥作为根网桥的另一不一致消息;以及在确定预定长度的时间已经到期之后,在第二网桥处接受第一网桥是根网桥。

改变消息和不一致消息可以包括网桥协议数据单元(bpdu)。

每个网桥可以被配置为在每个时间段向下游网桥发送消息,并且预定长度的时间可以等于该时间段。

预定长度的时间可以在从1秒至6秒的范围内。

本发明的第二方面是一种用于通信网络的网桥,该网桥包括:检测单元,其被配置为检测到根网桥的连接中的丢失;定时器,其被配置为响应于检测到的到根网桥的连接中的丢失而针对预定长度的时间被启动;传送单元,其被配置为向另一网桥发送改变消息,改变消息指示网桥作为根网桥;接收单元,其被配置为从另一网桥接收指示不同网桥作为根网桥的不一致消息;以及处理单元,其被配置为基于不同网桥的身份以及预定长度的时间是否已经到期,确定是否维持网桥是根网桥。

本发明的第三方面是一种通信网络,包括:第一网桥,其被配置作为初始根网桥;第二网桥,其连接到第一网桥并且被配置为检测到第一网桥的连接中的丢失;以及第三网桥,其连接到第二网桥,并且被配置为向第二网桥发送消息和从第二网桥接收消息;其中第二网桥还被配置为:响应于检测到的到第一网桥的连接中的丢失,针对预定长度的时间启动定时器;向第三网桥发送改变消息,改变消息指示第二网桥为根网桥;从第三网桥接收指示不同网桥作为根网桥的不一致消息;以及基于不同网桥的身份以及预定长度的时间是否已经到期,确定是否维持第二网桥是根网桥。

附图说明

仅为了示例将参照下面的附图来说明本发明的实施例,其中:

图1示出了具有初始根网桥的现有技术通信网络;

图2示出了在初始根网桥停止活动之后的特定时间处的图1的网络的拓扑;

图3示出了在初始根网桥停止活动之后的另一时间处的图1的网络的拓扑;

图4示出了在初始根网桥停止活动之后的又一时间处的图1的网络的拓扑;

图5示出了根据本发明的实施例的通信网络,其中通信网络具有初始根网桥;

图6示出了图5的通信网络的网桥的示意图;

图7示出了图6的网桥被配置为执行的检查方法的流程图;

图8示出了在初始根网桥停止活动之后的第一时间处的图5的网络的拓扑;

图9示出了在初始根网桥停止活动之后的第二时间处的图5的网络的拓扑;

图10示出了在初始根网桥停止活动之后的第三时间处的图5的网络的拓扑;以及

图11示出了在初始根网桥和初始根网桥的直接下游网桥之间的链接丢失之后的某个时间处的图5的网络的拓扑。

具体实施方式

图5示出了根据本发明的实施例的通信网络500。

类似于通信网络100,通信网络500被配置为使用rstp。通信网络500包括多个互连的网桥,其包括以网桥a的形式的第一网桥,以网桥b的形式的第二网桥,以网桥c的形式的第三网桥和以网桥d的形式的第四网桥。每个网桥包括至少一个端口并且基于rstp,网桥a被设置为初始根网桥,并且端口被设置为根端口、指定端口或被阻止的端口。网桥b和d是网桥a的直接下游网桥,而网桥c是更下游的网桥(具体地,网桥b的下游网桥)。每个网桥a-d可操作为以类似于上面描述的现有技术通信网络100中的网桥e-h的方式在每个问候时间向其下游网桥中的每个发送bpdu。

图6示出了通信网络500中的网桥b的示意图。网桥a、c和d包括与网桥b的单元类似的单元。

具体地,网桥b包括被配置为检测到根网桥a的连接中的丢失的检测单元602。网桥b还包括在其指定端口2和3的每个处(但不在其根端口1处)的定时器604。每个定时器被配置为(响应于检测到的到根网桥a的连接中的丢失)在端口信息在端口处被更新时,针对预定长度的时间(等于问候时间)而被启动。网桥b还包括传送单元606,其被配置为向网桥c和d发送指示网桥b作为根网桥的改变消息,以及接收单元608,其被配置为从网桥c和d中的一个或两个接收指示不同网桥(即不同于网桥b)是根网桥的不一致消息。另外,网桥b包括处理单元610,其被配置确定在哪个端口处接收到不一致消息。处理单元610还被配置为使得在确定在根端口处或在被阻止的端口处接收到不一致消息时(即,从上游网桥接收到不一致消息),接受不一致消息,并且在确定在指定端口处接收到不一致消息时(即,从下游网桥接收到不一致消息),执行如图7所示的检查方法700以确定是否接受不一致消息,换句话说,是否维持网桥b是根网桥。检查方法700基于不一致消息中的不同网桥的身份以及接收bpdu的端口处的定时器604是否已经到期。下面详细描述检查方法700。

在检查方法700中,在指定端口处接收到不一致消息时,网桥b首先检查在该端口处的定时器是否已经到期。如果否,则网桥b进一步检查在不一致消息中指示的不同网桥是否是旧的根网桥,即网桥a。如果是,则网桥b拒绝不一致消息。

如果在接收到不一致消息的端口处的定时器尚未到期,并且不一致消息中指示的不同网桥不是网桥a,则网桥b继续检查在不一致消息中指示的不同网桥是否优于作为根网桥的其自己。如果是,则网桥b接受不一致消息。否则,网桥b拒绝不一致消息。

如果在接收到不一致消息的端口处的定时器已经到期,则网桥b直接继续检查在不一致消息中指示的不同网桥是否优于作为根网桥的其自己。如果是,则网桥b接受不一致消息。即使在不一致消息中指示的不同网桥是网桥a。如果不是,则网桥b拒绝不一致消息。

对于“接受不一致消息”,其是指网桥b接受根网桥是在不一致消息中指示的不同网桥,并且相应地在其端口处更新端口信息。对于“拒绝不一致消息”,其是指网桥b不接受根网桥是在不一致消息中指示的不同网桥。在这种情况下,在网桥b的端口处的端口信息被维持以指示网桥b是根网桥。

示例1

下面详细描述了在通信网络500中在初始根网桥a停止活动之后如何选择根网桥的第一示例。

在时间t0,通信网络500是稳定的,并且具有图5所示的拓扑。

在时间t1,网桥a被假定为向网桥b和d发送bpdu。然而,由于网桥a已经停止活动,所以这样的bpdu不被发送。

在时间t2,网桥b推断其到网桥a的连接丢失,因为网桥b在时间t1没有从网桥a接收到bpdu。由于网桥b不具有备选端口,所以网桥b声明其自己为新的根网桥。然后,网桥b存储指示旧的根网桥是网桥a的数据,并且在其所有端口1-3处更新端口信息,以指示其自己作为新的根网桥。在更新端口信息时,网桥b在其指定端口2和3中的每个处,针对预定长度的时间(等于问候时间)启动定时器604。网桥d也推断其到网桥a的连接丢失,因为其也没有在时间t1从网桥a接收bpdu。然而,网桥d具有被阻止的备选端口(端口1)。因此,网桥d解阻止该备选端口(端口1),并且使网桥b成为其指定网桥(使其端口1作为根端口)。图8示出了没有停止活动的网桥a和具有网桥d的端口1作为根端口的通信网络500的得到的拓扑。在时间t2,网桥b还以bpdu的形式向网桥c和d两者发送向这些网桥指示其是新的根网桥的改变消息。

此外在时间t2,网桥d接受网桥b是根网桥,因为其在此时没有任何其他备选端口。然后,网桥d存储指示旧的根网桥是网桥a的数据,并且在其所有端口1和2处更新端口信息,以指示网桥b是新的根网桥。在更新端口信息时,网桥d在其指定端口2处,针对预定长度的时间(等于问候时间)启动定时器。另一方面,网桥c不接受网桥b是根网桥,因为网桥c具有被阻止的备选端口(具体地,端口2)。相反,网桥c以bpdu的形式向网桥b发送不一致消息,该不一致消息指示网桥a仍然是根网桥,并且存在到网桥a的备选路径。网桥c也解阻止其端口2,并且使网桥d成为其指定网桥(因此,将其端口2设置为根端口)。此外,网桥c也阻止端口1。图9示出了通信网络500的得到的拓扑。

在时间t3,网桥b执行检查方法700以确定在其指定端口2处接收到的来自网桥c的不一致消息是否应该被接受或拒绝。具体地,网桥b在端口2处检查定时器,并且将在不一致消息中指示的不同网桥与在时间t2存储的数据中的旧的根网桥进行比较。因为网桥b的端口2处的定时器尚未到期,并且来自网桥c的不一致消息指示根网桥是网桥a,所以网桥b在时间t3拒绝不一致消息。在时间t3,网桥d还向网桥c发送指示网桥b是根网桥的bpdu。

在时间t4,网桥c接受网桥b是根网桥。然后,网桥c存储指示旧的根网桥是网桥a的数据,并且在其所有端口1和2处更新端口信息以指示网桥b是根网桥。由于网桥c接受网桥b是根网桥,所以其也解阻止端口1以从网桥b接收消息(使端口1成为根端口)。网桥c进一步阻止端口2。这产生了如图10所示的拓扑。进一步在时间t4,网桥b向网桥c和d发送指示网桥b是根网桥的bpdu。

因此,在时间t4,通信网络500收敛,其中每个网桥b、c和d具有网桥b是根网桥的端口信息。

示例2

下面描述在通信网络500中的初始根网桥a和直接下游网桥b之间的链接丢失(但是在初始根网桥a仍然活动的情况下)之后如何选择根网桥的第二示例。

在时间t0,通信网络500是稳定的,并且具有图5所示的拓扑。

在时间t1,网桥a向网桥b和c发送bpdu。然而,由于网桥a和网桥b之间的链接丢失,所以bpdu并未被网桥b接收。由于网桥a仍然活动,所以bpdu仍然被网桥d接收,并且网桥a和网桥d之间的链接没有丢失。

在时间t2,网桥b推断其到网桥a的连接丢失,因为其在时间t1没有从网桥a接收到bpdu。由于网桥b不具有备选端口,所以网桥b声明其自己作为新的根网桥。然后,网桥b存储指示旧的根网桥是网桥a的数据,并且在其所有端口1-3处更新端口信息,以指示其自己为新的根网桥。在更新端口信息时,网桥b在其指定端口2和3中的每个处,针对预定长度的时间(等于问候时间)启动定时器604。网桥b还以bpdu的形式向网桥c和d两者发送指示网桥b现在是根网桥的改变消息。

进一步地在时间t2,网桥d不接受网桥b是根网桥,因为其在时间t1从网桥a接收到bpdu。因此,网桥d以bpdu的形式向网桥b发送不一致消息,该不一致消息指示网桥a仍然是根网桥,并且存在到网桥a的备选路径。网桥c也不接受网桥b是根网桥,因为其基于备选端口(被阻止的端口2)。网桥c也以bpdu的形式向网桥b发送不一致消息,该不一致消息指示网桥a仍然是根网桥,并且存在到网桥a的备选路径。网桥c进一步解阻止其端口2以从网桥d接收消息(使端口2成为根端口)并阻止其端口1。图11示出了通信网络500的得到的拓扑。

在时间t3,网桥b执行检查方法700。由于在网桥b的端口2和3处的定时器尚未到期,并且来自网桥c和d的不一致消息都指示根网桥是旧的根网桥,即网桥a,所以网桥b拒绝两个不一致消息。同样在时间t3,由于自从在时间t1从网桥a向网桥d发送上一个bpdu之后,已经过了等于问候时间的时间段,所以网桥a再次向网桥d发送bpdu。

在时间t4,网桥b的端口2和3处的定时器到期。网桥b向网桥c和d两者发送bpdu,该bpdu再断言网桥b是根网桥。网桥d不接受网桥b是根网桥,因为其在时间t3从网桥a接收到bpdu。因此,网桥d以bpdu的形式向网桥b发送不一致消息,该不一致消息指示网桥a仍然是根网桥,并且网桥d具有到网桥a的备选路径。网桥c也不接受网桥b是根网桥,因为其在被阻止的端口(即端口1)处从网桥b接收到bpdu,并且存储在网桥c中的数据指示网桥a(比网桥b更优的网桥)作为根网桥。网桥c因此也以bpdu的形式向网桥b发送指示网桥a仍然是根网桥的不一致消息。

在时间t5,在从网桥c和d接收到不一致消息时,网桥b执行检查方法700。由于端口2和3处的定时器已经到期,并且在不一致消息中指示的不同网桥(具体地,网桥a)优于作为根网桥的网桥b,所以网桥b接受来自网桥c和d的不一致消息。网桥b然后在其所有端口处更新端口信息以指示网桥a是根网桥。

因此,在时间t5,通信网络100是稳定的,其中所有网桥a-d具有网桥a作为根网桥的端口信息。

本发明的实施例有助于防止计数到无穷大问题被发起。在旧的根网桥停止活动的情况下,在定时器被设置的时间长度内,通信网络中的网桥最终实现旧的根网桥停止活动并且网络收敛。因此,本发明的实施例有助于实现通信网络的更快的收敛。例如,在上述示例1中,网络500在时间t4收敛。另一方面,在示例现有技术网络100中网桥e是根网桥的旧信息“追赶”网桥f是根网桥的当前消息,直到旧信息老化(其显著晚于时间t4发生)。

如果旧的根网桥仍然活动,但是到根网桥的连接中的丢失是由一个或多个断开的链接引起的,则本发明的实施例中的通信网络也可以在定时器已经到期之后最终收敛(尽管在这样的情况下,取决于定时器的长度,实施例中的收敛速度可能比现有技术网络中的更慢)。

此外,在现有通信网络中容易实现本发明的实施例。这是因为当使用本发明的实施例时,不需要改变现有网络中的bpdu的格式。

各种修改对于本领域技术人员将是显而易见的。

例如,一个或多个定时器的长度不需要等于问候时间(尽管在一些情况下,例如在上述示例2中,增加一个或多个定时器的长度可能导致通信网络的收敛的延迟)。每个定时器的长度可以在从1秒至6秒的范围内。另外,直接下游网桥(例如网络500中的网桥b)的定时器可以在检测到到根网桥的连接中的丢失之后,并且在发送改变消息之前的任何时间被启动。

进一步地,通信网络可以利用外部控制器来操作。在这种情况下,针对每个端口的定时器可以位于通信网络外部的外部控制器中。此外,关于旧的根网桥的信息可以被存储在网桥外部的外部控制器中。每个网桥还可以使用单个定时器而不是在相应的指定端口处的多个定时器。

一旦网桥接受根网桥已经改变之后,不需要在网桥处更新端口信息。例如,在通信网络500中,网桥b在检测到到网桥a的连接中的丢失时不需要在其所有端口处更新端口信息。相反,网桥b可以在稍后的时间更新端口信息,例如在端口处的定时器已经到期之后。在这种情况下,代替存储与旧的根网桥相关的信息,网桥b可以在检查方法700中使用端口信息(其包含旧的根网桥的身份)用于比较。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1