生成树协议地址更新方法以及交换机的制作方法

文档序号:7624538阅读:181来源:国知局
专利名称:生成树协议地址更新方法以及交换机的制作方法
技术领域
本发明涉及网桥的管理方法,尤其是一种生成树协议动态地址更新方法,以及一种交换机。
背景技术
网桥(Gate Bridge)工作在OSI第二层(数据链路层MAC)上,有在不同网段之间再生信号的功能,它可以有效的连接两个局域网,使本地通信限制在本子网内,并将相应的信号转发至另一子网段。
透明网桥把经过的数据帧中的源MAC地址和端口进行记录,当报文中的目的MAC地址被记录后,则将以后发向该目的MAC地址的报文直接从记录的端口号发送出去;如果报文中目的MAC地址没有记录或者目的MAC地址为多播地址,则透明网桥将该报文向所有端口进行发送。
透明网桥缺陷在于透明网桥并不能像路由器那样知道报文还需要经过多少次转发,一旦网络存在环路就会造成报文在环路内不断循环和增生,甚至造成恐怖的“广播风暴”,网络将变得不可用。参照图1,环路的产生使主机A和A’之间的报文会在桥接网络中不断增生和广播,造成“风暴”。
解决上述无限循环问题的方法是让网桥间相互通信,并用一棵到达每个LAN的生成树覆盖实际的拓扑结构。用于构造树的算法为生成树算法SPA(Spanning Tree Algorithm),用这种算法构造网络树的协议也就被称为“生成树协议”。所述生成树协议(STP)是二层管理协议,它通过有选择性的阻塞网络冗余链路来达到消除网络二层环路的目的,并且还具备链路备份功能。网桥之间通信的信息单元称为配置消息BPDU(Bridge Protocol Data Unit),STPBPDU是一种二层报文,目的MAC地址是多播地址01-80-C2-00-00-00,即所有支持STP协议的网桥都会接收并处理该消息报文,该报文在数据区里携带了用于生成树计算的所有有用信息。
若网络拓扑结构发生变化,如某个网桥或LAN发生故障等情况下,则需要重新计算生成树,进而使端口状态发生改变;端口状态改变后,桥学习到的动态地址也会变得无效,所以STP协议会触发在网络中传播拓扑改变消息(TC),通知各个桥删除学习到的动态地址,引发重新学习站点地址。
具体的,在现有的技术中,当网络拓扑结构发生改变时,网桥交换机将收到带有拓扑改变(TC)标志位的BPDU,或内部状态机运转发现(Detected)拓扑改变,会在其它端口进行TC消息的传播,同时删除所有端口学习到的动态地址。TC消息用于使能网桥删除已有生成树地址。
由此可知,现有技术的缺陷在于每个TC消息和Detected状态即会触发交换机进行动态地址的删除,因此,在拓扑改变到网络收敛的过程中会频繁触发交换机删除动态地址,浪费了CPU时间,降低了系统性能;尤其是在分布式系统中,性能降低非常明显,并且可能导致振荡。另外,在一些较稳定的网络中,少量的TC消息会使交换机所有地址刷新,进而导致网络闪断。

发明内容
本发明要解决的问题是提供一种生成树协议地址更新方法,该方法能够提供保护机制,避免网桥进行不必要的地址删除。相应的,本发明还提供了一种交换机。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的一种生成树协议地址更新方法,包括预置第一时长,以及第二时长;交换机获取TC消息,进行生成树地址删除操作,并且触发计时器开始计时;在所述第一时长内,交换机获取TC消息后,删除当前生成树地址;当计时器计时超过第一时长,则在第二时长内,交换机接收到TC消息,不进行删除生成树地址的操作;当第二时长超时,判断在所述第二时长内是否收到了拓扑改变TC消息,若有则交换机删除当前生成树地址。
在上述方法中所述第一时长取值为3至5秒;所述第二时长可为10至15秒。所述交换机为根网桥交换机。
在上述方法基础上,交换机进行生成树地址删除操作后,触发学习新的生成树地址。
一种生成树协议地址更新方法,包括交换机获取TC消息,进行生成树地址删除操作,并且触发计时器开始计时,进入预置的第二时长;在预置的第二时长内,交换机不进行删除生成树地址的操作;当第二时长超时,判断在所述第二时长内是否收到了拓扑改变TC消息,若有则交换机删除当前生成树地址。
一种交换机,用于桥接网络,所述交换机获取TC消息,进入预置的第一时长内,交换机收到TC消息进行生成树地址的操作;至第一时长超时,并在预置的第二时长内,交换机不进行删除生成树地址的操作;至第二时长结束,交换机判断在所述第二时长内是否收到了TC消息,若有则删除当前生成树地址。
交换机通过计时器判断进入预置的第二时长。所述第一时长为3至5秒。所述第二时长为10-15秒。
以上技术方案可以看出,由于本发明在现有生成树地址更新方法基础上增加了保护机制,在网络拓扑频繁改变的情况下避免交换机频繁删除生成树动态地址,因而本发明增强了网络的稳定性;进而,由于本发明减少了删除动态地址的次数,因而节约了交换机系统资源(如CPU等),因而本发明提高了系统的性能和网络的稳定性;并且,本发明技术方案用状态机实现,因而易于标准化。


图1为桥接网络中路径回环产生示意图;图2为生成树工作过程示意图;图3为本发明生成树地址刷新保护机制时序图;图4为状态机触发变迁示意图。
具体实施例方式
本发明提供了一种生成树协议地址的更新方法。
所述生成树协议是一种二层管理协议。通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的。即用一棵到达每个LAN的生成树覆盖实际的拓扑结构。通过生成树确保任两个LAN之间只有唯一一条路径,一旦网桥商定好生成树,LAN间的所有传送都遵从此生成树,由于从每个源到每个目的地只有唯一的路径,故将不再产生循环。
STP协议中定义了根桥(Root Bridge)、根端口(Root Port)、指定端口(Designated Port)、路径开销(Path Cost)等概念,目的在于通过构造一棵自然树的方法达到裁剪冗余的环路,同时实现链路备份和路径最优化。用于构造树的算法叫做生成树算法(SPA,Spanning Tree Algorithm),用这种算法构造网络树的协议也就被称为“生成树协议”。网桥之间进行一些信息的交流,这些信息交流单元就称为配置消息单元(BPDU,Bridge Protocol Data Unit)。STPBPDU是一种二层报文,目的MAC地址是多播地址01-80-C2-00-00-00,所有支持STP协议的网桥都会接收并处理收到的报文,该报文在数据区里携带了用于生成树计算的所有有用信息。
建造生成树的原则如下。首先,选出一个网桥作为生成树的根;实现的方法是每个网桥广播其优先级向量和时间参数,选择MAC地址最小和优先级最高的网桥作为根。其次,按所述根到每个网桥的最短路径来构造生成树。如果某个网桥或LAN故障,则重新计算。网桥通过BPDU(Bridge Protocol Data Unit)互相通信,在网桥做出配置自己的决定前,每个网桥和每个端口需要下列配置数据网桥网桥ID(唯一的标识);端口端口ID(唯一的标识)、端口相对优先权、各端口的花费(高带宽=低花费)。
配置好各个网桥后,网桥将根据配置参数自动确定生成树,这一过程分为三个阶段1、选择根网桥;具有最小网桥ID的网桥被选作根网桥。即选择MAC地址最小和优先级高的网桥作为根。
2、在其它所有网桥上选择根端口;除根网桥外的各个网桥需要选一个根端口,这应该是最适合与根网桥通信的端口。通过计算各个端口到根网桥的花费,取最小者作为根端口。
3、选择每个LAN的″指定(designated)网桥″和″指定端口″;如果只有一个网桥连到某LAN,它必然是该LAN的指定网桥,如果多于一个,则到根网桥花费最小的被选为该LAN的指定网桥。指定端口连接指定网桥和相应的LAN(如果这样的端口多于一个,则低优先权的被选)。
由上述可知,网桥上的每个端口必须为下列类型之一根端口、某LAN的指定端口、阻塞端口。
当一个网桥加电后,假定自己是根网桥,发送出一个CBPDU(ConfigurationBridge Protocol Data Unit),通知其他网桥它认为的根网桥ID。若一个网桥收到一个根网桥ID小于其所知ID的CBPDU,则会更新自己的表,如果该帧从根端口(上传)到达,则向所有指定端口分发;当一个网桥收到一个根网桥ID大于其所知ID的CBPDU,则将该信息丢弃,如果该帧从指定端口到达,则回送一个帧告知真实根网桥的较低ID。当有意地或由于线路故障引起网络重新配置时,重复上述过程以产生一个新的生成树。
参照图2,具体说明树的生成。在如图2所示的网络中,各网桥都以默认值启动,在网桥优先级都一样(默认优先级是32768)的情况下,MAC地址最小的网桥成为根桥,假设是图中的SW1。这样,SW1的所有端口都成为指定端口,进入转发状态。
接下来,其他网桥将各自选择一条“最粗壮”的树枝作为到根桥的路径,相应端口的角色成为根端口。假设在图中SW1至SW3的是百兆FE链路,SW1至SW2与SW2至SW3的链路是千兆GE链路,则SW3从端口1到根桥的路径开销按照默认值就是19,而从端口2经过SW2到根桥的路径开销是4+4=8,所以端口2成为根端口,进入转发状态。SW2到根桥有两条路径开销相等的路径,它将根据发送端的端口ID(Port ID)来确定优先级,即优先级高(数值小)的将成为根端口,假设是端口2。SW2的端口1将成为指定端口。根桥和根端口都确定之后即形成生成树,如图中实线所示,进一步将裁剪冗余的环路。裁减冗余环路是通过阻塞非根桥上相应端口来实现的,例如SW2的端口3和SW3的端口1的角色成为禁用端口,进入阻塞状态。经过一段时间(默认值是30秒左右),生成树稳定之后,所有端口或者进入转发状态,或者进入阻塞状态。
STP BPDU定时从各个网桥的指定端口发出,以维护链路的状态。如果网络拓扑发生变化,生成树就会重新计算,端口状态也会随之产生改变;端口状态改变后,桥学习到的动态地址也会变得无效,因此,STP协议会触发在网络中传播拓扑改变(TC)消息,通知各个桥删除学习到的动态地址,引发重新学习站点地址。
生成树地址刷新方式为网络中的根桥处于核心位置,并且根桥的交换机性能高于其它交换机;当网络边缘附近的某链路拓扑发生变化时,发送拓扑改变通知消息给网络中其它交换机,并在网络中传递,包括向网络的汇聚和核心层传递;当交换机收到拓扑改变通知消息时,会认为网络拓扑改变,从而删除交换机上的动态地址(MAC地址和ARP地址),ROOT交换机收到所述拓扑改变通知消息后会删除本交换机的地址,以学习新的生成树地址。
参照图3,说明本发明网络拓扑改变保护状态机(TCPM)的一较佳实施例。
该保护机制的核心是在短时间内收到多个TC消息时,交换机并不频繁删除生成树地址,而是在如下所述的保护机制下进行地址删除操作。
31交换机保持在无效状态,所述无效状态是指交换机未使能TC保护机制,即本实施例中,可选择是否启用TC保护机制;32使能TC保护机制,进入就绪状态;判断是否有拓扑改变TC消息;33使能TC保护机制后,在计时器停止状态下,第一次收到TC消息,则启动计时器开始计时,并且该次TC消息将触发一次地址删除操作;
如图所示,交换机进入运行状态,计时器对该状态进行计时,本实施例中设定运行状态时长为T1;在该状态中,每个TC消息都将触发交换机进行地址删除操作;34计时器T1超时,则交换机进入保护状态,计时器对预置的第二时长T2计时,在所述保护状态期间,交换机不进行地址删除操作;在保护状态期间,若未收到TC消息,则交换机将始终不进行任何操作;35如图所示,若在保护状态期间收到TC消息,交换机即进入等待状态,在该状态期间,交换机不进行地址删除操作,并且记录在T2时长内收到过TC消息;36等待计时器T2超时,判断在T1超时后且在T2时长内,交换机是否收到TC消息,若收到TC消息,则进行一次地址删除操作,若在所述期间内未收到TC消息,则交换机不删除地址;即参照图3,若T2超时后,交换机前一状态为等待状态,则删除地址,否则不删除地址;T2超时后计时器清零,交换机可返回就绪状态,等待收到新的TC消息启动新的计时周期。
本发明根据网络拓扑结构改变的特点,设置了T1和T2时长,并在各时长内采用相区别的地址更新机制。网络拓扑结构的改变,尤其中型或大型网络拓扑结构的改变需要一定时间,即在交换机最初收到TC消息时(对应于T1期间),网络可能还处于拓扑结构变化的过程,因而虽然交换机进行了地址删除和更新操作,但更新后的地址仍不是网络拓扑结构变化的最终结果;通常,经过T1时长后,网络拓扑结构趋于稳定,拓扑的改变趋近结束,则交换机T2时长内所获取的TC消息主要是由于网络传输时延(如交换机转发TC消息的延迟)等原因造成TC消息在T2期间到达该交换机,进而可采用本发明T2时期内的更新机制控制进行生成树地址删除操作。
上述为本发明的一实施例,在上述实施例中,所述各状态仅用于说明交换机在不同时期内收到TC消息的处理方式;并且本发明中,计时器对T1、T2计时的方式并不进行限定,例如可通过一个计时器先对T1计时,待T1超时即立刻重新启动计时器对T2计时。或者,按照上述实施例中所述方式,在收到TC消息时启动计时器同时对T1和T2计时,则在该实现方式中,所述时间间隔T2>T1,且推荐T2时长值取10~15秒,T1时长值取3~5秒,显然,所述时长T1、T2的取值在本发明中并不进行限定,本领域技术人员可根据具体业务需求进行设定。
上述提供的方法可应用于桥接结构网络中的各层网桥。通常,网络边缘的交换机如果拓扑频繁的发生改变,将导致核心层和汇聚层的交换机频繁删除动态地址,影响其性能和运行稳定性,因而本发明应用于根桥时将能够得到更突出的效果。
参照图4可进一步了解上述实施例中所定义各状态机的触发变迁状况。对于上述各种本发明方法的扩展和变化之处,本领域技术人员可对状态机的转移条件进行相应的变化。
参照该图,交换机未启用TC保护机制,即处于无效状态时,每次TC消息都会触发交换机删除地址,并且,地址删除后交换机将返回无效状态。使能TC保护机制,交换机由无效状态经过初始化进入到就绪状态,相应的,取消TC保护机制后,交换机由就绪状态变为无效状态。
在就绪状态,当TC消息到达交换机时,交换机即根据该消息进行地址删除操作,并启动计时器计时;并将状态机转移到运行状态;在T1未超时的期间,若交换机若收到TC消息,则进行地址删除操作,操作完成即返回所述运行状态。
当T1超时,交换机状态机转移到保护状态,处于保护状态时,若有TC消息到达交换机,则将状态机转移到等待状态;待T2超时,若交换机为保护状态,则将状态机返回到就绪状态,若为等待状态,则交换机进行一次地址删除操作,并返回到就绪状态。相应的,交换机中计时器清零。
相应的,本发明还提供了一种交换机,该交换机用于桥接网络,包括各网桥交换机。交换机获取TC消息,触发计时器计时,在第一时长内,交换机将收到的TC消息转发给相邻交换机,并且根据收到的TC消息删除当前生成树地址;至第一时长结束,交换机判断是否第二时长超时。在预置的第二时长内,交换机将收到的TC消息转发给相邻交换机,且不进行删除生成树地址的操作;若第二时长超时,判断在所述第二时长内交换机是否收到了TC消息,若有则交换机删除当前生成树地址。本发明中,所述第一时长推荐取值为3至5秒。
本发明所提供的交换机处理生成树地址更新的机制可参照图3和图4,以及上文相应的文字说明。
以上对本发明所提供的生成树协议地址更新方法以及交换机进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种生成树协议地址更新方法,其特征在于1)预置第一时长,以及第二时长;2)交换机获取TC消息,进行生成树地址删除操作,并且触发计时器开始计时;3)在所述第一时长内,交换机获取TC消息后,删除当前生成树地址;当计时器计时超过第一时长,进行4);4)在预置的第二时长内,交换机接收到TC消息,不进行删除生成树地址的操作;5)当第二时长超时,判断在所述第二时长内是否收到了拓扑改变TC消息,若有则交换机删除当前生成树地址。
2.如权利要求1所述的生成树协议地址更新方法,其特征在于所述第一时长为3至5秒。
3.如权利要求1所述的生成树协议地址更新方法,其特征在于所述第二时长为10至15秒。
4.如权利要求1所述的生成树协议地址更新方法,其特征在于所述交换机为根网桥交换机。
5.如权利要求1至4其中之一所述的生成树协议地址更新方法,其特征在于交换机进行生成树地址删除操作后,触发学习新的生成树地址。
6.一种生成树协议地址更新方法,其特征在于1)交换机获取TC消息,进行生成树地址删除操作,并且触发计时器开始计时,进入预置的第二时长;2)在预置的第二时长内,交换机不进行删除生成树地址的操作;3)当第二时长超时,判断在所述第二时长内是否收到了拓扑改变TC消息,若有则交换机删除当前生成树地址。
7.一种交换机,用于桥接网络,其特征在于交换机获取TC消息,进入预置的第一时长内,交换机收到TC消息进行生成树地址的操作;至第一时长超时,并在预置的第二时长内,交换机不进行删除生成树地址的操作;至第二时长结束,交换机判断在所述第二时长内是否收到了TC消息,若有则删除当前生成树地址。
8.如权利要求7所述的交换机,其特征在于交换机通过计时器判断进入预置的第二时长。
9.如权利要求7或8所述的交换机,其特征在于所述第一时长为3至5秒。
10.如权利要求9所述的交换机,其特征在于所述第二时长为10-15秒。
全文摘要
本发明提供了一种生成树协议地址更新方法,包括预置第一时长,以及第二时长;交换机获取TC消息,进行生成树地址删除操作,并且触发计时器开始计时;在所述第一时长内,交换机获取TC消息后,删除当前生成树地址;当计时器计时超过第一时长,在所述第二时长内,交换机接收到TC消息,不进行删除生成树地址的操作;当第二时长超时,判断在所述第二时长内是否收到了拓扑改变TC消息,若有则交换机删除当前生成树地址。本发明增强了网络的稳定性;并且,由于本发明减少了删除动态地址的次数,节约了交换机系统资源(如CPU等),因而提高了系统的性能和网络的稳定性。
文档编号H04L12/04GK1750541SQ200510105850
公开日2006年3月22日 申请日期2005年9月23日 优先权日2005年9月23日
发明者周万 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1