一种具有故障保护功能的环网及用于环网的故障保护方法与流程

文档序号:12702287阅读:219来源:国知局
本发明涉及通讯技术领域,具体涉及一种具有故障保护功能的环网及用于环网的故障保护方法。

背景技术:
一般网络采用星型拓扑结构,每个设备和交换机使用一根网线连接,这样的拓扑结构不仅需要使用数量可观的网线,而且任何一根网线故障都导致网络功能异常。可自愈的环网可以在不利用更昂贵设备的情况下从光纤断路中恢复,而且可以共享光纤的带宽,同时减少同一链路上网线接口的数量。用环形结构可以提高网络的生存能力。采用环形拓扑结构的网络可以使用标准RSTP协议,标准RSTP协议具有冗余备份和链路切换功能,不过链路切换的时间在几秒到几十秒之间,自愈时间太长不能满足工业要求。授权公告号为CN103701677A的发明提出了一种环网保护方法、网络节点及环网络。其中方法包括:当环网发生故障时,网络节点接收检测到故障的节点所发送的环网保护倒换请求消息,所述环网保护倒换请求消息中携带所述环网保护倒换请求消息的源、宿节点信息;根据所述源、宿节点信息,确定故障位置,根据所确定的故障位置,选择保护隧道,将业务倒换到所选择的保护隧道;所选择的保护隧道是所述网络节点与源节点间链路的链路保护隧道,或者所述网络节点与源节点间短径上的中间节点的节点保护隧道。该发明在流数据量大,设备分布距离远,要求网线接口少以及快速自愈的要求高的视频监控系统中还受到一定的限制。

技术实现要素:
针对现有技术的不足,本发明提供了一种具有故障保护功能的环网及用于环网的故障保护方法。一种具有故障保护功能的环网,包括交换机和若干个节点,每个节点具有三个端口,分别为第一端口、第二端口和第三端口,其中第一端口与相应的CPU相连,相邻节点通过各自的第二端口和第三端口相互连接,其特征在于,环网中第一个节点通过第三端口与交换机相连,以第一个节点作为主节点;所述的环网包括两个工作状态,分别为正常状态和备用状态,正常状态下各个节点按照环网数据流向通过交换机进行数据传输,备用状态下各个节点按照任意方向通过交换机进行数据传输;所述的主节点用于检测环网是否存在故障点,并根据故障点的位置更新各个节点的端口状态和路由表使环网工作于备用状态。环网数据流向为环网的重要参数,通常为逆时针方向,正常状态下环网中各个节点按照环网数据流向通过交换机进行数据传输,当环网存在故障点时,按照环网数据流向部分节点无法达到交换机,因此不能通过交换机进行数据传输,此时通过改变节点的路由表重新选择路径,使节点能够继续通过交换机进行数据传输(不需要考虑数据传输方向,顺时针逆时针均可)。本发明的环网具有正常工作状态和备用状态,通过设置主节点和从节点,以主节点作为环网控制节点,通过主节点检测环网是否存在故障,在故障时根据故障点位置将环网切换至备用状态,从而使环网存在故障点时仍然能够进行数据传输,防止数据丢失,提高了环网的可靠性。本发明中所指的节点的端口状态是指各个节点内部各个端口之间的导通状态。环网发生故障时,通过查询数据传输过程中所有节点(包括主节点和从节点)以及交换机的在进行数据交换使保留的日志或接收到的从节点的检测结果,确定故障点的位置。本发明的环网中必须有且只有一个主节点,从节点数可以为零,具体数量根据需要确定。所述主节点具有三个状态,分别为CS状态、FS状态和BS状态,其中:CS状态下,第一端口与第二端口双向导通,第三端口到第一端口单向导通,第二端口与第三端口不导通;FS状态下,第一端口与第二端口双向导通,第三端口到第一端口双向导通,第二端口与第三端口双向导通;BS状态下,第一端口与第二端口双向导通,第三端口到第一端口双向导通,第二端口与第三端口不导通。所述从节点具有两个状态,分别为link-up状态和link-down状态,其中:link-up状态下,第一端口与第二端口双向导通,第三端口到第一端口双向导通,第二端口与第三端口双向导通;link-down状态下,第一端口与第二端口双向导通,第三端口到第一端口双向导通,第二端口与第三端口不导通。正常状态下主节点处于CS状态,从节点处于link-up状态;备用状态下主节点和从节点的状态取决于故障点的位置:若故障点位于主节点和交换机之间,则主节点处于BS状态,从节点处于link-up状态;否则,主节点处于FS状态,故障点对应的从节点处于link-down状态,其余从节点处于link-up状态。通过调控主节点和从节点的端口状态,在不同情况下形成不同的数据传输通路,进一步根据各个节点的路由表的更新,在存在故障点时也能够使节点具有数据传输通路,防止数据丢失,且在备用状态下根据故障点的位置有针对性的设置各个节点的端口连接状态,能够有效防止环网出现数据阻塞。所述的环网还设有中间状态,中间状态下主节点处于BS状态,从节点按照任意方向通过交换机进行数据传输,从节点处于link-up状态;当故障点不位于主节点与交换机之间时,故障点被修复后,主节点通过更新主节点和故障点对应的从节点的状态使环网从备用状态切换至中间状态,待主节点确定环网不存在故障后,再更新各个节点的状态和路由表,使环网从中间状态切换至正常状态。当故障点不在主节点和交换机之间时,在故障点被修复后,将环网的工作状态由备用状态切回至工作状态时,为保证环网的可靠性,可进一步确定故障点是否修复成功,确定修复成功后才切换至正常状态,由于备用状态下第二端口和第三端口双向导通,若此时故障点确实已修复成功,若在检测确定修复是否成功时继续采用备用状态,势必会造成数据在环网链路上形成广播风暴,因此先将环网从备用状态切换至中间状态,使第二端口和第三端口不导通,这样有效避免了在等待确定故障点是否修复成功时,形成广播风暴,当确定故障点修复成功后再切换至正常状态。本发明还提供了一种用于环网的故障保护方法,所述的环网包括交换机和若干个节点,每个节点具有三个端口,分别为第一端口、第二端口和第三端口,其中第一端口与相应的CPU相连,相邻节点通过各自的第二端口和第三端口相互连接,其特征在于,环网中第一个节点通过第三端口与交换机相连,以第一个节点作为主节点,其余节点作为从节点,包括:(1)检测环网是否存在故障点,若存在故障点则进一步确定故障点的位置;(2)根据故障点的位置更新各个节点的端口状态和路由表使环网工作于备用状态:若故障点位于主节点和交换机之间,则将主节点由CS状态切换至BS状态;否则,将主节点由CS状态切换至FS状态,将故障点对应的从节点从link-up状态切换至link-down状态,并更新各个节点的路由表,使各个节点按照任意方向通过交换机进行数据传输。该方法的默认初始状态下环网无故障点,工作于正常状态。在实际应用中可能同时出现多个故障点,当出现多个故障点时,当不存在位于主节点和交换机之间的故障点时(即所有故障点均位于节点之间),所有故障点同时处理,且处理过程与处理同一个故障点的过程相同,只不过处理过程中每一步针对所有故障点对应的从节点进行相同的操作。当存在位于主节点和交换机之间的故障点时,按照只有一个故障点且位于主节点和交换机之间的情况切换至备用状态即可。当环网工作于备用状态时,若故障点被修复,则将环网从备用状态切换至正常状态:若故障点位于主节点和交换机之间,将主节点由BS状态切换至CS状态;否则,进行如下操作:(2-1)将主节点由FS状态切换至BS状态,将故障点对应的从节点从link-down状态切换至link-up状态;(2-2)待检测到环网不存在故障点后,更新各个节点的路由表使所有从节点按照环网数据流向通过交换机进行数据传输。若步骤(2-2)中检测到环网仍然存在故障,则返回执行步骤(1)。对于多个的故障点的情况,设定位于主节点和交换机之间的故障点的优先级高,其余的故障点优先级相同。当同时存在位于主节点和交换机之间的故障点和不位于主节点和交换机之间的故障点时,先按照一个位于主节点和交换机之间的故障点的故障恢复过程进行处理,然后再逐个处理其他故障点,当所有故障点处理完毕后,环网切换至正常状态。所述步骤(1)中通过以下方法检测环网是否存在故障:主节点按照第一频率通过第二端口广播链路数据检测包,若第三端口连续n次未接收到的链路数据检测包,则认为环网发生故障,或者,从节点按照第二频率检测自身是否发生故障,一旦检测到自身发生故障,则反馈给主节点,主节点接收到从节点的反馈则认为环网发生故障。所述的第一频率为1s/次,第二频率为200ms/次。通常第一频率低于第二频率,利用从节点自身检测故障并反馈给主节点的目的是提高故障检测的速率,相对于通过提高主节点发送链路数据检测包来提高检测效率的做法能够降低环网的数据量,减小检测的网络消耗(时间和带宽)。通过采用两种故障检测方法,能够提高检测结果的准确性。且主节点在连续3~5次未接收到链路数据检测包才确定环网故障,进一步提高了检测结果的准确性,同样,也可以使从节点在连续3~5次检测到自身故障后才将故障反馈给主节点。为进一步降低网络消耗,当环网处于备用状态时,主节点不再发送链路数据检测包检测环网是否存在节点,从节点不再将检测到自身故障时,不再将检测结果发送给主节点,直至故障点被修复后将被修复的信息反馈给主节点,当主节点接收到从节点发送的故障点被修复的信息时,主节点才开始重新发送链路数据检测包。与现有技术相比,本发明的有益效果在于:可以在环网发生单个或者多个链路故障时自动处理是环网工作于备用状态,防止故障时数据丢失,并且在故障恢复时迅速将环网由备用状态切换至正常状态,且在环网由备用状态切换至正常状态时通过设置中间状态,防止出现广播风暴,最大限度地保证环网数据传输的可靠性。具体实施方式下面将结合具体实施例对本发明进行详细说明。一种具有故障保护功能的环网,包括交换机和若干个节点,每个节点具有三个端口,分别为第一端口、第二端口和第三端口,其中第一端口与相应的CPU相连,相邻节点通过各自的第二端口和第三端口相互连接,环网中第一个节点通过第三端口与交换机相连,以第一个节点作为主节点,其余节点作为从节点,该环网包括两两个工作状态,分别为正常状态和备用状态,正常状态下各个节点按照环网数据流向通过交换机进行数据传输,备用状态下各个节点按照任意方向通过交换机进行数据传输;主节点用于检测环网是否存在故障点,并根据故障点的位置更新各个节点的端口状态和路由表使环网的工作于备用状态。主节点具有三个状态,分别为CS状态、FS状态和BS状态,其中:CS状态下,第一端口与第二端口双向导通,第三端口到第一端口单向导通,第二端口与第三端口不导通;FS状态下,第一端口与第二端口双向导通,第三端口到第一端口双向导通,第二端口与第三端口双向导通;BS状态下,第一端口与第二端口双向导通,第三端口到第一端口双向导通,第二端口与第三端口不导通。从节点具有两个状态,分别为link-up状态和link-down状态,其中:link-up状态下,第一端口与第二端口双向导通,第三端口到第一端口双向导通,第二端口与第三端口双向导通;link-down状态下,第一端口与第二端口双向导通,第三端口到第一端口双向导通,第二端口与第三端口不导通。环网包括两三个工作状态,分别为正常状态、备用状态和中间状态:正常状态下各个节点按照环网数据流向通过交换机进行数据传输,备用状态下各个节点按照任意方向通过交换机进行数据传输;本实施例中环网还设有中间状态,中间状态下主节点处于BS状态,从节点按照任意方向通过交换机进行数据传输,从节点处于link-up状态;当故障点不位于主节点与交换机之间时,故障点被修复后,主节点通过更新主节点和故障点对应的从节点的状态使环网从备用状态切换至中间状态,待主节点确定环网不存在故障后,再更新各个节点的状态和路由表,使环网从中间状态切换至正常状态。假设初始状态初始情况下该环网无故障的,工作于正常状态,本实施例中的环网进行故障保护的过程如下:(1)检测环网是否存在故障点,若存在故障点则进一步确定故障点的位置。具体通过以下方法检测环网是否存在故障:主节点按照第一频率通过第二端口广播链路数据检测包,若第三端口连续3~5次(本实施例中为3次)未接收到链路数据检测包,则认为环网发生故障,或者,从节点按照第二频率检测自身是否发生故障,一旦检测到自身发生故障,则向主节点发送Link-Down报文(含有从节点的设备节点号),将自身发生故障反馈给主节点,主节点接收到从节点的Link-Down报文,则认为环网发生故障。本实施例中第一频率为1s/次,第二频率为200ms/次。本实施例中故障点的位置分为2种,一种位于主节点和交换机之间,另一种不位于主节点和交换机之间。如果是主节点收到从节点的Link-Down报文,由于所有的Link-Down报文都含有从节点的设备节点号,因此可以根据Link-Down报文中包含的设备节点号确定发送Link-Down报文的设备,从而快速确定故障位置,且此时检测到的故障点的不位于主节点和交换机之间。如果故障是由主节点连续3次无法收到自身的链路数据检测包而确定的,此时还应需要通过查询各个节点的日志文件确定故障点的位置。主节点在检测到链路故障发生后会往日志文件写入相应的警告信息。具体为:主节点从CS状态切换至BS状态后往日志里写入这个状态变化信息。从设备发送Link-Down报文后也往日志文件中写入Link-Down报文的具体信息,因此根据节点日志内容可以判断故障位置。(2)根据故障点的位置更新各个节点的端口状态和路由表使环网工作于备用状态:若故障点位于主节点和交换机之间,则将主节点由CS状态切换至BS状态;否则,将主节点由CS状态切换至FS状态,将故障点对应的从节点从link-up状态切换至link-down状态,并更新各个节点的路由表,使各个节点按照任意方向通过交换机进行数据传输,进而使环网工作于备用状态。更新路由表的通过以下方法实现:主节点认为环网存在故障点后,修改自身的路由表并广播NodeRouter报文(NR报文),收到报文的从节点根据NR报文的携带的信息更新的路由表,从节点跟通过更新后的路由表的路径能够通过交换机进行数据传输。当环网工作于备用状态时,若故障点被修复,则将环网从备用状态切换至正常状态:若故障点位于主节点和交换机之间,将主节点由BS状态切换至CS状态;否则,进行如下操作:(2-1)将主节点由FS状态切换至BS状态,将故障点对应的从节点从link-down状态切换至link-up状态,具体如下:从节点通过自动检测自身状态,检测自身状态无故障,则往主节点发送Link-Up报文,上报故障点被修复,主节点收到从节点的Link-Up报文后,向对该从节点发送Link-Up-REPLY报文,且将自身状态由FS状态切换至BS状态,并通过第二端口重新发送链路数据检测包,开始检测环网是否存在故障点,当从节点接收到Link-Up-REPLY报文后由link-down状态切换至link-up状态,进而将环网由备用状态切换至中间状态。(2-2)待检测到环网不存在故障点后,更新各个节点的路由表使所有从节点按照环网数据流向通过交换机进行数据传输,具体如下:当主节点的第三端口连续3次收到链路数据检测包,则确定故障点已经被修复,则主节点更改自身的路由表,并再次广播NR报文,接收到改NR报文的所有从节点根据该NR报文更新路由表,按照环网数据流向通过交换机进行数据传输,从而将环网从备用状态切换至正常状态。以上公开的仅为本发明的具体实施例,但是本发明的保护范围并不局限于此,任何熟悉本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,都应涵盖在本实用发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1