一种基于ERPS协议的子环网链路保护方法与装置与流程

文档序号:27381532发布日期:2021-11-15 20:14阅读:481来源:国知局
一种基于ERPS协议的子环网链路保护方法与装置与流程
一种基于erps协议的子环网链路保护方法与装置
技术领域
1.本发明属于链路保护技术领域,更具体地,涉及一种基于erps协议的子环网链路保护方法与装置。


背景技术:

2.erps(ethernet ring protection switching,即以太环网保护倒换)是一种具备高可靠性和稳定性的以太环网链路层技术。通过erps协议,当以太环网发生链路故障时能迅速恢复环网上各个节点之间的通信通路,具备较高的收敛速度。
3.环网erps协议处理是指通过收发erps协议报文来控制协议状态机,再由协议状态机来控制端口转发状态,从而实现链路业务保护作用。但在某些现网业务中,为了减少某些交换设备cpu负载等原因,会让环路中这些交换设备不参与erps协议处理,此时环路中其他交换设备组成一个子环网链路,需要通过在子环链路上的交换设备运行erps协议,完成子环链路业务保护。
4.在上述子环网链路的场景中,由于erps协议报文只能在子环网链路上运行,而无法透传整个环网链路,则当出现链路故障或故障恢复时,必然存在某些交换设备无法收到erps协议报文的问题,使得协议状态机无法根据收发erps协议报文来进行端口转发状态控制,即erps协议无法通过接收erps协议报文来完成链路倒换,从而导致erps协议不能在子环链路上起到完整的业务保护作用。
5.鉴于此,克服上述现有技术所存在的缺陷是本技术领域亟待解决的问题。


技术实现要素:

6.针对现有技术的以上缺陷或改进需求,本发明提供了一种基于erps协议的子环网链路保护方法与装置,其目的在于根据子环网链路上的设备角色进行报文处理,完成链路保护倒换,由此解决传统方案中在子环网链路上无法正常运行erps协议的技术问题。
7.为实现上述目的,按照本发明的一个方面,提供了一种基于erps协议的子环网链路保护方法,子环网链路包括多个交换设备,且其中一个交换设备为rpl设备;每个交换设备有两个端口,所述rpl设备的其中一个端口为rpl链路主端口且初始状态下为阻塞状态,其余各端口初始状态下均为转发状态;则在子环网链路上运行erps协议时,子环网链路保护方法具体包括:
8.当检测到端口x所在链路发生故障时生成sf故障报文,并判断所述端口x所属交换设备是否为rpl设备;
9.如果该交换设备不是rpl设备,则直接通过该交换设备的另一端口y向相邻交换设备发送所述sf故障报文;
10.如果该交换设备是rpl设备,并且该交换设备的另一端口y为rpl链路主端口,则将该交换设备的两端口状态和erps协议状态进行切换后,通过所述端口y向相邻交换设备发送所述sf故障报文。
11.优选地,所述当检测到端口x所在链路发生故障时生成sf故障报文,并判断所述端口x所属交换设备是否为rpl设备,具体为:
12.当底层驱动检测到所述端口x所在链路发生故障时,通知所述端口x所属交换设备的erps协议模块,由该erps协议模块中的协议状态机处理模块生成所述sf故障报文,并判断该交换设备是否为rpl设备。
13.优选地,所述rpl设备初始状态下的erps协议状态为空闲状态,则所述将该交换设备的两端口状态和erps协议状态进行切换后,通过所述端口y向相邻交换设备发送所述sf故障报文,具体为:
14.将所述端口x由初始的转发状态切换为阻塞状态,将所述端口y由初始的阻塞状态切换为转发状态;
15.将所述端口x缓存的mac地址转发表清除,由所述端口y根据业务流向重新学习mac地址转发表;
16.将该交换设备的erps协议状态由初始的空闲状态切换为保护状态;
17.根据所述mac地址转发表将业务流由原来的所述端口x倒换到所述端口y,以便通过所述端口y向相邻交换设备发送所述sf故障报文。
18.优选地,所述子环网链路保护方法还包括:
19.当前交换设备接收到所述sf故障报文时,通过对所述sf故障报文进行内容解析获取源mac地址和收报文端口号;
20.检查所述源mac地址与所述当前交换设备的mac地址是否一致,如果一致则直接对接收到的所述sf故障报文做丢弃处理,如果不一致则继续判断所述当前交换设备是否为rpl设备;
21.如果所述当前交换设备不是rpl设备,则根据解析出的收报文端口号,通过所述当前交换设备的另一端口转发所述sf故障报文;
22.如果所述当前交换设备是rpl设备,则将所述当前交换设备的两端口状态和erps协议状态进行切换后,通过所述当前交换设备的另一端口转发所述sf故障报文。
23.优选地,所述子环网链路保护方法还包括:
24.当检测到所述端口x所在链路故障恢复时,所述端口x所属交换设备向所述端口x和所述端口y同时发送所述nr故障恢复报文,并判断该交换设备是否为rpl设备;
25.如果该交换设备不是rpl设备,则持续发送所述nr故障恢复报文;
26.如果该交换设备是rpl设备,则启动rpl自回切定时任务判断当前链路是否为子环网链路;
27.如果不是子环网链路则停止所述rpl自回切定时任务,如果是子环网链路则进行rpl自回切,以便将该交换设备的两端口状态和erps协议状态切换回初始状态,并通过所述端口x和所述端口y同时发送nr

rb报文。
28.优选地,所述当检测到所述端口x所在链路故障恢复时,所述端口x所属交换设备向所述端口x和所述端口y同时发送所述nr故障恢复报文,并判断该交换设备是否为rpl设备,具体为:
29.当底层驱动检测到所述端口x所在链路的故障恢复时,通知所述端口x所属交换设备的erps协议模块,由该erps协议模块中的协议状态机处理模块向所述端口x和所述端口y
同时发送所述nr故障恢复报文,并判断该交换设备是否为rpl设备。
30.优选地,所述启动rpl自回切定时任务判断当前链路是否为子环网链路具体为:
31.启动所述rpl自回切定时任务,以检查在自回切定时时间内该交换设备是否接收到自身发送的所述nr故障恢复报文;
32.如果该交换设备在所述自回切定时时间内接收到自身发送的所述nr故障恢复报文,则证明当前链路不是子环网链路;
33.如果该交换设备在所述自回切定时时间内未接收到自身发送的所述nr故障恢复报文,则证明当前链路是子环网链路。
34.优选地,在所述自回切定时时间内,如果该交换设备接收到其余交换设备发送的nr故障恢复报文或sf故障报文,则停止所述rpl自回切定时任务,并根据接收到的erps协议报文类型进行对应处理。
35.优选地,所述进行rpl自回切,以便将该交换设备的两端口状态和erps协议状态切换回初始状态,并通过所述端口x和所述端口y同时发送nr

rb报文,具体为:
36.启动wtr定时器进行rpl自回切,以便将所述端口x由阻塞状态还原为初始的转发状态,将所述端口y由转发状态还原为初始的阻塞状态;
37.通过所述端口x和所述端口y向两端同时发送nr

rb报文,以便通知子环网链路上的其余交换设备所述rpl链路主端口已恢复阻塞;
38.将该交换设备的erps协议状态由保护状态还原为初始的空闲状态,完成故障恢复处理。
39.按照本发明的另一方面,提供了一种基于erps协议的子环网链路保护装置,用于完成上述第一方面所述的子环网链路保护方法,包括对应每个交换设备分别设置的erps协议模块,所述erps协议模块包括协议状态机处理模块和协议收发包处理模块,所述协议状态机处理模块用于控制子环网链路中各交换设备的端口状态,所述协议收发包处理模块用于实现子环网链路中各交换设备之间的报文交互;
40.其中,所述协议状态机处理模块和所述协议收发包处理模块分别与底层驱动连接;当所述底层驱动检测到端口x所在链路发生故障时,通知所述端口x所属交换设备对应的协议状态机处理模块,由所述协议状态机处理模块生成sf故障报文,并判断该交换设备是否为rpl设备;
41.如果该交换设备不是rpl设备,则所述协议收发包处理模块通过该交换设备的另一端口y向相邻交换设备发送所述sf故障报文;如果该交换设备是rpl设备,则所述协议状态机处理模块将该交换设备的两端口状态和erps协议状态进行切换后,所述协议收发包处理模块通过所述端口y向相邻交换设备发送所述sf故障报文。
42.总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:本发明提供的子环网链路保护方法中,当某个端口所在的链路发生故障时,可根据组网配置的当前交换设备的角色进行处理,如果不是rpl设备则直接通过另一端口发送sf故障报文,如果是rpl设备则将当前交换设备的两端口状态和erps协议状态进行切换,再通过另一端口发送sf故障报文,从而完成链路保护倒换。通过上述方案,可在子环网链路上正常运行erps协议,使erps协议在子环网链路上起到完整的业务保护作用;同时在无需新增配置命令和功能开关的前提下,做到与原有现网环境部署相兼容,减少运维成本。
附图说明
43.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1是本发明实施例提供的一种发生链路故障时的协议状态机处理流程图;
45.图2是本发明实施例提供的一种基于erps协议的子环网链路组网图;
46.图3是本发明实施例提供的一种发生链路故障时的协议收发报文处理流程图;
47.图4是本发明实施例提供的一种链路故障恢复时的rpl设备处理流程图;
48.图5是本发明实施例提供的一种基于erps协议的子环网链路保护装置图;
49.图6是本发明实施例提供的一种发生链路故障时基于子环网链路保护装置的处理流程图;
50.图7是本发明实施例提供的一种发生链路故障时基于子环网链路保护装置的处理流程图;
51.图8是本发明实施例提供的一种链路故障恢复时基于子环网链路保护装置的处理流程图。
具体实施方式
52.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
53.此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面就参考附图和实施例结合来详细说明本发明。
54.实施例1
55.为解决子环网链路上无法正常运行erps协议的技术问题,本发明实施例提供了一种基于erps协议的子环网链路保护方法,主要分为两种场景:第一种是链路发生故障时,需要进行链路保护倒换;第二种是链路故障恢复时,需要将链路还原为初始状态。其中,当链路发生故障时,可根据组网配置的设备角色进行端口状态处理后发送sf故障报文,完成链路保护倒换;当链路故障恢复时,增加自回切处理机制将端口状态还原,并结合协议状态机处理完成链路的恢复倒换。
56.其中,子环网链路通常包括相连的多个交换设备,每个交换设备有两个端口,每个端口的状态分为阻塞状态(即block)和转发状态(即unblock),而erps协议是一种应用于以太环网链路层的保护协议。本发明为在子环网链路中正常运行erps协议,将运行erps协议的设备类型分为rpl(ring protection link,即环保护链路)设备和非rpl设备,将交换设备的端口类型分为rpl链路主端口(即rpl owner端口)和普通端口(即common端口),并配置其中一个交换设备为rpl设备,配置所述rpl设备的其中一个端口为rpl链路主端口,其余各端口均为普通端口,即整个环路中只有一个rpl链路主端口,使得后续erps协议可将所述rpl链路主端口作为一个备用端口来实现业务保护倒换。
57.子环网链路中各交换设备通过erps协议报文进行通信交互,所述erps协议报文分
为sf(signal fail,即信号失效)故障报文、nr(no request,即无请求)故障恢复报文、nr

rb(no request

rpl block,即无请求

环保护链路阻塞)报文等类型;其中,sf故障报文表示网络出现故障,nr故障恢复报文表示网络处于正常状态,nr

rb报文表示rpl链路主端口处于阻塞状态。在初始状态下,即erps稳定运行的初始阶段,所述rpl设备的erps协议状态为空闲状态(即idle状态),所述rpl链路主端口为阻塞状态,其余各端口均为转发状态。
58.基于上述配置,本发明实施例主要围绕第一种应用场景(即链路故障)展开,则在子环网链路上运行erps协议时,子环网链路保护方法具体如图1所示,主要包括以下步骤:
59.步骤101,当检测到端口x所在链路发生故障时生成sf故障报文,并判断所述端口x所属交换设备是否为rpl设备。
60.当子环网链路上的某个端口x所在链路发生故障时,可通过底层驱动检测到相应的故障并通知所述端口x所属交换设备,由该交换设备生成sf故障报文并向相邻交换设备发送。由于当前是子环网链路,erps协议报文是不能全透传整个环链路的,因此在该交换设备发送所述sf故障报文之前,协议状态机需要先检查判断该交换设备是否为rpl设备,以便后续根据设备角色进行相应处理。其中,如果是rpl设备则执行步骤103,如果不是rpl设备(也就是非rpl设备)则执行步骤102,详见后文介绍。
61.步骤102,如果该交换设备不是rpl设备,则直接通过该交换设备的另一端口y向相邻交换设备发送所述sf故障报文。
62.为方便描述,这里将该交换设备的两个端口分别记为端口x和端口y。因此,当端口x所在链路故障时,如果该交换设备不是rpl设备,则无法进行链路保护倒换,此时该交换设备直接通过配置的端口y向相邻交换设备发送所述sf故障报文,保证链路中相邻设备接收到所述sf故障报文。
63.步骤103,如果该交换设备是rpl设备,并且该交换设备的另一端口y为rpl链路主端口,则将该交换设备的两端口状态和erps协议状态进行切换后,通过所述端口y向相邻交换设备发送所述sf故障报文。
64.如果该交换设备是rpl设备,并且该交换设备的端口y就是前面配置的所述rpl链路主端口,此时需要依靠所述rpl设备进行链路保护倒换后再发送所述sf故障报文,具体过程如下:
65.将所述端口x由初始的转发状态切换为阻塞状态,将所述端口y由初始的阻塞状态切换为转发状态;将所述端口x缓存的mac地址转发表清除,由所述端口y根据业务流向重新学习mac地址转发表;将该交换设备的erps协议状态由初始的空闲状态切换为保护状态;如果开启了wtr(wait to restore,即等待恢复)定时器则需要停止所述wtr定时器,同时通过所述端口y向相邻交换设备发送所述sf故障报文;最后根据所述mac地址转发表将业务流由原来的所述端口x倒换到所述端口y,防止业务流数据丢失,如此一来就可以起到链路保护作用。其中,mac地址转发表中保存有实际业务的源mac地址与端口的映射关系,可用于业务流量转发时确定对应的端口号,进而找到对应的端口。
66.如图2所示,在一个具体的实施例中,交换机与三个olt(optical line terminal,即光线路终端)设备组成一个环网链路,但是在整个环网链路中,交换机不配置erps协议的相关端口,也不参与erps协议报文的相关处理,而是由olt1、olt2和olt3三个设备组成一个子环网链路,erps协议运行在子环网链路中。其中,olt1有p1端口和p2端口,olt2有p3端口
和p4端口,olt3有p5端口和p6端口;olt1配置为rpl设备,olt2和olt3为非rpl设备;p1端口为rpl链路主端口,其余各端口均为普通端口。olt1作为rpl设备,其初始状态下的erps协议状态为空闲状态,p1端口作为rpl链路主端口,其初始状态为阻塞状态,其余各端口均为转发状态。基于上述配置,通过在该子环网链路上运行erps协议,当子环网链路上发生故障时,可起到子环网链路上业务保护的作用。具体如下:
67.假设图2中p2端口所在链路发生故障,则当底层驱动检测到p2端口所在链路故障时会通知olt1设备,由olt1产生sf故障报文,并由协议状态机判断当前的olt1是否是rpl设备。如果是非rpl设备则直接通过p1端口发送sf故障报文;如果是rpl设备则需要进行链路保护倒换后再通过p1端口发送sf故障报文。根据图2中的组网场景,p2端口所属的olt1设备是rpl设备,因此当p2端口所在链路发生故障时,会进行以下链路保护倒换操作:将p2端口由转发状态切换为阻塞状态,将p1端口由阻塞状态切换为转发状态;清除p2端口缓存的mac地址转发表,由p1端口根据业务流向重新学习mac地址转发表;如果开启了wtr定时器则需要停止所述wtr定时器;最后业务流会根据mac地址转发表倒换到p1端口,通过p1端口向olt3设备发送sf故障报文,完成链路的业务保护倒换。
68.通过本发明实施例提供的上述子环网链路保护方法,当子环网链路中某个端口所在链路发生故障时,可根据组网配置的当前交换设备的角色进行处理,如果不是rpl设备则直接通过另一端口发送sf故障报文,如果是rpl设备则将当前交换设备的两端口状态和erps协议状态进行切换,再通过另一端口发送sf故障报文,从而完成链路保护倒换。如此一来可在子环网链路上正常运行erps协议,使erps协议在子环网链路上起到完整的业务保护作用;同时在无需新增配置命令和功能开关的前提下,做到与原有现网环境部署相兼容,减少运维成本。
69.实施例2
70.在上述实施例1中,当底层驱动检测到链路故障时,对应的交换设备会生成sf故障报文并向相邻交换设备发送;在此基础上,同样是在链路故障场景中,本发明实施例进一步以接收到所述sf故障报文的交换设备作为当前交换设备,对当前交换设备接收到所述sf故障报文后的操作过程展开介绍。
71.结合图3,在上述实施例1的基础上,所述子环网链路保护方法还包括:
72.步骤201,当前交换设备接收到所述sf故障报文时,通过对所述sf故障报文进行内容解析获取源mac地址和收报文端口号。其中,通过所述收报文端口后可确定所述当前交换设备是通过其哪个端口接收到的所述sf故障报文。
73.步骤202,检查所述源mac地址与所述当前交换设备的mac地址是否一致,如果一致则直接对接收到的所述sf故障报文做丢弃处理,如果不一致则继续判断所述当前交换设备是否为rpl设备;
74.解析报文获取源mac地址和收报文端口号后,所述当前交换设备会检查所述源mac地址与所述当前交换设备的mac地址是否一致。如果所述源mac地址与所述当前交换设备的mac地址一致,表明所述当前设备收到自己发送的sf故障报文,则直接对接收到的所述sf故障报文做丢弃处理;其中,由于当前链路是子环网链路,运行erps协议时不会出现收到自己发送的sf故障报文,此情况主要用于全环网链路场景,在此不做赘述。如果所述源mac地址与所述当前交换设备的mac地址不一致,表明所述当前设备收到子环网链路上其他交换设
备发送的sf故障报文,此时协议状态机需要进一步判断所述当前交换设备是否为rpl设备,以便后续根据设备角色进行相应处理。其中,如果是rpl设备则执行步骤204,如果不是rpl设备则执行步骤203,详见后文介绍。
75.步骤203,如果所述当前交换设备不是rpl设备,则根据解析出的收报文端口号,通过所述当前交换设备的另一端口转发所述sf故障报文。
76.例如,假设将所述当前交换设备的两个端口分别记为端口x’和端口y’,解析出的收报文端口号为x’,那么当所述当前交换设备不是rpl设备时,直接通过端口y’向相邻交换设备转发所述sf故障报文,保证子环网链路上的其他交换设备能收到所述sf故障报文。
77.步骤204,如果所述当前交换设备是rpl设备,则将所述当前交换设备的两端口状态和erps协议状态进行切换后,通过所述当前交换设备的另一端口转发所述sf故障报文。
78.如果所述当前交换设备是rpl设备,并且其另一个端口y’就是前面配置的所述rpl链路主端口,此时需要依靠所述rpl设备进行链路保护倒换后再转发所述sf故障报文,过程与实施例1中类似,具体如下:将所述端口x’由初始的转发状态切换为阻塞状态,将所述端口y’由初始的阻塞状态切换为转发状态;将所述端口x’缓存的mac地址转发表清除,由所述端口y’根据业务流向重新学习mac地址转发表;将所述当前交换设备的erps协议状态由初始的空闲状态切换为保护状态;最后根据新的mac地址转发表将业务流由原来的所述端口x’倒换到所述端口y’,通过所述端口y’向相邻交换设备转发所述sf故障报文,如此一来就可以起到链路保护作用。
79.继续以图2所示的组网场景为例,当p2端口所在链路发生故障时,所述sf故障报文从p1端口发出,olt3的p5端口会收到所述sf故障报文;则olt3通过解析报文内容获取源mac地址和收报文端口号p5,并将解析出的源mac地址与olt3的mac地址比较,发现两者不一致,则进一步判断olt3是否为rpl设备,由于olt3是非rpl设备,因此直接通过p6端口转发所述sf故障报文,以便通知olt3的相邻交换设备;以此类推,如果相邻交换设备运行erps协议,则需要按相同方式进行处理,如果没有运行erps协议,则终止报文处理。
80.通过本发明实施例提供的上述子环网链路保护方法,当子环网链路中某个交换设备接收到sf故障报文时,可根据组网配置的当前交换设备的角色进行处理,如果不是rpl设备则直接通过另一端口转发sf故障报文,如果是rpl设备则将当前交换设备的两端口状态和erps协议状态进行切换,再通过另一端口发送sf故障报文,从而完成链路保护倒换。如此一来可在子环网链路上正常运行erps协议,使erps协议在子环网链路上起到完整的业务保护作用。
81.实施例3
82.在上述实施例1和实施例2的基础上,本发明实施例进一步围绕第二种应用场景(即链路故障恢复)展开,此时故障端口和rpl主链路端口都需要恢复到初始状态,rpl设备的erps协议状态也需要恢复到初始状态。基于上述原则,在子环网链路上运行erps协议时,本发明实施例提供的子环网链路保护方法具体如图4所示,主要包括以下步骤:
83.步骤301,当检测到所述端口x所在链路故障恢复时,所述端口x所属交换设备向所述端口x和所述端口y同时发送所述nr故障恢复报文,并判断该交换设备是否为rpl设备。
84.当子环网链路上的端口x所在链路故障恢复时,可通过底层驱动检测到相应的故障恢复并通知所述端口x所属交换设备,由该交换设备生成nr故障恢复报文并向该交换设
备的两个端口同时发送。由于当前是子环网链路,此时协议状态机需要先检查判断该交换设备是否为rpl设备,以便后续根据设备角色进行相应处理。其中,如果是rpl设备则执行步骤303,如果不是rpl设备则执行步骤302,详见后文介绍。
85.步骤302,如果该交换设备不是rpl设备,则持续发送所述nr故障恢复报文,不做其他处理。
86.步骤303,如果该交换设备是rpl设备,则启动rpl自回切定时任务判断当前链路是否为子环网链路。具体如下:
87.启动所述rpl自回切定时任务,所述rpl自回切定时任务主要用于检查在预设的自回切定时时间内该交换设备接收的erps协议报文,这里主要检查在自回切定时时间内该交换设备是否接收到自身发送的所述nr故障恢复报文。如果该交换设备在所述自回切定时时间内接收到自身发送的所述nr故障恢复报文,则证明当前链路不是子环网链路,而是全环网链路。如果该交换设备在所述自回切定时时间内未接收到自身发送的所述nr故障恢复报文,则证明当前链路是子环网链路。其中,所述nr故障恢复报文通过全环网链路的总时长一般不会超过1秒,因此在具体的实施例中可将所述自回切定时时间设置在3秒左右。
88.步骤304,如果不是子环网链路则停止所述rpl自回切定时任务,如果是子环网链路则进行rpl自回切,以便将该交换设备的两端口状态和erps协议状态切换回初始状态,并通过所述端口x和所述端口y同时发送nr

rb报文。
89.在所述自回切定时时间内,如果该交换设备接收到自身发送的所述nr故障恢复报文,证明当前链路不是子环网链路,而是全环网链路,此时需要停止所述rpl自回切定时任务,并按全环网链路收报文处理流程进行处理,在此不做赘述。进一步地,在所述自回切定时时间内,如果该交换设备接收到其余交换设备发送的nr故障恢复报文或sf故障报文,也需要停止所述rpl自回切定时任务,并根据接收到的erps协议报文类型进行对应处理。其中,如果接收到sf故障报文,具体处理过程可参考实施例1;如果接收到nr故障恢复报文,具体处理过程可参考实施例2。
90.在所述自回切定时时间内,如果该交换设备未接收到自身发送的nr故障恢复报文,证明当前链路是子环网链路,则同样也会存在rpl设备无法收到nr故障恢复报文的情况,导致故障恢复后rpl设备的erps协议状态一直处于保护状态,故障恢复的端口x一直处于阻塞状态。因此,本发明实施例中对于子环网链路新增rpl自回切机制,即链路恢复后将端口状态和erps协议状态等恢复到初始状态,具体过程如下:
91.待所述自回切定时时间到期时,启动wtr定时器进行rpl自回切,以便将所述端口x由阻塞状态还原为初始的转发状态,将所述端口y由转发状态还原为初始的阻塞状态;然后通过所述端口x和所述端口y向两端同时发送nr

rb报文,以便通知子环网链路上的其余交换设备所述rpl链路主端口已恢复阻塞;同时将该交换设备的erps协议状态由保护状态还原为初始的空闲状态,完成故障恢复处理。
92.继续以图2所示的组网场景为例,当底层驱动检测到p2端口所在链路故障恢复时会通知olt1设备,olt1设备产生nr故障恢复报文并向p1端口和p2端口同时发送,此时协议状态机会判断olt1设备是否是rpl设备。如果不是rpl设备则持续发送nr故障恢复报文,不做其他处理;如果是rpl设备则需要进行故障恢复处理。由于此处olt1设备是rpl设备,则olt1设备发送nr故障恢复报文的同时需要启动rpl自回切定时任务,判断当前链路是否为
子环网链路。由于当前链路为子环网链路,自回切任务定时器到期时需要启动wtr定时器进行rpl自回切处理,将p2端口还原为初始的转发状态,将p1端口还原为初始的阻塞状态;然后通过p1端口和p2端口向两端同时发送nr

rb报文,通知子环网链路上的其余交换设备所述rpl链路主端口已恢复阻塞;同时将olt1设备的erps协议状态还原为初始的空闲状态,从而完成故障恢复处理。
93.通过本发明实施例提供的上述子环网链路保护方法,当子环网链路中的链路故障恢复时,可根据组网配置的当前交换设备的角色进行处理,如果不是rpl设备则持续发送nr故障恢复报文,如果是rpl设备且当前链路为子环网链路,则引入rpl自回切机制,将当前交换设备的两端口状态和erps协议状态还原为初始状态,通过两个端口同时发送nr

rb报文,从而完成故障恢复处理。如此一来可在子环网链路上正常运行erps协议,使erps协议在子环网链路上起到完整的业务保护作用;同时在无需新增配置命令和功能开关的前提下,做到与原有现网环境部署相兼容,减少运维成本。
94.实施例4
95.在上述实施例1

实施例3的基础上,本发明实施例进一步提供了一种基于erps协议的子环网链路保护装置,可用于实现实施例1

实施例3中的子环网链路保护方法。
96.结合图5,所述子环网链路保护装置包括对应每个交换设备分别设置的erps协议模块,所述erps协议模块主要包括协议状态机处理模块和协议收发包处理模块,所述协议状态机处理模块和所述协议收发包处理模块分别与底层驱动连接。其中,所述协议状态机处理模块是协议状态机的核心,主要用于控制子环网链路中各交换设备的端口状态;所述协议收发包处理模块主要用于收发erps协议报文,以实现子环网链路中各交换设备之间的报文交互;通过所述协议状态机处理模块和所述协议收发包处理模块的结合,即可实现子环网链路的业务保护倒换功能。
97.其中,所述协议状态机处理模块与所述底层驱动的交互内容主要包括:链路故障或恢复时由所述底层驱动通知到所述协议状态机处理模块,所述协议状态机处理模块通过所述底层驱动来设置端口的转发或阻塞状态;所述协议状态机处理模块与所述协议收发包处理模块的交互内容主要包括:协议状态机变化时的发包处理和收包解析通知协议状态机变化;所述协议收发包处理模块与所述底层驱动的交互内容主要是:erps协议报文的接收与发送需要通过所述底层驱动处理。
98.基于上述子环网链路保护装置,本发明实施例对实施例1

实施例3中的子环网链路保护方法进一步展开介绍。
99.结合图6,在实施例1对应的链路故障场景下,假设子环网链路上的某个端口x所在链路发生故障,子环网链路保护方法具体如下:
100.步骤401,当所述底层驱动检测到端口x所在链路发生故障时,通知所述端口x所属交换设备对应的erps协议模块。
101.步骤402,对应的协议状态机处理模块生成sf故障报文,并判断该交换设备是否为rpl设备。如果该交换设备不是rpl设备,则执行步骤403;如果该交换设备是rpl设备,则执行步骤404和405。
102.步骤403,所述协议状态机处理模块通知所述协议收发包处理模块,由所述协议收发包处理模块通过该交换设备的另一端口y向相邻交换设备发送所述sf故障报文。
103.步骤404,所述协议状态机处理模块将该交换设备的两端口状态和erps协议状态进行切换,即进行链路保护倒换,具体为:将端口x切换为阻塞状态,将端口y切换为转发状态,将端口x缓存的mac地址转发表清除,由端口y根据业务流向重新学习mac地址转发表,将该交换设备的erps协议状态切换为保护状态。
104.步骤405,完成链路保护倒换后,由所述协议收发包处理模块通过另一端口y向相邻交换设备发送所述sf故障报文。
105.结合图7,在实施例2对应的链路故障场景下,子环网链路保护方法具体如下:
106.步骤501,当前交换设备的协议收发包处理模块接收到所述sf故障报文时,通过解析报文内容获取源mac地址和收报文端口号,并发送给当前交换设备的协议状态机处理模块。
107.步骤502,所述协议状态机处理模块检查所述源mac地址与所述当前交换设备的mac地址是否一致;如果一致则执行步骤503;如果不一致则执行步骤504。
108.步骤503,由所述协议收发包处理模块直接对所述sf故障报文做丢弃处理,无需进行报文转发。
109.步骤504,由所述协议状态机处理模块继续判断所述当前交换设备是否为rpl设备。如果是rpl设备,则执行步骤505后再执行步骤506;如果不是rpl设备则直接执行步骤506。
110.步骤505,由所述协议状态机处理模块进行链路保护倒换处理,具体为:将接收到的sf故障报文端口x’切换为阻塞状态,将另一个端口y’切换为转发状态,将端口x’缓存的mac地址转发表清除,由端口y’根据业务流向重新学习mac地址转发表,并将所述当前交换设备的erps协议状态切换为保护状态。
111.步骤506,所述协议收发包处理模块根据解析出的收报文端口号,通过所述当前交换设备的另一端口转发所述sf故障报文。
112.结合图8,在实施例3对应的链路故障恢复场景下,假设子环网链路上的某个端口x所在链路故障恢复,子环网链路保护方法具体如下:
113.步骤601,当底层驱动检测到所述端口x所在链路的故障恢复时,通知所述端口x所属交换设备的erps协议模块。
114.步骤602,对应的协议状态机处理模块向所述端口x和所述端口y同时发送所述nr故障恢复报文。
115.步骤603,所述协议状态机处理模块判断该交换设备是否为rpl设备。如果该交换设备不是rpl设备,则执行步骤604;如果该交换设备是rpl设备,则执行步骤605。
116.步骤604,由所述协议状态机处理模块持续发送所述nr故障恢复报文,不做其他处理。
117.步骤605,所述协议状态机处理模块启动rpl自回切定时任务,判断当前链路是否为子环网链路。如果在自回切定时时间内所述协议收发包处理模块接收到自身设备发送的nr故障恢复报文,证明当前链路不是子环网链路,则执行步骤606;如果在自回切定时时间内所述协议收发包处理模块未接收到自身设备发送的nr故障恢复报文,证明当前链路是子环网链路,则执行步骤607。
118.步骤606,所述协议状态机处理模块停止所述rpl自回切定时任务,按nr故障恢复
报文流程处理。
119.步骤607,所述协议状态机处理模块在自回切任务定时器到期时启动wtr定时器进行rpl自回切,进而将端口x还原为初始的转发状态,将端口y还原为初始的阻塞状态,并通过端口x和端口y向两端同时发送nr

rb报文,以便通知子环网链路上的其余交换设备所述rpl链路主端口已恢复阻塞;同时将该交换设备的erps协议状态还原为初始的空闲状态,完成故障恢复处理。
120.通过本发明实施例提供的上述子环网链路保护装置,当子环网链路中某个端口所在链路发生故障时,协议状态机处理模块可根据组网配置的当前交换设备的角色进行处理,如果是rpl设备则协议状态机处理模块将当前交换设备的两端口状态和erps协议状态进行切换,完成链路保护倒换;当子环网链路中的链路故障恢复时,协议状态机处理模块同样可根据组网配置的当前交换设备的角色进行处理,如果是rpl设备且当前链路为子环网链路,则引入rpl自回切机制,协议状态机处理模块将当前交换设备的两端口状态和erps协议状态还原为初始状态,通过两个端口同时发送nr

rb报文,完成故障恢复处理。如此一来可在子环网链路上正常运行erps协议,使erps协议在子环网链路上起到完整的业务保护作用;同时在无需新增配置命令和功能开关的前提下,做到与原有现网环境部署相兼容,减少运维成本。
121.本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1