发明内容
本发明的目的是提供一种以太网环保护系统,以提高以太网设备的可靠性。
本发明的另一个目的是提供一种以太网环保护方法,以克服现有技术中基于CPU软件实现的EAPS保护时间受CPU能力影响,不能严格保证快速保护倒换时间的缺陷,加快设备的保护倒换及故障恢复倒换时间。
为此,本发明提供如下的技术方案:
一种以太网环保护系统,包括位于同一个虚拟局域网内的一个主设备和多个从设备,主设备和各从设备形成一环路,所述主设备用于检测以太网环故障并通知所述从设备进行故障保护倒换或故障恢复倒换,所述从设备用于控制以太网环进行倒换,
在以太网环正常工作时,主设备的备用端口阻塞,只允许转发以太网环三层承载的控制消息,禁止转发以太网环二层承载的数据业务消息;
在以太网环出现故障时,主设备的备用端口打开,允许所述控制消息和所述数据业务消息通过;所述控制消息和所述数据业务消息属于同一个虚拟局域网。
所述主设备包括:
消息发送装置,用于周期地向从设备发送检测以太网环链路是否出现故障的握手检测消息,并在检测到链路故障或者故障恢复后向从设备发送倒换通知消息;
返回消息接收装置,用于接收从设备返回的握手检测消息和故障恢复报告消息,并对所述消息进行检测;
检测时间计数器,耦合于所述返回消息接收装置,用于根据返回消息接收装置对接收消息的检测结果对握手检测消息检测时间及故障恢复检测时间计数;
消息发送控制装置,分别耦合于所述检测时间计数器和所述消息发送装置,用于当检测时间计数器溢出后控制消息发送装置发送倒换通知消息;
环路状态存储器,耦合于所述消息发送控制装置,用于存储并当检测时间计数器溢出后修改以太网环路当前的工作状态;
主设备倒换操作装置,耦合于所述环路状态存储器,用于根据以太网环路当前的工作状态控制所述主设备的备用端口的打开或阻塞,并清除所述主设备所在环上端口下的MAC地址表。
所述消息发送装置包括:
握手消息存储器,用于存储进行故障检测的握手检测消息;
倒换通知消息存储器,用于存储倒换通知消息;
消息获取单元,分别耦合于所述握手消息存储器和所述倒换通知消息存储器,用于根据所述消息发送控制装置的通知获取倒换通知消息及定时获取握手检测消息。
所述返回消息接收装置包括:
返回消息匹配信息存储器,用于存储与握手检测消息匹配的访问控制表;
返回消息检测单元,耦合于所述返回消息匹配信息存储器,用于根据所述访问控制表检测接收的消息是否为所述消息发送装置发出的握手检测消息。
所述从设备包括:
消息接收装置,用于接收主设备发送的倒换通知消息及握手检测消息;
倒换时间计数器,耦合于所述消息接收装置,用于根据所述倒换通知消息设置并启动以太网环路倒换时间;
从设备倒换操作装置,用于当检测到倒换时间计数器溢出后清除从设备环上端口下的MAC地址表;
消息通知装置,耦合于所述消息接收装置,用于转发主设备发出的握手检测消息,并在从设备所在环上端口发生故障或者故障恢复后,向主设备发出通知消息。
所述消息接收装置包括:
倒换消息匹配信息存储器,用于存储与倒换通知消息匹配的访问控制表;
倒换消息检测单元,耦合于所述倒换消息匹配信息存储器,用于根据所述访问控制表检测接收的消息是否为所述主设备发送的倒换通知消息。
所述消息通知装置包括:
故障通知消息存储器,用于存储故障通知消息;
故障恢复通知消息存储器,用于存储故障恢复通知消息;
通知消息获取单元,分别耦合于所述故障通知消息存储器和所述故障恢复通知消息存储器,用于当从设备检测到本身环上端口发生故障变化后,获取故障通知消息或者故障恢复通知消息。
一种基于上述系统的以太网环保护方法,所述系统包括:位于同一个虚拟局域网内的一个主设备和多个从设备,所述方法包括:
A、主设备定时向从设备发送由三层承载的握手检测消息,所述握手检测消息的目的MAC地址为接收端设备的三层接口的地址;
B、在以太网环正常运行状态时,如果主设备收到了从设备发送的故障通知消息、或者在预定时间内未收到从设备返回的握手检测消息,则向从设备发送由三层承载的保护倒换通知消息;
C、在以太网环故障状态时,如果主设备重新收到从设备返回的握手检测消息、或者收到从设备发送的故障恢复通知消息,则向从设备发送由三层承载的故障恢复倒换通知消息;
D、从设备根据收到的保护倒换通知消息或故障恢复倒换通知消息进行对应的倒换操作。
优选地,所述握手检测消息与所述以太网环承载的数据业务消息具有相同的虚拟专用网VLAN标识。
优选地,所述主设备通过预先配置的访问控制表对接收的握手检测消息进行检测。
优选地,所述从设备通过预先配置的访问控制表对接收的保护倒换通知消息及故障恢复倒换通知消息进行检测。
一种基于上述系统的以太网环保护方法,所述系统包括:位于同一个虚拟局域网内的一个主设备和多个从设备,所述方法包括:
主设备定时向从设备发送由三层承载的握手检测消息,所述握手检测消息的目的MAC地址为接收端设备的三层接口的地址,并且与所述以太网环承载的数据业务消息具有相同的虚拟专用网VLAN标识;
在以太网环正常运行状态时,配置主设备只进行三层转发,禁止二层转发;
如果主设备收到了从设备发送的故障通知消息、或者在预定时间内未收到从设备返回的握手检测消息,则向从设备发送由三层承载的保护倒换通知消息;
在以太网环故障状态时,配置主设备同时允许三层转发及二层转发;
如果主设备重新收到从设备返回的握手检测消息、或者收到从设备发送的故障恢复通知消息,则向从设备发送由三层承载的故障恢复倒换通知消息;
从设备根据收到的保护倒换通知消息或故障恢复倒换通知消息进行对应的倒换操作。
一种基于上述统的以太网环保护方法,所述系统包括:位于同一个虚拟局域网内的一个主设备和多个从设备,所述方法包括:
主设备定时向从设备发送握手检测消息;
主设备通过预先配置的访问控制表对接收的消息进行检测;
在以太网环正常运行状态时,如果主设备收到了从设备发送的故障通知消息、或者在预定时间内未收到从设备返回的握手检测消息,则向从设备发送由三层承载的保护倒换通知消息;
在以太网环故障状态时,如果主设备重新收到从设备返回的握手检测消息、或者收到从设备发送的故障恢复通知消息,则向从设备发送由三层承载的故障恢复倒换通知消息;
从设备通过预先配置的访问控制表对接收的消息进行检测;
当从设备收到所述保护倒换通知消息或故障恢复倒换通知消息后,进行对应的倒换操作。
由以上本发明提供的技术方案可以看出,本发明在以太网环正常工作情况下,控制环上主设备的备用端口只允许以太网环三层转发的数据包通过,禁止以太网环二层转发的数据包通过,即只接收由三层承载的控制信息通过,拒绝接收由二层承载的业务信息,而且系统中的主设备和从设备分别通过ACL(访问控制表)检测返回的握手检测消息和倒换通知消息,因此可以使控制VLAN和数据VLAN采用相同的VLAN,数据包的MAC地址也可以是任何单播MAC地址或者是组播MAC地址,降低了实现的复杂度。本发明使用设备芯片硬件实现以太网设备的保护倒换,大大加快了设备的保护倒换及故障恢复倒换时间,有效地提高了设备的可靠性,为网络提供严格的50ms之内的快速保护。而且本发明不需要采用专门的硬件技术或者是专门的芯片来实现,只需要在现有以太网交换芯片的基础上,增加所需的寄存器和计数器资源即可,实现成本低。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图2,图2示出了本发明系统的拓扑结构:
与以太网环结构相对应,本发明系统包括位于同一个虚拟局域网内的一个主设备和多个从设备,在该图所示拓扑结构中,示出了三个从设备:从设备1、从设备2和从设备3。主设备和各从设备分别位于以太网环上,并形成一环路,主设备用于检测以太网环故障并通知从设备进行故障保护倒换或故障恢复倒换,从设备用于控制进行倒换。
在以太网环路正常工作时,主设备控制其一个物理端口(备用端口)处于阻塞状态:即只允许以太网环三层转发的数据包通过,禁止以太网环二层转发的数据包通过,从而保证以太网环的STP(生成树协议)为链状,避免未知单播和广播在环状网络上形成循环广播,同时能够使该物理端口接收由三层承载的控制信息;当以太网环出现故障时,主设备控制该物理端口打开,即允许该端口通过任何数据包,从而保证环上的各设备之间的连通性。
在主设备的备用端口上,主设备是靠接收到的以太网数据帧的VLAN信息和其中的目的以太网地址来区分是二层转发还是三层转发的,即假设数据业务消息和控制消息都属于同一个VLAN(假设为100),但这个时候控制消息和正常的数据业务消息是有不同的目的MAC地址的,只有目的MAC地址是主设备的三层接口的地址,才会被通过备用端口送到主设备。而目的MAC地址不是主设备MAC地址的数据帧,则会被阻塞掉,即不进行二层转发。而其他VLAN的正常数据也都将被阻塞掉。
例如,主设备的备用端口接收到的以太网数据帧的目的MAC地址和VLAN假设为以下的几个:
(1)DMAC=00 10 5c e8 89 05 VLAN=100
(2)DMAC=00 10 5c e8 89 06 VLAN=100
(3)DMAC=00 10 5c e8 89 07 VLAN=100
(4)DMAC=00 10 5c e8 89 08 VLAN=100
(5)DMAC=00 10 5c e8 89 05 VLAN=200
(6)DMAC=00 10 5c e8 89 06 VLAN=200
(7)DMAC=00 10 5c e8 89 07 VLAN=200
(8)DMAC=00 10 5c e8 89 08 VLAN=200
(9)DMAC=00 10 5c e8 89 05 VLAN=300
(10)DMAC=00 10 5c e8 89 06 VLAN=300
(11)DMAC=00 10 5c e8 89 07 VLAN=300
(12)DMAC=00 10 5c e8 89 08 VLAN=300
对于主设备的备用端口来说,判断三层转发的条件是目的MAC地址DMAC+VLAN,假设DMAC=DMAC=00 10 5c e8 89 06和VLAN=100,代表是三层转发,那么备用端口会把具有该特征的以太网数据帧送到主设备的CPU,而其它的DMAC和VLAN不同时满足条件的以太网数据帧,都会被备用端口阻塞掉。
对于现有的EAPS技术来讲,控制消息和数据业务消息一定要被分配到不同的VLAN中,即假设VLAN=100是传递控制消息的,那么这个VLAN就不能与数据业务消息共用,也就是说所有VLAN=100的以太网帧都将被送给主设备。
主设备定时发送握手检测消息对以太网环链路进行检测,当主设备检测到环路发生故障后,备用端口打开,即同时允许对接收的消息进行三层转发和二层转发。此时,具有DMAC=DMAC=00 10 5c e8 89 06和VLAN=100特征的以太网数据帧仍然会被送到主设备的CPU,而其他的以太网数据帧也都会被接收上来,进行正常转发流程(二层转发)。
主设备向从设备发送倒换通知消息,从设备收到该消息后,进行故障保护倒换;当主设备检测到环路故障恢复后,向从设备发送倒换通知消息,从设备收到该消息后,进行故障恢复倒换。
参照图3,图3示出了主设备的原理框图:
主设备包括:消息发送装置S1、返回消息接收装置S2、消息发送控制装置S3、检测时间计数器S4、环路状态存储器S5和主设备倒换操作装置S6。
其中,消息发送装置S1用于周期地向从设备发送检测以太网环链路是否出现故障的握手检测消息,并在检测到链路故障或者故障恢复后向从设备发送倒换通知消息;返回消息接收装置S2用于接收从设备返回的握手检测消息及故障恢复报告消息,并对所述消息进行检测;检测时间计数器S4用于根据返回消息接收装置S2对接收消息的检测结果对握手检测消息检测时间及故障恢复检测时间计数;消息发送控制装置S3用于当检测时间计数器溢出后控制消息发送装置发送倒换通知消息;环路状态存储器S5用于存储并当检测时间计数器溢出后修改以太网环路当前的工作状态;主设备倒换操作装置S6用于根据以太网环路当前的工作状态控制主设备的备用物理端口的打开或关闭,并清除主设备环上端口下的MAC地址表。
当系统运行时,由消息发送装置通过其指定端口定时向从设备发送握手检测消息,该消息通过以太网环的三层承载,同时启动检测时间计数器。
如果在检测时间计数器设置的握手检测消息检测时间内,返回消息接收装置收到了从备用端口返回的握手检测消息,则由返回消息接收装置通知检测时间计数器对握手检测消息检测时间重新计数。
当消息发送控制装置检测到检测时间计数器对握手检测消息检测时间的计数值超过预定值后,通知消息发送装置从指定端口(主设备的两个环上端口)向从设备发送倒换通知消息,同时将环路状态存储器的状态修改为“故障状态”;主设备倒换操作装置检测到环路状态存储器的状态为“故障状态”时,打开主设备的备用端口,以保证环上的各设备之间的连通,使业务数据正常传输。
在以太网环路发生故障后,消息发送装置仍然通过其指定端口定时向从设备发送握手检测消息,一旦网络故障恢复,则返回消息接收装置又会重新收到从设备返回的握手检测消息,或者其他从设备主动发送上来的故障恢复报告消息。
当返回消息接收装置重新收到从设备返回的握手检测消息后,则通知检测时间计数器对故障恢复检测时间重新计数。当消息发送控制装置检测到检测时间计数器对故障恢复检测时间的计数值超过预定值后,通知消息发送装置从指定端口向从设备发送倒换通知消息,同时将环路状态存储器的状态修改为“正常状态”;主设备倒换操作装置检测到环路状态存储器的状态为“正常状态”时,阻塞主设备的备用端口,以保证以太网环的STP(生成树协议)为链状,避免未知单播和广播在环状网络上形成循环广播。
当返回消息接收装置收到其他从设备主动发送上来的故障恢复报告消息时,直接通知消息发送控制装置,使消息发送装置向从设备发送倒换通知消息,同时将环路状态存储器的状态修改为“正常状态”;主设备倒换操作装置检测到环路状态存储器的状态为“正常状态”时,阻塞主设备的备用端口,以保证以太网环的STP(生成树协议)为链状,避免未知单播和广播在环状网络上形成循环广播。
消息发送装置S1包括:消息获取单元S11、握手消息存储器S12、倒换通知消息存储器S13。
主设备需要发送的握手检测消息都预先存储在握手消息存储器S12中。在初始化时,指定握手检测消息的主要相关域,比如目的MAC地址和源MAC地址、VLAN等。假设握手检测消息的大小是一个64字节的数据帧,那么完全指定的话,则该寄存器需要16×32比特的空间。如果握手检测消息中还需承载序列号(比如是一个32比特的序列号),则还可增加一个序列号计数器,并且在握手检测消息中有一个序列号域(大小为4个字节)。主设备发送握手检测消息时,硬件根据配置从这个寄存器读取当前的计数器的数值,放到握手检测消息的指定区域。每发送一个握手检测消息,序列号计数器的数值递增变化。然后硬件自动作CRC校验后,从相应的物理端口发出。
主设备需要发送的倒换通知消息预先存储在倒换通知消息存储器S13中。其设置如同握手消息存储器S12的设置,所有的域都可以是指定的。可以设置发送一次,也可以设置发送多次,如果设置发送多次,则也可以设置序列号来区分。
当需要发送握手检测消息时,则由消息获取单元S11从握手消息存储器S12取中当前的握手检测消息,通过主设备的指定端口发送出去。当需要发送倒换通知消息,则由消息获取单元S11从握手消息存储器S13取中当前的倒换通知消息,通过主设备的指定端口发送出去。
返回消息接收装置S2包括:返回消息检测单元S21和返回消息匹配信息存储器S22。
前面已提到,在本发明中,通过ACL规则来检测从备用端口应该接收回来的握手检测消息。ACL规则预先配置并存储在返回消息匹配信息存储器S22中。
ACL规则的功能是用来检测和比较握手检测消息中的关键字段。一条144比特的ACL规则可以比较18个字节的关键字段,一条288比特的规则可以比较36个字节的关键字段。通过关键字段基本可以涵盖握手检测消息中的主要内容。如果是需要比较全部字段的话,那么这个ACL规则匹配以后的动作应该有一个全部比较的功能,也就是说将接收到的整个握手检测消息数据帧与返回消息匹配信息存储器中预先配置的数值进行全部比较,就可以得到是否完全一致的结论。
对于支持多个以太网环实例的节点实现来说,每个握手检测消息中包含有一个不同的以太网环域,只要对每一个以太网环域分别配置一条不同的ACL规则就可以了,因此这种方法对于同一个芯片甚至是同一个芯片端口同时支持多个以太网环的需求来说,具有非常好的扩展性。
当返回消息接收装置S2从主设备的预定端口收到由以太网环三层承载的数据包后,由返回消息检测单元S21将收到的数据包与返回消息匹配信息存储器S22中存储的ACL规则进行匹配,如果相匹配,则将收到的数据包丢弃,同时通知检测时间计数器S4对握手检测消息检测时间重新计数;如果不相匹配,则直接将收到的数据包丢弃。
参照图4,图4示出了从设备的原理框图:
从设备包括:消息接收装置R1、倒换时间计数器R2、从设备倒换操作装置R3、消息通知装置R4。
其中,消息接收装置R1用于接收主设备发送的倒换通知消息及握手检测消息;倒换时间计数器R2用于根据倒换通知消息设置并启动以太网环路倒换时间;从设备倒换操作装置R3用于当检测到倒换时间计数器溢出后清除从设备环上端口下的MAC地址表;消息通知装置R4用于转发主设备发出的握手检测消息,并在从设备所在环上端口发生故障或者故障恢复后,向主设备发出通知消息。
当消息接收装置R1接收到主设备发送的握手检测消息后,直接交由消息通知装置R4进行转发;当收到主设备发送的倒换通知消息后,启动倒换时间计数器R2,当从设备倒换操作装置检测到倒换时间计数器R2溢出后,清除从设备环上端口下的MAC地址。
如果从设备所在环上端口发生故障,则由消息通知装置R4向主设备发送消息,通知主设备故障变化情况。
消息通知装置R4的实现原理与主设备中消息发送装置的实现原理相同,包括:通知消息获取单元R41、故障通知消息存储器R42和故障恢复通知消息存储器R43。
当从设备检测到所在环上端口发生故障后,则由通知消息获取单元R41从故障通知消息存储器R42中取出相应的故障通知消息,发送给主设备;当从设备检测到所在环上端口的故障恢复后,则由通知消息获取单元R41从故障恢复通知消息存储器R43中取出相应的故障恢复通知消息,发送给主设备。
故障通知消息存储器R42及故障恢复通知消息存储器R43的设置如同主设备中握手消息存储器的设置,所有的域都可以是指定的。
消息接收装置R1包括:倒换消息检测单元R21和倒换消息匹配信息存储器R22。
在本发明中,同样通过配置ACL规则来检测从设备接收的倒换通知消息。该ACL规则预先配置并存储在倒换消息匹配信息存储器R22中。倒换消息检测单元R21根据该ACL规则对从设备接收到的消息进行匹配,可以是关键字段匹配,也可以是全部匹配。如果是倒换通知消息,则启动倒换时间计数器,否则直接转发。
参照图5,图5示出了本发明方法第一实施例的实现流程,包括以下步骤:
步骤501:主设备定时向从设备发送由三层承载的握手检测消息,该握手检测消息的目的MAC地址为接收端设备的三层接口的地址。
在正常工作状态,主设备首先判断定时发送的时间是否到达,如果已经到达,则生成握手检测消息,从指定的端口发送出去。发送的同时,开始启动定时检测计数器的计数操作。
步骤502:在以太网环正常运行状态时,如果主设备收到了从设备发送的故障通知消息、或者在预定时间内未收到从设备返回的握手检测消息,则向从设备发送由三层承载的保护倒换通知消息。
在该以太网环上,可以在不同的VLAN中传输控制消息(比如,握手检测消息)和数据业务消息,也可以在同一VLAN中传输控制消息和数据业务消息。
当控制消息与数据业务消息具有相同的虚拟专用网VLAN标识时,通过三层转发来实现主设备备用端口的打开及阻塞功能。在以太网环正常运行状态时,主设备对备用端口接收的消息进行检查,只允许对接收的消息进行三层转发,禁止二层转发,由于握手检测消息的目的MAC地址为主设备的三层接口的地址,因此主设备接收到该消息后,会对其进行三层转发;而其他数据业务消息中的目的MAC地址与主设备的三层接口的地址不同,如果按照正常的转发流程,则需要对其进行二层转发,但在本发明中,则通过配置,可以禁止这样的数据包进行二层转发,从而保证了STP为一个链状。
主设备发送出去的握手检测消息,会在指定返回端口由主设备捕获,一旦该消息被捕获,则被丢弃。同时将定时检测计数器的当前计数进行清零,使其重新开始计数,以使其在正常情况下不会溢出。
在正常情况下,由芯片ASIC(专用集成电路)硬件自动检测握手检测消息计数器是否已经到达了指定的次数,也就是说主设备已连接定时发送了指定次数的握手检测消息,而在这期间一直未收到从设备返回的消息,这说明此时环上出现了故障,使得主设备发出去的握手消息没有在约定的时间内返回到主设备的备用端口。此时,主设备向环上其他从设备发出保护倒换消息,将CPU预先配置好的保护倒换消息从指定端口发送出去。同时清除环上端口的MAC地址,打开主设备的备用端口。
在以太网环正常运行时,如果从设备检测到了本身的环上端口发生了故障,则立即通知主设备,向主设备发送故障通知消息。主设备收到该通知后,向环上其他从设备发出保护倒换消息,将CPU预先配置好的保护倒换消息从指定端口发送出去。同时清除环上端口的MAC地址,打开主设备的备用端口。
步骤503:在以太网环故障状态时,如果主设备重新收到从设备返回的握手检测消息、或者收到从设备发送的故障恢复通知消息,则向从设备发送由三层承载的故障恢复倒换通知消息。
在以太网环故障状态时,打开主设备的备用端口,主设备对备用端口接收的消息进行检查,同时允许对接收的消息进行三层转发和二层转发。
在环路故障状态下,如果主设备重新捕获到了从设备返回的握手检测消息,则说明环上的故障已经恢复,可以进行故障恢复倒换的工作。当然,对该握手检测消息也可以设置一个计数器,比如连续收到多少个正确的握手检测消息后,才证明环路状态恢复正常。
如果主设备通过该握手检测消息检测到环路故障已恢复,则向从设备发送由三层承载的故障恢复倒换通知消息。在该消息中包含通知从设备进行故障恢复倒换的计数器。
如果是从设备首先检测到环路恢复,此时主设备可能还没有检测到环路恢复,备用端口仍然处于通路状态,此时从设备需要立即通知主设备,向主设备发送故障恢复通知消息,此时,从设备并不马上恢复断路的端口。
步骤504:从设备根据收到的保护倒换通知消息或故障恢复倒换通知消息进行对应的倒换操作。
同样,主设备发送的保护倒换通知消息或故障恢复倒换通知消息,会由从设备捕获。一旦该消息被捕获,则从设备启动该消息中的故障恢复倒换的计数器,计数器溢出后,开始倒换操作,清除从设备所在环上端口下的MAC地址。
为了提高主设备和从设备对接收消息的捕获及检测速度,进而加快设备保护倒换及故障恢复倒换时间,提高设备的可靠性,可以分别在主设备和从设备中配置相应的ACL,通过该ACL对接收的消息进行匹配,一旦匹配成功,则执行相应的操作。
参照图6,图6示出了本发明方法第二实施例的实现流程,包括以下步骤:
步骤601:主设备定时向从设备发送由三层承载的握手检测消息。
在正常工作状态,主设备首先判断定时发送的时间是否到达,如果已经到达,则生成握手检测消息,从指定的端口发送出去。发送的同时,开始启动定时检测计数器的计数操作。
步骤602:主设备通过预先配置的ACL对接收的消息进行检测。
步骤603:在以太网环正常运行状态时,如果主设备的ACL捕获到了从设备发送的故障通知消息、或者在预定时间内ACL未捕获到从设备返回的握手检测消息,则向从设备发送保护倒换通知消息。
在以太网环正常运行状态时,阻塞主设备的备用端口。主设备发送出去的握手检测消息,会在指定返回端口由主设备预先配置的ACL规则捕获,一旦该消息被捕获,则被丢弃。同时将定时检测计数器的当前计数进行清零,使其重新开始计数,以使其在正常情况下不会溢出。
在正常情况下,由芯片ASIC(专用集成电路)硬件自动检测握手检测消息计数器是否已经到达了指定的次数,也就是说主设备已连接定时发送了指定次数的握手检测消息,而在这期间一直未收到从设备返回的消息,这说明此时环上出现了故障,使得主设备发出去的握手消息没有在约定的时间内返回到主设备的备用端口。此时,主设备向环上其他从设备发出保护倒换消息,将CPU预先配置好的保护倒换消息从指定端口发送出去。同时清除环上端口的MAC地址,打开主设备的备用端口。
在以太网环正常运行时,如果从设备检测到了本身的环上端口发生了故障,则立即通知主设备,向主设备发送故障通知消息。主设备收到该通知后,向环上其他从设备发出保护倒换消息,将CPU预先配置好的保护倒换消息从指定端口发送出去。同时清除环上端口的MAC地址,打开主设备的备用端口。
步骤604:在以太网环故障状态时,如果主设备ACL重新捕获到从设备返回的握手检测消息、或者捕获到从设备发送的故障恢复通知消息,则向从设备发送故障恢复倒换通知消息。
在以太网环故障状态时,打开主设备的备用端口,主设备对备用端口接收的消息进行检查,同时允许对接收的消息进行三层转发和二层转发。
在环路故障状态下,如果主设备预先配置的ACL(访问控制表)规则重新捕获到了从设备返回的握手检测消息,则说明环上的故障已经恢复,可以进行故障恢复倒换的工作。当然,对该握手检测消息也可以设置一个计数器,比如连续收到多少个正确的握手检测消息后,才证明环路状态恢复正常。
如果主设备通过该握手检测消息检测到环路故障已恢复,则向从设备发送由三层承载的故障恢复倒换通知消息。在该消息中包含通知从设备进行故障恢复倒换的计数器。
如果是从设备首先检测到环路恢复,此时主设备可能还没有检测到环路恢复,备用端口仍然处于通路状态,此时从设备需要立即通知主设备,向主设备发送故障恢复通知消息,此时,从设备并不马上恢复断路的端口。
步骤605:从设备通过预先配置的ACL对接收的消息进行检测。
步骤606:当从设备收到所述保护倒换通知消息或故障恢复倒换通知消息后,进行对应的倒换操作。
同样,主设备发送的保护倒换通知消息或故障恢复倒换通知消息,会由从设备预先配置的ACL捕获。一旦该消息被捕获,则从设备启动该消息中的故障恢复倒换的计数器,计数器溢出后,开始倒换操作,清除从设备所在环上端口下的MAC地址。
可见,利用本发明,可以通过预先存储的ACL进行消息检测,而不是如现有技术中通过控制VLAN来实现以太网环故障保护倒换;同时,通过配置,可以使数据VLAN与控制VLAN采用同一VLAN进行传输,业务数据包通过二层转发,控制数据包通过三层转发,主设备通过三层的信息来检测握手消息,不仅降低了实现的复杂度及成本,而且大大加快了设备的保护倒换或者故障恢复倒换时间,提高了设备的可靠性。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。