公开/公告号CN101030901A
专利类型发明专利
公开/公告日2007-09-05
原文格式PDF
申请/专利权人 中控科技集团有限公司;浙江大学;
申请/专利号CN200710097678.6
申请日2007-04-27
分类号H04L12/26(20060101);H04L12/42(20060101);H04L12/437(20060101);H04L29/06(20060101);H04L12/28(20060101);H04L12/24(20060101);
代理机构11227 北京集佳知识产权代理有限公司;
代理人逯长明
地址 310053 浙江省杭州市滨江区六和路309号中控科技园(高新区)
入库时间 2023-12-17 19:03:16
法律状态公告日
法律状态信息
法律状态
2019-04-12
未缴年费专利权终止 IPC(主分类):H04L12/26 授权公告日:20090826 终止日期:20180427 申请日:20070427
专利权的终止
2009-08-26
授权
授权
2007-10-31
实质审查的生效
实质审查的生效
2007-09-05
公开
公开
技术领域
本发明涉及以太网通信技术领域,尤其涉及一种分布式以太网系统及基于该系统的故障检测方法。
背景技术
随着以太网技术的发展,以太网越来越多地应用在工业场合,工业生产的稳定运行和效益提高对于工业以太网的可靠性提出了越来越高的要求,因此,工业以太网的高可用性也越来越受到重视。
目前普遍采用的是主从式的环网冗余系统,如图1所示,环网冗余系统中由主交换机10(主设备)控制整个网络系统的工作情况,保证网络在单一故障(单一故障指的是:整个环网系统的所有交换机及连接交换机的所有网线中有且仅有一个组成部分出现故障)的情况下网络的可用性。主从式的以太网系统中,由各从交换机20负责监测自身的工作状态,并在监测到自身故障的情况下,向主交换机发送故障报警;主交换机定时向网络发送测试报文,监测网络工作状态,并处理从交换机的故障报警,根据从交换机的故障报警,确定从交换机的故障恢复动作。
由于在上述主/从式的环网冗余系统中,网络的工作状态以及故障的恢复是由主交换机统一负责的,使得网络风险高度集中在主交换机上,如果主/交换机出现故障,那么网络将处于瘫痪,可靠性低。
发明内容
有鉴于此,本发明的目的在于提供一种分布式以太网系统,以解决现有技术的网络风险集中在一个交换机上,可靠性低的问题。
本发明提供的一种分布式以太网系统是这样实现的:
一种分布式以太网系统,包括多个交换机,所述交换机依次相连,形成环形结构,各交换机进行时钟同步之后,按照预先确定的软件组态周期性轮流进行环路检测和协议机检测,并当出现环路故障或协议机故障时,发送故障报警报文。
优选的,所述交换机包括:时钟同步单元、环路检测单元、自检单元、协议机检测单元、故障报警单元和状态设置单元,其中,
所述时钟同步单元用于调整本交换机与系统时钟同步;
所述环路检测单元用于对系统的环路进行检测;
所述自检单元用于当环路检测单元检测出系统环路出现故障后,检查与本交换机连接的链路的工作状态,并进行记录;
所述协议机检测单元用于对与其相邻的交换机进行协议机检测;
故障报警单元用于以组播形式发送包含指示故障类型以及故障发生的位置的信息的报警报文;
所述状态设置单元用于按照预先确定的软件组态的指示,结合其它交换机的环端口的状态,设置本交换机的环端口的协议状态。
优选的,所述环路检测单元包括:
第一发送单元,用于以组播形式周期性从本交换机的两个环端口发送环路故障探测报文,所述环路故障探测报文包括本交换机的MAC(介质访问控制)地址和用于指示环端口协议状态的信息;
第一判断单元,用于判断在所述第一发送单元发送环路故障探测报文后,在环路检测周期结束时,本交换机的两环端口是否接收到对端发送的环路故障探测报文,若是,判断系统正常;否则,判断系统出现环路故障。
优选的,所述环路检测单元还包括:
第二判断单元,用于接收其他交换机发送环路故障探测报文,在间隔等于报文传递周期的时间内是否接收到同一环路故障探测报文,若是,则判断环路正常,否则判断环路出现故障。
优选的,所述协议机检测单元包括:
第二发送单元,用于以单播形式周期性从本交换机的两个环端口发送链路探测报文至相邻交换机,所述环路故障探测报文包括本交换机的MAC(介质访问控制)地址、相邻交换机的MAC地址和用于指示环端口协议状态的信息;
第三判断单元,用于判断在所述第二发送单元发送链路探测报文后,在协议机检测周期结束时,本交换机的两环端口是否接收到相邻交换机发送的链路探测报文,若是,判断相邻交换机的协议机正常;否则,判断相邻交换机出现协议机故障。
优选的,所述状态设置单元包括:
第一状态设置单元,用于在时钟同步单元完成时钟同步操作之前,设置本交换机的两个环端口协议状态为“初始化”状态,在所述时钟同步单元完成时钟同步操作之后,设置本交换机的两个环端口协议状态为“拥塞”;
第二状态设置单元,用于当本交换机接收到包含用于指示环端口处于“拥塞”状态的信息的报文时,设置本交换机的两个环端口的状态为“转发”状态;并且当本交换机获知环网中其它交换机的所有环端口均处于“转发”状态时,设置本交换机的环端口中的一个的状态为“拥塞”,另外一个状态为“转发”。
第三状态设置单元,用于在所述自检单元检测出链路故障,将本交换机与所述链路连接的环端口的状态设置为“拥塞”;当本交换机的环路检测单元判断出系统环网恢复正常,则维持环端口的“拥塞”状态;
第四状态设置单元,用于在协议机检测单元判断出相邻交换机出现协议机故障时,将与相邻交换机相连的环端口的协议状态设置为“拥塞”,并在协议机检测单元判断出发生协议机故障的交换机恢复正常时,将本交换机的环端口的状态设置为“转发”;
第五状态设置单元,用于在接收到环路中的报警报文后,将本交换机的环端口的协议状态设置为“转发”。
本发明同时还提供了一种分布式以太网系统故障检测方法,包括:
对系统中的所有交换机进行时钟同步;
按照预先确定的软件组态的指示,对系统进行周期性的环路检测和协议机检测;
当出现环路故障或协议机故障时,发送故障报警报文。
优选的,按照以下步骤进行环路检测:
各交换机相隔预设时间以组播形式通过交换机的两个环端口向系统发送环路故障探测报文;
当本交换机的两个环端口在一次报文传递周期结束时没有都接收到从对端环端口发出的环路故障探测报文时,检测与本交换机相连的链路;
如果与本交换机相连的链路出现故障或者处于未连接状态,将本交换机与该链路相连的环端口的状态设置为“拥塞”;否则,进一步判断其他交换机的环端口的协议状态;
如果其他交换机的环端口的协议状态均为“转发”,将本交换机的两个环端口中的一个设置为“转发”状态,将另一个设置为“拥塞”状态;否则,将本交换机的两个环端口的协议状态均设置为“转发”。
优选的,按照以下步骤进行协议机测试:
在一个协议机检测周期开始时,所有交换机同时发送链路探测报文至相邻交换机;
在与本交换机连接的链路处于正常工作状态时,判断交换机的环端口在所述协议机检测周期结束时是否接收到从相邻交换机发出的协议机检测报文,若是,判断所述相邻交换机正常;否则,判断所述相邻交换机出现协议机故障。
优选的,按照以下步骤发送故障报警报文:
在完成协议机检测后,系统中所有交换机以组播形式发送故障报警报文,所述故障报警报文包括用于指示发生环路故障和/或协议机故障的信息和用于指示故障发生位置的信息。
从上述技术方案可知,与现有技术相比,本发明中,所有的交换机可通过环路检测单元和协议机检测单元对系统环路和各交换机进行检测,也就是说,各交换机的功能是对等的,没有主/从交换机之分,从而体现了以太网通信的公平性原则,避免了由于主交换机故障对网络造成的不可控制的影响而导致的风险高度集中的问题。
附图说明
图1为现有技术的系统结构示意图;
图2为本发明分布式以太网系统的实施例一结构示意图;
图3为本发明分布式以太网系统的实施例二的交换机的结构示意图;
图4为本发明分布式以太网系统的实施例三结构示意图;
图5为本发明分布式以太网系统的实施例四的环路检测单元的结构示意图;
图6为本发明分布式以太网系统的实施例五的环路检测单元的结构示意图;
图7为本发明分布式以太网系统的实施例五的协议机检测单元的结构示意图;
图8为本发明分布式以太网系统的交换机实施例五的状态设置单元的结构示意图;
图9为本发明基于分布式以太网系统的故障检测方法的实现流程图;
图10为本发明基于分布式以太网系统的故障检测方法的实现流程中环路检测的流程图;
图11为本发明基于分布式以太网系统的故障检测方法的实现流程中协议机检测的流程图。
具体实施方式
现有环网冗余系统,由于其主从式的结构,网络工作状态以及网络中故障的恢复都需要主设备进行控制,使得网络风险高度集中在主设备上,一旦主设备出现故障,将导致网络瘫痪。
本发明的基本思想是:系统网络中的各交换机均可对系统的环路或交换机进行故障检测,各交换机的角色对等,以避免现有技术将所有故障检测工作都集中在主设备上而导致的系统可靠性低的情况。
为了本领域技术人员对本发明的技术方案有更好的理解,下面结合附图和实施例对本发明的技术方案进行详细描述。
请参考图2,示出了本发明分布式以太网系统的实施例一结构示意图。
本系统包括多个以太网交换机,各以太网交换机首尾相连,形成环形网络拓扑结构。各以太网交换机包括两个端口,在此称之为“环端口”,所述环端口具有三种协议状态:“初始化”、“转发”和“拥塞”。
处于“拥塞”状态和“初始化”状态的端口仅仅转发环路故障探测报文和链路探测报文(所述环路故障探测报文主要用于探测网络链路是否出现故障,而所述链路探测报文用于探测相邻交换机是否正常,本交换机与相邻交换机之间的链路工作是否正常),其他所有数据报文均被丢弃;而对于处于“转发”状态的端口将所有数据报文进行转发。
所有工业以太网交换机接入本环形网络之前,需要通过软件组态,包括:所有交换机发送环路故障探测报文的和链路探测报文的测试周期时间长度(所述测试周期等于系统环路检测周期、协议机检测周期和报警报文发送时间之和)、所有交换机发送环路故障探测报文和链路探测报文的起始时刻相对于测试周期的偏移量。
所述系统环路检测周期T=Switch_Number*(T1+interval);其中,Switch_Number为系统中交换机的数量,T1为报文在系统环路中传递一周所需要的时间(为了表述清楚,下文均将其称之为“环路报文传递周期”),interval为相邻交换机发送报文的时间间隔;T1=Switch_Number*Maxhandltime;其中,Maxhandltime为交换机处理报文的最大处理时间。
请参考图3,示出了本系统实施例二的交换机的结构示意图,本系统中每个以太网交换机均包括:时钟同步单元111、环路检测单元112、、自检单元113、协议机检测单元114、状态设置单元115和故障报警单元116。
所述时钟同步单元111在本交换机接入系统时,调整本交换机与系统时钟同步。在系统中所有的交换机中,只有一个处于主时钟状态,该主时钟作为整个系统中所有交换机的时钟源,其他交换机作为该时钟源的从时钟,与该主时钟同步,所述时钟同步单元111按照IEEE1588协议完成本交换机与系统时钟源的同步,具体的方法与现有技术相同,在此不再赘述。
所述环路检测单元112在交换机完成时钟同步后,定时以组播形式通过本交换机的两个环端口同时发送环路故障探测报文,对系统的环路进行检测。当本交换机的两个环端口在环路检测周期内均接收到对端口(本交换机处于同个环网的另一个环端口)发送的环路故障探测报文,则可判断系统环路正常,否则,判断系统出现环路故障。所述环路故障探测报文包含的信息包括:端口的冗余域、交换机的标识,两个环端口的协议状态和链接状态。
每个交换机在发送环路探测报文的同时,也接收来自系统中其他交换机发送的环路探测报文,所述环路检测单元112还用于依据其他交换机发送的环路探测报文,判断是否出现环路故障。
自检单元113用于当环路检测单元112检测出系统环路出现故障后,检查与本交换机连接的链路的工作状态,并进行记录。具体检测过程依据IEEE 802.3标准定义进行,属于现有技术,在此不再赘述。
系统中所有交换机在系统环路测试周期结束时,由各自的协议机检测单元114从本身的两个环端口同时发送链路故障探测报文,并在协议机检测周期结束时,判断环端口是否接收到来自相邻交换机的链路故障探测报文,若收到,则判断与所述环端口通过链路相连的相邻交换机工作正常,否则,则判断与所述环端口通过链路相连的相邻交换机出现协议机故障。所述本交换机的MAC(Media Access Control,介质访问控制)地址、相邻交换机的MAC地址、环端口协议状态等信息。
需要说明的是,为了保证系统中的报文的传输不影响正常数据的传输,所有的交换机并不是连续地对系统进行检测,而是在两个交换机发送环路故障探测报文中存在一个固定的时间间隔,称为协议数据时间间隔。该时间间隔根据环路故障探测报文占用的网络时间和本方法对于带宽的利用率计算得到。
所述状态设置单元115用于按照上述软件组态以及环路检测单元112和协议机检测单元114的检测结果,设置对本交换机的环端口的协议状态。在时钟同步单元111将本交换机与系统时钟源同步之前,所述状态设置单元114将本交换机的环端口的协议状态设置为“初始化”,并在时钟同步单元111完成本交换机与系统时钟源的时钟同步后,将本交换机的环端口的协议状态设置为“拥塞”。在系统环路检测周期开始时,第一个交换机发送环路故障探测报文,系统中的其他交换机在接收到第一个交换机发送环路故障探测报文之后,由自身的状态设置单元115将本交换机的两个环端口的协议状态设置为“转发”,在系统环路检测周期结束时,在检测出系统环路正常的情况下,所述第一个交换机接收到系统中所有交换机发送的环路故障探测报文,如果获知所有交换机的环端口均处于“转发”状态,则由自身的状态设置单元115将两个环端口中的一个环端口的协议状态设置为“拥塞”,将另一个环端口的协议状态设置为“转发”。由此,可以避免出现网络回环。
如果环路检测单元114检测出系统出现环路故障后,由本交换机的自检单元113检查与本交换机相连的链路的工作状态,判断是否出现中断故障或者处于未连接状态,若是,则由状态设置单元115将与该链路相连的环端口的协议状态设置为“拥塞”。
如果协议机检测单元114检测出相邻交换机出现协议机故障,则由本交换机的状态设置单元115将于交换机相连的环端口的协议状态设置为“拥塞”,并在故障恢复后,将该环端口的协议状态设置为“转发”。而从故障状态恢复过来的交换机由自身的状态设置单元115将自身两个环端口中的一个设置为“拥塞”状态,并将另一个设置为“转发”状态。由此可以使得系统环网中有且只有一个环端口处于“拥塞”状态,避免出现网络回环。
所述故障报警单元116用于在协议机检测周期结束时,以组播形式发送报警报文。该报警报文包括指示故障类型(链路故障或协议机故障)以及故障发生的位置的信息。
需要说明的是,由于环路故障探测报文是从交换机两个环端口发送的,所以本系统中的各交换机在一个环端口接收到其他交换机发送的环路故障探测报文后,由环路检测单元112判断是否在报文传递周期结束时从另一个环端口接收到与上述环路故障探测报文相同的环路故障探测报文,若收到,则可判断出系统环路正常,否则,判断出系统环路出现故障。
为了使得本领域技术人员更好理解本系统的工作原理和工作过程,下面通过另一个实施例对本系统进行进一步的详细描述。
请参考图4,为本系统的实施例三的结构示意图。
假设系统中包括交换机101、交换机102、交换机103和交换机104等4个交换机,在完成时钟同步之前,各交换机由自身的状态设置单元114将自身两个环端口的协议状态设置为“初始化”,并在完成时钟同步后,将这两个环端口的协议状态设置为“拥塞”状态。然后,系统中所有交换机从本交换机的环端口轮流向网络上发送环路故障探测报文,该环路故障探测报文包含本交换机的MAC(Media Access Control,介质访问控制)地址、环端口协议状态等信息,例如交换机101的环路检测单元从环端口A或B向系统环网发送环路故障探测报文,其他交换机从一个端口接收所述环路故障探测报文,由状态设置单元115将本交换机的环端口的状态均设为“转发”状态,并根据QoS(Quality of Service,网络服务质量),以最高优先级将该报文从本交换机的另一个环端口转发出去,环路检测单元112判断在一个环路故障测试周期内,交换机101的环端口B收到从交换机101的环端口A发送出来的环路故障探测报文,并且交换机101的环端口A收到从环端口B发送出来的环路故障探测报文,则判断系统环网链路工作正常;否则,判断系统环网链路出现故障。假设交换机101与交换机102之间的链路中断,则与该链路连接的交换机102以及交换机101可以由自检单元113检测出该故障,并进行记录。
上述故障属于本系统中的“链路故障”,所述“链路故障”是指连接两个工业以太网交换机之间的通信链路出现故障,当出现这种故障的时候,发送环路故障探测报文的交换机(如上述实施例中的交换机101)在一个报文传递周期内没有接收到从两个环端口发送出去的环路故障探测报文。
本系统中的故障还包括其他另一种故障,即“协议机故障”。
所述“协议机故障”是指:交换机中的协议机出现故障,无法处理和发送各种探测报文和链路报警故障报文。虽然该故障不影响普通数据处理,但是,出现该故障的交换机的协议机将无法工作,所以这时,有可能会出现整个系统环路中所有环端口中没有一个环端口的状态为“拥塞”状态,也就是说,有可能会出现网络回环的情况。
上述系统可以根据环路故障探测报文确定系统环网是否出现“链路故障”,但是无法确定是否出现“协议机故障”以及出现该故障的交换机。为了确定系统环网是否发生“协议机故障”以及发生该故障的交换机,所以本系统中的交换机的协议机检测单元114在系统中所有交换机的环路检测单元112完成环路故障检测后,延迟预设时间向系统环网发送链路探测报文。所述链路探测报文包含的信息有:冗余域、环端口协议状态、本交换机的MAC地址、相邻两个交换机的MAC地址。所述预设时间等于系统的两个交换机的环路检测单元发送环路故障探测报文的时间间隔interval。
所述链路探测报文由协议机检测单元114以单播形式发送,也就是说,只发送给相邻两个交换机,而不向其他交换机发送。并且,所述报文在从源地址到目的地址之间传递,不需要其他交换机的转发,因此,不存在网络信道共享的问题,所以,所有交换机可以同时发送该链路故障探测报文。
在自检单元113检查出与本交换机相连的链路都是正常的情况下,协议机检测单元114判断在协议机测试周期结束时,本交换机的环端口是否接收到来自相邻交换机的链路故障检测报文,若是,则判断该相邻交换机工作正常;否则,判断该相邻交换机出现协议机故障。例如图3中的交换机101分别通过环端口A和环端口B向交换机102和交换机104发送链路探测报文,如果在发送链路探测报文之后的预设时间没有接收到来自交换机104的链路探测报文,所述交换机101中的协议机检测单元114确定所述交换机104出现“协议机故障”,并由本交换机的状态设置单元115将环端口B的协议状态设置为“拥塞”状态。
在协议机检测周期结束时,交换机101中的故障报警单元116以组播形式发送报警报文,该报警报文包含指示交换机104发生协议机故障的信息。交换机102、交换机103接收到该报警报文后,由自身的状态设置单元115将自身的环端口状态设置为“转发”,以保证网络顺利运行。
请参考图5,为本系统交换机实施例四的环路检测单元的结构示意图。
本系统中交换机的环路检测单元112可以由第一发送单元1121和第一判断单元1122组成。所述第一发送单元1121以组播形式周期性从本交换机的两个环端口发送环路故彰探测报文,所述环路故障探测报文包括本交换机的MAC(介质访问控制)地址和用于指示环端口协议状态的信息;所述第一判断单元1122判断在所述第一发送单元发送环路故障探测报文后,在报文传递周期结束时,本交换机的两环端口是否接收到对端发送的环路故障探测报文,若是,判断系统正常;否则,判断系统出现环路故障。
本系统交换机环路检测单元112还可以包括第二判断单元1123,如图6所示,所述第二判断单元1123用于接收其他交换机发送环路故障探测报文,在间隔预设时间内是否接收到同一环路故障探测报文,若是,则判断环路正常,否则判断环路出现故障。所述预设时间等于报文传递周期。
图7示出了本系统实施例五的交换机协议机检测单元的结构示意图。本系统中的交换机中的协议机检测单元114可以由第二发送单元1141和第三判断单元1142组成。所述第二发送单元1141以单播形式定时从本交换机的两个环端口发送链路探测报文至相邻交换机,所述环路故障探测报文包括本交换机的MAC(介质访问控制)地址、相邻交换机的MAC地址和用于指示环端口协议状态的信息;在自检单元113检查出与本交换机相连的链路状态正常的情况下,所述第三判断单元1142判断在协议机检测周期结束时,本交换机的两环端口是否接收到相邻交换机发送的链路探测报文,若是,判断相邻交换机的协议机正常;否则,判断相邻交换机出现协议机故障。
本装置中的状态设置单元115可以包括第一状态设置单元1151、第二状态设置单元1152、第三状态设置单元1153、第四状态设置单元1154和第五状态设置单元1145。如图8所示。
所述第一状态设置单元1151在时钟同步单元111完成时钟同步操作之前,设置本交换机的环端口协议状态为“初始化”状态,在所述时钟同步单元111完成时钟同步操作之后,设置本交换机的环端口协议状态为“拥塞”。
在系统环路检测周期结束时,如果本交换机接收到包含用于指示环端口处于“拥塞”状态的信息的报文,由所述第二状态设置单元1152将本交换机的两个环端口的状态设置为“转发”状态;并且,本交换机接收系统中其他交换机发送的环路故障探测报文后,根据所述环路故障探测报文可获知其他交换机的环端口的协议状态,当其他交换机的环端口的协议状态均为“转发”时,设置本交换机的环端口中的一个的协议状态为“拥塞”,将另外一个的协议状态设置为“转发”。
第三状态设置单元1143在所述自检单元113检测出链路故障,将本交换机与所述链路连接的环端口的状态设置为“拥塞”。当本交换机的环路检测单元112判断出系统环网恢复正常,则维持环端口的“拥塞”状态,以防止出现网络回环的情况。
第四状态设置单元1144在协议机检测单元113判断出相邻交换机出现协议机故障时,将与相邻交换机相连的环端口的协议状态设置为“拥塞”,并在协议机检测单元113判断出发生协议机故障的交换机恢复正常时,将本交换机的环端口的状态设置为“转发”。
第五状态设置单元1145在接收到环路中的报警报文后,将本交换机的环端口的协议状态设置为“转发”。
而从故障状态恢复过来的交换机由自身的状态设置单元115将自身两个环端口中的一个设置为“拥塞”状态,并将另一个设置为“转发”状态。由此可以使得系统环网中有且只有一个环端口处于“拥塞”状态,避免出现网络回环。
本系统网络中,所有的交换机的角色是对等的,没有主从交换机之分,从而体现了以太网通信的公平性原则,避免了由于主设备故障对网络造成的不可控制的影响而导致的风险高度集中的问题。并且,本发明实施例利用时钟同步单元将交换机与系统时钟进行同步,提高网络系统中所有交换机的时钟同步精度,避免了普通交换机的“存储-转发”机制对于系统的实时性的负面影响。
基于上述系统,本发明同时公开一种故障检测方法。请参考图9,为本发明一种基于分布式以太网系统的故障检测方法的实现流程图。
具体包括以下步骤:
步骤S101:对系统中的所有交换机进行时钟同步。
步骤S102:按照预先确定的软件组态的指示,对系统进行周期性的环路检测和协议机检测;
步骤S103:当出现环路故障或协议机故障时,发送故障报警报文。
在上述步骤的执行过程中,涉及到对系统中的各个交换机的环端口的状态进行设置。
下面通过具体实例对本发明的技术方案进行进一步的描述。请参考图10和图11,为本发明故障检测方法的实施例一中的环路检测流程图和协议机检测流程图。
在所有工业以太网交换机接入本环形网络之前,或者网络结构改变之后,需要通过软件组态,包括:所有交换机发送环路故障探测报文的和链路探测报文的测试周期时间长度(所述测试周期等于环路检测周期、协议机检测周期和报警报文发送时间之和)、所有交换机发送环路故障探测报文和链路探测报文的起始时刻相对于测试周期的偏移量。
确定软件组态之后,按照所述软件组态的指示,先后对系统进行环路检测和协议机测试。
在进行环路检测的时候,具体过程如下:
步骤S201:进行时钟同步。
步骤S202:定时发送环路故障探测报文,并接收其他交换机发送的环路故障探测报文。
步骤S203:判断是否在报文传递周期内接收对端发送的环路故障探测报文,若是,进入步骤S205;否则,进入步骤S206。
环路报文传递周期即为报文在系统环路中传递一周所需要的时间。
步骤S204:判断是否在报文传递周期内两次接收到其他交换机发送的同一环路故障探测报文,若是,进入步骤S205;否则,进入步骤S206。
步骤S205:确定环路正常。
步骤S206:判断连接本交换机的链路是否出现故障或处于未连接状态,若是,进入步骤S207;否则,进入步骤S208。
步骤S207:将与该链路连接的环端口设置为“拥塞”状态,并记录故障信息。
步骤S208:在一个系统环路检测周期结束时,如果其他交换机的环端口状态均为“转发”,进入步骤S209;否则,进入步骤S210。
所述系统环路检测周期T=Switch_Number*Maxhandltime;其中,Switch_Number为系统中交换机的数量,Maxhandltime为环路报文传递周期。
步骤S209:设置本交换机的两个环端口的一个的协议状态为“转发”,另一个为“拥塞”。
步骤S210:设置本交换机的两个环端口的协议状态为“转发”。
上述故障属于本系统中的“链路故障”,所述“链路故障”是指连接两个工业以太网交换机之间的通信链路出现故障,当出现这种故障的时候,发送环路故障探测报文的交换机在一个报文传递周期内没有接收到从两个环端口发送出去的环路故障探测报文,或者,只有一个环端口接收到对端口发送的报文。而系统中的其他交换机均只能从一个环端口接收到环路故障探测报文,另一个环路探测报文由于链路故障丢失。
本系统中的故障还包括其他另一种故障,即“协议机故障”。
所述“协议机故障”是指:交换机中的协议机出现故障,无法处理和发送各种探测报文和链路报警故障报文。虽然该故障不影响普通数据处理,但是,出现该故障的交换机的协议机将无法工作,所以这时,有可能会出现整个系统环路中所有环端口中没有一个环端口的状态为“拥塞”状态,也就是说,有可能会出现网络回环的情况。
上述环路检测过程虽然可以根据环路故障探测报文确定系统环网是否出现“链路故障”,但是无法确定是否出现“协议机故障”以及出现该故障的交换机。为了确定系统环网是否发生“协议机故障”以及发生该故障的交换机,需要进行协议机检测。具体过程如下:
步骤S301:发送链路故障探测报文,并接收其他交换机发送的链路故障探测报文。
系统中所有交换机同时发送链路故障探测报文至相邻交换机,并接收其他交换机发送的链路故障探测报文。
所述链路故障探测报文包括:本交换机的MAC(Media AccessControl,介质访问控制)地址、相邻交换机的MAC地址、环端口协议状态。
步骤S302:在协议机检测周期结束时是否接收来自相邻交换机的链路故障探测报文,若是,进入步骤S303;否则,进入步骤S304。
步骤S303:确定相邻交换机工作正常。
步骤S304:如果连接本交换机的链路正常,确定相邻交换机出现协议机故障,进入步骤S305。
步骤S305:将与所述相邻交换机相连的环端口的协议状态设为“拥塞”。
步骤S306:发送报警报文。
该报警报文包括指示故障类型(链路故障或协议机故障)以及故障发生的位置的信息。
当发生协议机故障的交换机从故障中恢复后,发送环路故障探测报文,其他交换机接收到环路故障探测报文之后,将环端口的状态均设置为“转发”状态,在一个系统环路检测周期结束时,所述从故障中恢复的交换机如果获知其他交换机的环端口状态都是“转发”时,将自身的一个环端口的协议状态设置为“转发”,另一个设置为“拥塞”,如果获知其他交换机的环端口中有一个的状态为“拥塞”时,将自身两个环端口的协议状态设置为“转发”,避免出现网络回环。
需要说明的是,在步骤S201之前,交换机的环端口的协议状态为“初始化”,在完成步骤S201后,交换机的环端口的协议状态被设置为“拥塞”,接收其他交换机发送过来的环路探测报文或者链路探测报文后,将本交换机的环端口的协议状态设置为“转发”。
需要说明的是,对于新加入系统的交换机,该交换机将本交换机的时钟进行同步后,将本交换机的环端口的协议状态设置为“拥塞”。在发送环路故障探测报文和链路故障探测报文后,将本交换机的两个环端口中的一个环端口的协议状态设置为“转发”,另一个环端口的协议状态设置为“拥塞”。而此时,其他交换机接收到新增交换机发送的环路故障探测报文后,如果本身环端口的协议状态处于“拥塞”,则改为“转发”,如果本身环端口的协议状态处于“转发”,则保留该状态。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
机译: 分布式以太网系统及基于该系统的故障检测方法
机译: 基于系统和分布式以太网系统的故障检测方法
机译: 基于分布式本体结构的分布式物联网系统,用于任务驱动的智能对象协作