一种基于rstp改进型单环路冗余备份的实现的制作方法

文档序号:7857679阅读:349来源:国知局
专利名称:一种基于rstp改进型单环路冗余备份的实现的制作方法
一种基于RSTP改进型单环路冗余备份的实现所属领域本发明涉及一种基于RSTP改进型单环路冗余备份的实现。在工业通信领域,环路冗余备份一直是一个十分重要的课题。常用的链路冗余备份的方式有端口汇聚(TRUNK)、环路备份等等,一种基于RSTP改进型单环路冗余备份的实现基于环路备份的思想,在标准RSTP协议的基础上,对根桥选举的过程以及状态机转化机制进行彻底的改写,使RSTP仅仅实现单环路的链路冗余备份功能,同时使RSTP的自愈时间大大缩短。经过测试,一种基于RSTP改进型单环路冗余备份的实现能够达到4台交换机组成单环路网络,理论自愈时间控制在15ms左右的效果,大大提高网络的可靠性。
背景技术
目前最通用的环路备份协议是RSTP (Rapid Spanning Tree Protocol,快速生成树协议),RSTP从STP (Spanning Tree Protocol,生成树协议)的基础上发展而来。RSTP能够在网络拓扑发生变化的情况下,以更快的速率进行网络收敛,通过相关的算法,将很复杂的环路网络“修剪”成树形网络结构,已达到链路冗余备份的目的。正是由于RSTP能够支持很复杂的网络拓扑结构,因此RSTP主要存在以下两点缺陷。第一点缺陷由于整个交换网络最终会成为一棵生成树,在网络规模比较大的时候会导致较长的收敛时间,拓扑改变的影响面也较大。第二点缺陷在网络结构对称的情况下,单生成树不会产生网络短暂不能通信的情况。但是,在网络结构不对称的时候,单生成树就会影响网络的连通性,网络设备之间会出现数秒甚至数十秒的无法通信的情况。这种情况在大型的网络结构(例如城域网)中,会造成极大的带宽浪费。一种基于RSTP改进型单环路冗余备份的实现正是针对RSTP的以上两点缺陷,对RSTP的算法进行彻底的改写,使RSTP仅仅实现单环路的链路冗余备份功能,大大缩短网络收敛时间,提供更实用、更可靠的链路冗余备份的功能。

发明内容
本发明是为了提供一种基于RSTP协议的改进型单环路实现,仅仅支持单环路,可以使环路网络的收敛时间大大缩短,从而提高网络的可靠性。经过改进的RSTP算法,不再支持多种复杂的网络连接方式,仅仅支持单个环路的网络拓扑结构。不再支持复杂网络连接方式,意味着不需要很复杂的网络交换和状态切换算法,可以缩短整个环路拓扑结构的收敛时间。本发明仍然采用RSTP的BPDU结构,但是此算法不能够与标准的RSTP协议相兼容,因为本发明中对RSTP的算法做了彻底的改进。在本发明中,网络设备会间隔IOms的时间,去检查本身端口的连接状态是否发生了改变,这对加快网络收敛时间有着至关重要的作用。在本发明中,需要明确两个概念设备角色和端口状态。设备角色有两种角色,第一种是普通网络设备,第二种是根网络设备。端口状态分为三种状态,禁用状态(DISABLED)、阻塞状态(BLOCK)、转发状态(FORWARD)。普通网络设备相对于根网络设备而言,普通网络设备只用转发BPDU报文,最终所有的组环端口都会被置为转发状态。根网络设备只会存在于最后一个link up的网线的两端网络设备中的某一台之中,当单环网络稳定之后,阻塞端口只会存在于根网络设备上。禁用状态、阻塞状态、转发状态都是相对于组环端口而言。禁用状态指端口无法收发任何数据报文;阻塞状态指端口只可以收发BPDU数据报文,其它类型的数据报文都会被丢弃;转发状态指端口可以转发任何类型的数据报文。为了防止网络风暴,在网络设备初始化的时候,所有的成环端口会被置为禁用状态(DISABLED)。

在单环路形成的情况下,相对于RSTP中根桥选举的算法,本发明不再进行全网设备的选举,而将根桥局限于所有成环端口都是link up状态的网络设备之中。当某台网络设备的成环端口都处于link up状态的情况下,就会发送link up报文,同时将link up的端口置为转发状态。当link up的BPDU报文被其它网络设备收到之后,将会进行一次MAC地址的比较,若收到的BPDU报文中的MAC地址较小,将此BPDU包从其它端口转发出去,同时将该网络设备中被阻塞的端口置为转发状态;否则,仅仅将此BPDU包从其它端口转发出去,而不做端口状态的切换。以此类推,在所有端口都处于link up状态的网络设备中,MAC地址小的网络设备中最后link up的端口将会被阻塞,其它网络设备的link up端口都会被置为转发状态。在这个过程当中,一种基于RSTP改进型单环路链路冗余备份的实现主要完成了两项重要工作第一,从所有环网口都处于link up状态的网络设备中,选择出了MAC地址相对最小的网络设备作为根网络设备;第二,将根网络设备中最后一个处于linkup状态的组环端口置为阻塞状态,网络中其余网络设备的成环端口置为转发状态。在单环路形成后,某一条链路断开,此时,需要将之前被阻塞的组环端口置为转发状态,这样就可以达到链路冗余备份的目的。当网络中的某一台网络设备的某一个组环端口断开时,该网络设备检测到本设备的组环端口处于link down状态之后,首先会检查自己在网络中的角色,即是否是根网络设备,如果自身是根网络设备,会立即将本网络设备中被阻塞掉的端口置为转发状态,同时将自身根网络设备的角色恢复成普通网络设备;如果自身不是根网络设备,就会向自身所有组环端口发送link down的BPDU报文,通知其它网络设备环网链路已经被破坏,需要根网络设备将阻塞端口恢复成转发状态,以保证整个网络的连通性。当普通网络设备(非根网络设备)收到此link down的BPDU报文之后,会继续转发该BPDU报文;当根网络设备收到此link down的BPDU报文之后,就会将自身角色从根网络设备转变成普通网络设备,同时将阻塞端口置为转发状态。在这个过程中,一种基于RSTP改进型单环路链路冗余备份的实现主要完成的工作是将根网络设备恢复成普通网络设备,同时将阻塞端口置为转发端口,快速恢复整个链路的连通性。


附图中图I是单环路网络设备组环端口状态图。附图中图2是单环路网络结构自愈流程图。附图中图3是单环路网络结构自愈结果图。
具体实施本发明的具体实施方案如下(I)创建基于标准RSTP的结构体,此结构体定义了 BPDU数据包的结构内容,同时在此结构体中增加标识指示数据包入端口的字段,方便对具体的组环端口的状态进行切换。(2)创建一个基于标准以太网的socket,使用这个socket侦听RSTP的BPDU数据包,并发送RSTP的BPDU数据包。在调用socket函数创建socket时使用的三个参数AF_INET, S0CK_PACKET,0x7081。(3)每隔IOms去扫描一下组环端口的端口状态,如果发现组环端口 link up,发送link up包通知其它交换机;如果发现组环端口 link down发送link down包通知其它交 换机。(4)在选定根网络设备时,将根网络设备的上最后的一个link up端口置为阻塞状态,其余端口(包括普通交换机)置为转发状态。(5)当单环路环网进程启动时,需要将CPU 口和RSTP MAC添加至MAC地址表,当单环路环网进程被杀死时,需要将RSTP MAC从MAC地址表中删除。
权利要求
1.一种基于RSTP改进型单环路冗余备份的实现,该实现的特殊之处在于基于标准RSTP协议,但是与标准RSTP无法兼容,该实现仅仅支持单环路。
2.一种基于RSTP改进型单环路冗余备份的实现,在选举根桥的过程中,使根网络设备的选举仅仅局限于两台交换机之间。
3.一种基于RSTP改进型单环路冗余备份的实现,在该链路冗余备份算法中,每隔IOms扫描一次端口连接,端口连接发生变化时,才发送BPDU报文,决定是阻塞根网络设备端口或者恢复根网络设备端口为转发状态。
全文摘要
本发明提出一种基于RSTP改进型单环路冗余备份的实现,本发明采用了基于环路备份的思想,对RSTP的根网络设备的选举和自愈算法进行了彻底的改写。将根网络设备的选举局限于最后一根成环网线link up后的两端交换机之间,在环路形成后组环端口只是在阻塞状态和转发状态之间进行切换,端口在发生连接变化才会发送RSTP BPDU报文,网络稳定后并不再发送RSTP BPDU报文。这样就可以大大缩短环网的自愈时间,提高网络的可靠性。
文档编号H04L12/24GK102761451SQ20121028226
公开日2012年10月31日 申请日期2012年8月9日 优先权日2012年8月9日
发明者周厚明, 杨志 申请人:武汉迈威实达软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1