专利名称:单环网络拓扑重建方法及系统的制作方法
技术领域:
本发明涉及通信领域,具体而言,涉及一种单环网络拓扑重建方法及系统。
背景技术:
生成树协议(Spanning-Tree Protocol,简称为STP)是一种两层协议,通过一种 专用的算法来发现网络中的物理环路,并产生一个逻辑的无环(loop-free)拓扑结构。生 成树协议的主要功能包括(1)维持一个无环路的网络,避免网络风暴,如果一个设备在拓扑中发现一个回 路,它将阻塞一个或多个冗余的端口,使环形拓扑转变成树形拓扑。(2)当网络拓扑发生变化时,生成树协议将重新配置交换机的各个端口以避免链 接丢失或者出现新的回路。STP实施以上两项功能的示意图可以参见图1,图1为相关技术中基于STP协议的 网络拓扑重建过程的示意图。如图1所示,开始的环状网络拓扑转换成了树形拓扑,即由图 1中的第一附图转换成第二附图的形式。当节点G,E之间的链路出现故障的时候,开始网 络拓扑重建的过程,网络拓扑结构由第二附图转变成了第三副图的形式。为了清楚了解STP协议,首先介绍STP中几个关键的概念,⑴根桥、⑵根端口、 (3)选取端口。可以参见图1,根桥是树形结构的根节点,即图1中所示节点A;根端口是非 根桥上向根桥方向即父节点转发数据帧的端口,每个非根桥上只有一个根端口,例如,图1 中所示的节点B的两个端口中与节点A连接链路的端口(图中所示端口 R);选取端口是根 桥或非根桥向子节点方向转发数据的端口,例如,节点B的另一端口(图中所示端口 D)。其 中,根桥(节点A)的所有端口都是选取端口。在STP协议中,各个节点的角色和节点中端口 的状态是选举产生的,选举过程就是通过BPDU将各个节点的一些参数进行比较,从而选出 根桥,根端口和选取端口。STP协议中规定了端口的四种状态阻塞状态(blocking),监听 状态(listening),学习状态(learning)和前向状态(又可称转发数据状态,forwording), blocking是阻塞状态不能转发数据,forwarding是可以转发数据的状态,其它两个状态时 从blocking转换到forwarding状态的中间状态,STP规定只用根端口和选取端口可以转 发数据,所以将根端口和选取端口赋予forwarding状态,其它端口都是blocking状态,各 个节点的端口状态稳定后,拓扑建立的过程也就完成了。现行的标准STP协议遵循IEEE 802. ID标准,具体的选举过程请参看标准。除了这几个关键的概念之外,STP协议还规定了 几个关键的时间参数(l)hello time 发送标准网桥协议数据单元(Bridge Protocol DataUnit,简称 为BPDU)消息的间隔;(2) forward delay 转发延迟,STP协议规定了端口的四种状态blocking, listening, learning 禾口 forwording。forwarding delay 是 listening 或 learning 状态 的持续时间。缺省值为15s。(3)max age 最大存活周期,BPDU消息的最大有效时间。缺省值为20s。
STP使用上述时间参数,控制标准BPDU消息的发送,状态的转换和判断何时进行 拓扑的重建。标准STP协议的突出问题是当拓扑发生变化时收敛时间过长。根据STP协议,拓 扑重建流程如下假设现在有三个运行Stp协议的网桥,它们如图2所示连接成环网,选举 过程完成后,网桥C的Pl端口成为blocking状态。若连接A和C的链路发生故障,则C的 P2端口接收不到标准BPDU消息,导致P2端口的标准BPDU消息存储时间超过maxage,网桥 C重新进行选举过程。此时,根据STP协议Pl将被选举为指定端口,这样,Pl将从blocking 状态转换成forwarding状态,根据如图3所示的状态转换图,此间要经历两个forwarding delay的时间。可见按照标准STP协议,按缺省值计算拓扑重建最多需要50s的时间。通过对STP协议的分析可知STP协议的性质决定了不论网络拓扑结构如何复杂 或简单,拓扑重建速度的决定因素包括几个时间参数,而不是选举过程。实际上,网络中各 网桥上的各端口重新选举自己的状态是十分迅速的,大部分时间实质上用在了发现网络拓 扑变化和端口的状态转换上。而这些时间参数的选择与网络中节点的数量和网络拓扑是有 联系的,一再减小上述时间参数可能导致网络拓扑不能稳定建立,同时减小上述时间参数 的潜力也是有限的。标准STP协议收敛时间长的主要原因是被动等待的特性。例如,网桥 在listening阶段用了很短的时间就已经获知某原先阻塞的端口进入转发状态后不会产 生环路,无法立即会进入学习状态,需要等待15秒的转发延迟时间过期进入学习状态;如 果网桥的端口在学习阶段经过很短的时间就学习完了所有的MAC地址,也无法立即进入转 发状态,因为它还要等待15秒的转发延迟。
发明内容
针对相关技术中基于STP的网络拓扑重建时,收敛速度较慢的问题而提出本发 明,为此,本发明的主要目的在于提供一种改进的网络拓扑重建方法及系统,以解决上述问 题至少之一。根据本发明的一个方面,提供了一种单环网络拓扑重建方法。根据本发明的单环网络拓扑重建方法包括单环网络中每个节点按照预定时间间 隔检测与该节点根端口相连接的链路是否失效;当单环网络中的一个节点检测到链路失效 时,具有阻塞端口的节点获知单环网络中发生链路失效的信息;具有阻塞端口的节点将其 处于阻塞状态的端口的状态转换成转发数据状态。根据本发明的另一方面,提供了一种单环网络拓扑重建系统。根据本发明的单环网络拓扑重建系统包括多个节点,多个节点中包含一个具有阻 塞端口的节点,其中,上述多个节点,用于按照预定时间间隔检测与该节点根端口相连接的 链路是否失效;具有阻塞端口的节点,用于在单环网络中的一个节点检测到链路失效时,获 知单环网络中发生链路失效的信息,并将其处于阻塞状态的端口的状态转换成转发数据状 态。通过本发明,单环网络中的每个节点主动检测与该节点根端口相连接的链路是否 失效;当该单环网络中的一个节点检测到链路失效时,具有阻塞端口的节点获知单环网络 中发生链路失效的信息;具有阻塞端口的节点将其处于阻塞状态的端口的状态转换成转发 数据状态,解决了相关技术中基于STP的网络拓扑重建时,收敛速度较慢的问题,进而可以将被动等待获知链路失效转变为主动检测链路失效,并使阻塞状态的端口的状态直接转换 成转发数据状态,从而加快了收敛速度。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1为相关技术中基于STP协议的网络拓扑重建过程的示意图;图2为包含3个节点的单环网络示意图;图3为节点端口的STP状态转换图;图4为根据本发明实施例的单环网络拓扑重建方法的流程图;图5为根据本发明优选实施例的单环网络拓扑重建方法的流程图;图6为根据本发明实施例的单环网络拓扑重建系统的结构示意图;图7为根据本发明优选实施例的单环网络中的节点的功能结构框图;图8为根据本发明优选实施例的单环网络拓扑重建系统的结构示意图。
具体实施例方式功能概述本发明实施例提供了一种单环网络拓扑重建方案,对于单环网,每个节点只具有 两个端口。针对STP拓扑重建的大部分时间实质上用在了发现网络拓扑变化和端口的状态 转换上这一特性,结合单环网的特点分析出以下的优化方向(1)当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个 时延称为forward Delay,协议默认值是15秒。在所有网桥收到这个变化的消息之前,若旧 拓扑结构中处于转发的端口还没有发现自己应该在新的拓扑中停止转发,则可能存在临时 环路。为了解决临时环路的问题,生成树使用了一种定时器策略,即在端口从阻塞状态到转 发状态中间加上一个只学习MAC地址但不参与转发的中间状态,即learning状态。在单一 环路条件下是不存在这个问题的,所以可以将learning状态跳过。(2)链路失效后,STP需要等最多20s的时间才可以发现链路发生变化。如果可以 在链路出现故障时马上发现,并强制进入拓扑变化处理流程,因而可以节省最多20s的重 建时间。(3)由于是单环网,系统中只有一个节点有blocking状态的端口,如果出链路故 障,则blocking端口是与它相连的节点通向根节点的唯一途径。所以,在检测到链路故障 的时候,直接将blocking状态的端口转换成forwarding,跳过listening和learning(优 化后没有learning状态了 )状态。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。方法实施例
根据本发明实施例,首先提供了一种单环网络拓扑重建方法。图4为根据本发明实施例的单环网络拓扑重建方法的流程图。如图4所示,根据 本发明实施例的单环网络拓扑重建方法包括以下处理(步骤S401-步骤S405)步骤S401 单环网络中每个节点按照预定时间间隔检测与该节点根端口相连接 的链路是否失效;根据标准STP协议,在链路发生故障时,只能被动需要等待根端口的BPDU消息到 达max Age而过期,此后才可以将拓扑变化信息向根桥方向传播。优选地,本发明提供的技术方案可以主动检测根端口的链路状态,当某网桥的根 端口检测到链路故障(例如,检测握手信号等)后,在软件实现上主动地使控制BPDU过期 的定时器——max age定时器过期,将拓扑发生消息向整个拓扑结构传送。其中,主动检测 的方式包括但不限于以预设时间进行检测,预设时间可以根据实际需求设置。步骤S403 当单环网络中的一个节点检测到链路失效时,具有阻塞端口的节点获 知单环网络中发生链路失效的信息;优选地,如果是与具有阻塞端口的节点的根端口相连的链路出现故障,则该节点 主动检测到与该节点根端口相连接的链路失效。优选地,如果是与具有非阻塞端口的节点的根端口相连的链路出现故障,则具有 非阻塞端口的节点检测到与该节点根端口相连接的链路失效;之后,具有非阻塞端口的节 点通过重新选举的选取端口向下一节点传送自定义的BPDU消息直至到达具有阻塞端口的 节点;具有阻塞端口的节点接收到BPDU消息,获取网络中链路失效的信息。其中,上述自定义的BPDU消息与标准的BPDU消息具有不同的类型。例如,可以在 将BPDU消息中标识类型的字段进行更改。步骤S405 具有阻塞端口的节点将其处于阻塞状态的端口的状态转换成转发数 据状态。由于是单环网,系统中只有一个有blocking状态的端口的网桥,如果出现链路故 障,则blocking端口是通向根网桥的唯一途径。所以,在检测到链路故障的时候,直接将 blocking状态的端口转换成forwarding状态,而其他端口的状态不变。当某一端口检测到拓扑变化时,为了将拓扑变化消息快速通知到有b 1 ocking状 态端口的网桥,根据本发明提供的技术方案,增加了一种非标准类型的BPDU消息(自定义 的BPDU消息)来传递拓扑变化消息。此种BPDU的类型域不同于配置BPDU和TCN BPDU即 可,当某一个节点发现链路故障后,如果此节点没有blocking状态的端口,则通过此节点 的选取端口发送非标准类型的BPDU,其它节点接收到此种类型的BPDU后,也会将它的max age定时器超时,重复这个过程,直至有blocking状态端口的节点。优选地,如果在重建拓扑时,需要加入新的节点,对于单环网络中需要增加的节 点,当该节点的端口处于阻塞状态时,使端口的状态经由监听状态转换至前向状态。即跳过 学习状态,根据STP协议,可以减少15S时间。图5为根据本发明优选实施例的单环网络拓扑重建方法的流程图。如图5所示, 根据本发明优选实施例的单环网络拓扑重建方法包括以下处理(步骤S501-步骤S519)步骤S501 单环网络中一个节点检测到链路出现故障,或者该节点接收到非标准 的BPDU(自定义的BPDU)消息,其中,该节点不具有阻塞端口 ;
步骤S503 该节点使max age定时器超时,则进入max age定时器超时处理流程;步骤S505 发送非标准类型的BPDU消息(帧);步骤S507 将端口指定为选取端口 ;步骤S509 重新进行根端口选举;步骤S511 重新进行选取端口选举;步骤S513 该节点判断是否具有blocking状态的端口,如果是,则执行步骤S515, 否则,执行步骤S519;优选地,如果该节点不具有blocking状态的端口,则通过此节点的选取端口发送 非标准类型的BPDU消息,其它节点接收到此种类型的BPDU后,也会将它的max age定时器 超时,重复这个过程,直至有blocking状态端口的节点。步骤S515 具有阻塞端口的节点将其处于阻塞状态的端口的状态(blocking状 态)转换成转发数据状态(forwarding状态)。步骤S517 具有阻塞端口的节点继续向下一节点发送TCN消息,其中,该消息用于 通知网络中其他节点链路失效的信息;步骤S519 具有非阻塞端口的节点进行端口状态的分配。通过上述实施例,提供了一种单环网络拓扑重建方法,网络拓扑重建过程中,通过 各节点主动的检测链路故障,然后主动地向网络传播拓扑变化信息,最后主动的更改了端 口状态,在具体实施过程中,在主频为200MHz的使用PPC作为CPU和Linux作为操作系统 的网桥上使用该方案,网络拓扑重建的速度在秒级左右。因而可知在单环网络拓扑重建过 程中,使用该方案,可以有效缩短拓扑重建的时间,加快STP收敛速度。系统实施例根据本发明实施例,还提供了一种单环网络拓扑重建系统。图6为根据本发明实施例的单环网络拓扑重建系统的结构示意图;图7为根据本 发明优选实施例的单环网络中的节点的功能结构框图;图8为根据本发明优选实施例的单 环网络拓扑重建系统的结构示意图。如图6所示,根据本发明实施例的单环网络拓扑重建系统包括多个节点(图中所 示以五个节点为例节点A、节点B、节点C、节点G、节点E),其中,该多个节点包含一个具有 阻塞端口的节点(节点G),其他节点为具有非阻塞端口的节点。以下结合图7、图8进行描 述。其中,上述多个节点,用于按照预定时间间隔检测与该节点根端口相连接的链路 是否失效;多个节点中的具有阻塞端口的节点,用于在单环网络中的一个节点检测到链路失 效时,获知单环网络中发生链路失效的信息,并将其处于阻塞状态的端口的状态转换成转 发数据状态。优选地,如图7所示,单环网络中具有阻塞端口的节点按照功能可以包括第一检 测单元1,用于检测与其根端口相连接的链路是否失效。优选地,如图7所示,上述具有非阻塞端口的节点按照功能划分可以包括第二检 测单元2、发送单元3。其中,第二检测单元2,用于检测与其根端口相连接的链路是否失效; 发送单元3,用于通过重新选举的选取端口向下一节点传送自定义的BPDU消息。
优选地,如图7所示,单环网络中具有阻塞端口的节点按照功能划分还可以包括 接收单元4,用于接收自定义的BPDU消息,其中,该自定义的BPDU消息由具有非阻塞端口的 节点发送。优选地,如图8所示,上述单环网络拓扑重建系统中的多个节点用于在所述多个 节点中任一节点的端口状态发生转变时,使状态由阻塞状态经过监听状态直接转换至前向 状态。例如,如图8所示,对于节点端口状态发生转变的一种情况,需要在单环网络中增 加一个或多个节点(图中示出了一个节点F),节点F的端口状态发生转变时,状态由阻塞 状态经过监听状态直接转换至前向状态。通过上述实施例,提供了一种单环网络拓扑重建系统,该系统包括的一个具有阻 塞端口的节点,以及具有非阻塞端口的节点,通过各节点主动的检测链路故障,然后主动的 向网络传播拓扑变化信息,最后主动的更改了端口状态,可以大大缩短了拓扑重建的时间。综上所述,通过本发明的上述实施例,提供的单环网络拓扑重建方案,在对网络拓 扑重建时,首先主动地检测链路故障,然后主动地向网络传播拓扑变化信息,最后主动地更 改端口状态,解决了相关技术中基于STP的网络拓扑重建时,收敛速度较慢的问题,进而可 以将被动等待获知链路失效转变为主动检测链路失效,并使阻塞状态的端口的状态直接转 换成转发数据状态,可以大大缩短拓扑重建的时间,从而可以加快收敛速度。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种单环网络拓扑重建方法,其特征在于,包括单环网络中每个节点按照预定时间间隔检测与该节点根端口相连接的链路是否失效;当所述单环网络中的一个节点检测到链路失效时,具有阻塞端口的节点获知所述单环 网络中发生链路失效的信息;所述具有阻塞端口的节点将其处于阻塞状态的端口的状态转换成转发数据状态。
2.根据权利要求1所述的方法,其特征在于,具有阻塞端口的节点获知所述单环网络 中发生链路失效的信息包括所述具有阻塞端口的节点通过检测获知与该节点根端口相连接的链路失效。
3.根据权利要求1所述的方法,其特征在于,具有阻塞端口的节点获知所述单环网络 中发生链路失效的信息包括具有非阻塞端口的节点通过检测获知与该节点根端口相连接的链路失效; 所述具有非阻塞端口的节点通过选取端口向下一节点传送自定义的桥接协议数据单 元BPDU消息直至到达所述具有阻塞端口的节点;所述具有阻塞端口的节点接收到所述BPDU消息,获取网络中链路失效的信息。
4.根据权利要求3所述的方法,其特征在于,所述自定义的BPDU消息与标准的BPDU消 息包含的标识类型的字段不相同。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括对于所述单环网络中的任一节点,当该节点的端口状态发生转变时,状态转变过程为 由阻塞状态经由监听状态直接转换至前向状态。
6.一种单环网络拓扑重建系统,其中,所述系统包括多个节点,所述多个节点包含一个 具有阻塞端口的节点,其特征在于,所述多个节点,用于按照预定时间间隔检测与该节点根端口相连接的链路是否失效; 所述具有阻塞端口的节点,用于在所述单环网络中的一个节点检测到链路失效时,获 知所述单环网络中发生链路失效的信息,并将其处于阻塞状态的端口的状态转换成转发数 据状态。
7.根据权利要求6所述的系统,其特征在于,所述具有阻塞端口的节点包括 第一检测单元,用于检测与其根端口相连接的链路是否失效。
8.根据权利要求6所述的系统,其特征在于, 所述多个节点中具有非阻塞状态的节点包括第二检测单元,用于检测与其根端口相连接的链路是否失效;发送单元,用于通过重新选举的选取端口向下一节点传送自定义的桥接协议数据单元 BPDU消息;所述具有阻塞端口的节点还包括 接收单元,用于接收所述自定义的BPDU消息。
9.根据权利要求6至8中任一项所述的系统,其特征在于,所述多个节点,用于在所述多个节点中任一节点的端口状态发生转变时,使状态由阻 塞状态经过监听状态直接转换至前向状态。
全文摘要
本发明公开了一种单环网络拓扑重建方法及系统,在上述方法中,单环网络中每个节点按照预定时间间隔检测与该节点根端口相连接的链路是否失效;当单环网络中的一个节点检测到链路失效时,具有阻塞端口的节点获知单环网络中发生链路失效的信息;具有阻塞端口的节点将其处于阻塞状态的端口的状态转换成转发数据状态。根据本发明提供的技术方案,可以将被动等待获知链路失效转变为主动检测链路失效,并使阻塞状态的端口的状态直接转换成转发数据状态,从而加快了收敛速度。
文档编号H04L29/06GK102075374SQ200910228729
公开日2011年5月25日 申请日期2009年11月25日 优先权日2009年11月25日
发明者冷卫杰, 张恺 申请人:天津中兴软件有限责任公司