本发明涉及网络通信技术,尤其涉及一种线性保护组的维护方法及装置。
背景技术:
PTN(Packet Transport Network,分组传送网)线性保护为网络拓扑规划一条主用通信链路(简称:主用链路)和一条备用通信路径(简称:备用链路),采用两条链路保护客户传输的业务。如图1所示的网络拓扑中,在设备1(device1)和设备6上配置线性保护组,预设以下链路为主用链路:设备1–设备2–设备3–设备6,预设以下链路为备用链路:设备1–设备4–设备5–设备6;通常情况,初始状态时默认在主用链路上传输承载的业务,后续会按照G.8131协议或者G.8031协议,响应链路故障信息和网管管理者的操作命令进行业务传输路径的选择。由于PTN线性保护简单快捷,在现实网络中获得了广泛应用。
然而,在保护组的主用链路的拓扑更新时,需要预先将保护组强制切换(FS,Force Switch)在备用链路上,按照G.8131协议或者G.8031协议,此时保护组仍可响应用户对保护组的操作和备用链路的故障信息,容易干扰主用链路的拓扑更新过程。而且,在发生网络故障,进行问题定位时,需排除线性保护组的影响时,也没有方便的维护手段。
技术实现要素:
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种线性保护组的维护方法及装置,实现快捷有效的网络管理。
本发明实施例提供一种线性保护组的维护方法,应用于网络管理系统,包括:
在检测到网络中线性保护组关联的链路存在拓扑更新后,如果所述链路为线性保护组的主用链路,则向配置所述线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后所述线性保护组进入保护组备用挂起态;如果所述链路为线性保护组的备用链路,则向配置所述线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后所述线性保护组进入保护组主用挂起态;
更新所述线性保护组关联的链路的配置信息;
其中,所述线性保护组处于保护组主用挂起态或者保护组备用挂起态时,配置所述线性保护组的设备固定在主用链路或备用链路进行业务传输、不响应主用链路和备用链路的故障和恢复消息、不响应线性保护标准协议定义的用户操作、不发送和接收APS协议报文。
其中,所述更新所述线性保护组关联的链路的配置信息之后,所述维护方法还可以包括:向配置所述线性保护组的设备下发重启保护组命令,使得所述设备执行重启保护组命令之后所述线性保护组恢复到挂起前的状态。
其中,所述在检测到线性保护组关联的链路存在拓扑更新后,向配置所述线性保护组的设备下发挂起保护组到备用命令或者挂起保护组到主用命令之前,所述维护方法还可以包括:
提示用户是否更新所述线性保护组关联的存在拓扑更新的链路的配置信息;
在接收到用户的确认指令后,向配置所述线性保护组的设备下发挂起保护组到备用命令或者挂起保护组到主用命令。
其中,所述维护方法还可以包括:通过如下方式检测网络中线性保护组关联的链路是否存在拓扑更新:
接收网络中每个设备上报的邻居信息,利用所述邻居信息构建网络中每条链路的拓扑数据;将本次新构建的每条链路的拓扑数据,与拓扑信息数据库中存储的最近一次所构建的每条链路的拓扑数据进行比较,以确定最近一次所构建的每条链路中发生拓扑变更的目标设备;根据所述目标设备在未发生拓扑变更时上报的邻居信息,检索隧道配置数据库,得到最近一次所构建的链路中使用所述目标设备的隧道,作为待更新隧道;使用所述待更新隧道检索保护组配置数据库,以确认所述待更新隧道是否关联线性保护组;如果是,则检测到所述线性保护组关联的待更新隧道所在的链路存在拓扑更新;
所述更新所述线性保护组关联的链路的配置信息,可以包括:删除所述线性保护组关联的待更新隧道上每个设备的隧道配置数据;利用本次新构建的拓扑数据,向所述线性保护组关联的待更新隧道上每个设备下发设备对应的隧道配置数据。
其中,所述维护方法还可以包括:在检测到网络发生故障后,向配置所述线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后所述线性保护组进入保护组主用挂起态,或者,向配置所述线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后所述线性保护组进入保护组备用挂起态。
其中,所述在检测到网络发生故障后,向配置所述线性保护组的设备下发挂起保护组到主用命令或者挂起保护组到备用命令之后,所述维护方法还可以包括:
在定位网络故障之后,向配置所述线性保护组的设备下发重启保护组命令,使得所述设备执行重启保护组命令之后所述线性保护组恢复到挂起前的状态。
其中,所述维护方法还可以包括:在进行线性保护组网部署时,如果线性保护组的备用链路未连通,则向配置所述线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后所述线性保护组进入保护组主用挂起态;或者,如果线性保护组的主用链路未连通,则向配置所述线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后所述线性保护组进入保护组备用挂起态。
本发明实施例还提供一种线性保护组的维护装置,应用于网络管理系统,包括:检测模块、第一处理模块以及更新模块,
其中,所述第一处理模块,用于在所述检测模块检测到网络中线性保护组关联的链路存在拓扑更新后,如果所述链路为线性保护组的主用链路,则向配置所述线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后所述线性保护组进入保护组备用挂起态;如果所述链路为线性保护组的备用链路,则向配置所述线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后所述线性保护组进入保护组主用挂起态;所述更新模块,用于更新所述线性保护组关联的链路的配置信息;
其中,所述线性保护组处于保护组主用挂起态或者保护组备用挂起态时,配置所述线性保护组的设备固定在主用链路或备用链路进行业务传输、不响应主用链路和备用链路的故障和恢复消息、不响应线性保护标准协议定义的用户操作、不发送和接收APS协议报文。
其中,所述维护装置还可以包括:第二处理模块,用于在所述更新模块更新所述线性保护组关联的链路的配置信息之后,向配置所述线性保护组的设备下发重启保护组命令,使得所述设备执行重启保护组命令之后所述线性保护组恢复到挂起前的状态。
其中,所述维护装置还可以包括:第三处理模块,用于在所述检测模块检测到线性保护组关联的链路存在拓扑更新后,在所述第一处理模块向配置所述线性保护组的设备下发挂起保护组到备用命令或者挂起保护组到主用命令之前,提示用户是否更新所述线性保护组关联的存在拓扑更新的链路的配置信息;在接收到用户的确认指令后,指示所述第一处理模块向配置所述线性保护组的设备下发挂起保护组到备用命令或者挂起保护组到主用命令。
其中,所述检测模块,可以用于通过如下方式检测网络中线性保护组关联的链路是否存在拓扑更新:
接收网络中每个设备上报的邻居信息,利用所述邻居信息构建网络中每条链路的拓扑数据;将本次新构建的每条链路的拓扑数据,与拓扑信息数据库中存储的最近一次所构建的每条链路的拓扑数据进行比较,以确定最近一次所构建的每条链路中发生拓扑变更的目标设备;根据所述目标设备在未发生拓扑变更时上报的邻居信息,检索隧道配置数据库,得到最近一次所构建的链路中使用所述目标设备的隧道,作为待更新隧道;使用所述待更新隧道检索保护组配置数据库,以确认所述待更新隧道是否关联线性保护组;如果是,则检测到所述线性保护组关联的待更新隧道所在的链路存在拓扑更新;
所述更新模块,可以用于通过以下方式更新所述线性保护组关联的链路的配置信息:删除所述线性保护组关联的待更新隧道上每个设备的隧道配置数据;利用本次新构建的拓扑数据,向所述线性保护组关联的待更新隧道上每个设备下发设备对应的隧道配置数据。
其中,所述维护装置还可以包括:第四处理模块,用于在所述检测模块检测到网络发生故障后,向配置所述线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后所述线性保护组进入保护组主用挂起态,或者,向配置所述线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后所述线性保护组进入保护组备用挂起态。
其中,所述维护装置还可以包括:第五处理模块,用于在所述第四处理模块向配置所述线性保护组的设备下发挂起保护组到主用命令或者挂起保护组到备用命令之后,在定位网络故障之后,向配置所述线性保护组的设备下发重启保护组命令,使得所述设备执行重启保护组命令之后所述线性保护组恢复到挂起前的状态。
其中,所述维护装置还可以包括:第六处理模块,用于在进行线性保护组网部署时,如果线性保护组的备用链路未连通,则向配置所述线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后所述线性保护组进入保护组主用挂起态;或者,如果线性保护组的主用链路未连通,则向配置所述线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后所述线性保护组进入保护组备用挂起态。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的线性保护组的维护方法。
在本发明实施例中,在检测到网络中线性保护组关联的链路存在拓扑更新后,如果所述链路为线性保护组的主用链路,则向配置所述线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后线性保护组进入保护组备用挂起态;如果所述链路为线性保护组的备用链路时,则向配置所述线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后线性保护组进入保护组主用挂起态;更新线性保护组关联的链路的配置信息。如此,实现方便地禁止和使能线性保护组的机制,又不影响链路承载业务的正常传输,避免线路保护组的链路更新过程的干扰问题。
进一步地,在本发明实施例中,通过在网络故障定位过程以及线性保护组网部署过程,禁止线性保护组的机制,避免了网络故障定位以及线性保护组网部署过程中线性保护组的影响。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为一种网络拓扑中PTN线性保护的示意图;
图2为本发明实施例中的线性保护组的维护状态转移图;
图3为本发明实施例一提供的线性保护组的维护方法的流程图;
图4为本发明实施例一的应用示意图一;
图5为本发明实施例一的应用示意图二;
图6为本发明实施例一的应用示意图三;
图7为本发明实施例一的应用示意图四;
图8为本发明实施例一的应用示意图五;
图9为本发明实施例二提供的线性保护组的维护装置的示意图。
具体实施方式
以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面先对本申请提及的保护组主用挂起态以及保护组备用挂起态进行说明。下面以G.8131协议为例进行说明,G.8031协议同样适用。
在本申请中,在G.8131协议定义的标准状态机的基础上,增加“保护组主用挂起态”和“保护组备用挂起态”,以及“挂起保护组到主用”命令、“挂起保护组到备用”命令和“重启保护组”命令。
参见图2和表1,在G.8131标准状态机的基础上执行“挂起保护组到主用”命令进入“保护组主用挂起态”;在G.8131标准状态机的基础上执行“挂起保护组到备用”命令进入“保护组备用挂起态”;即,处在G.8131原有状态机的任意状态,均可通过执行“挂起保护组到主用”命令进入“保护组主用挂起态”,或者,通过执行“挂起保护组到备用”命令进入“保护组备用挂起态”。在“保护组主用挂起态”或者“保护组备用挂起态”时,执行“重启保护组”命令可恢复到挂起前的状态,即可以回到G.8131标准状态机中的状态,可以获取主备链路的最新状态、主用或备用挂起之前记录的保护组操作,并按照G.8131标准更新状态机。
在线性保护组处于“保护组主用挂起态”或者“保护组备用挂起态”时,将固定在挂起命令选定的主用或备用链路上进行业务传输,不响应主备链路的故障和恢复消息,不响应G.8131协议定义的用户操作,不发送和接收APS(Automatic Protection Switching,自动保护倒换)协议报文。
新增的“保护组主用挂起态”和“保护组备用挂起态”可通告网络管理者,此时,线性保护组处于维护状态,业务在选定的链路上固定进行传输,不响应主备用链路的故障和恢复消息;网络管理者此时可以进行保护组主备用链路的拓扑更新,可以在定位问题时排除线性保护组的影响,无条件将业务固定在主用或备用链路上传输,不进行APS协议报文的发送和接收响应,在保障承载业务连通性的前提下达到未配置保护组的效果;在网络操作界面上可以将“保护组主用挂起态”或“保护组备用挂起态”进行通告,以告知网络管理者目前线性保护组选定传输业务的链路;处在“保护组主用挂起态”或者“保护组备用挂起态”的线性保护组,不会向网络管理者上报线性保护组定义的各类告警事件。
表1
本申请通过新增的两个状态和三个命令,便于网络管理人员快捷有效地管理网络,并且支持在G.8131或者G.8031协议定义的线性保护场景的应用。
实施例一
本实施例提供一种线性保护组的维护方法,应用于网络管理系统,用于协助网络管理人员快捷有效地管理网络。网络管理系统可以用于管理一种网络中的每个设备,网络管理系统可以和网络中的每个设备连接,接收每个设备上报的信息,并向相应设备下发对应的信息,比如,向配置线性保护组的设备下发保护组挂起命令或重启命令,或者,向待更新隧道上的设备下发更新后的隧道配置数据。典型的,网络管理系统所管理的网络为MPLS-TP(Multiprotocol Label Switching-Transport Profile,多协议标签交换传送应用)网络。
如图3所示,本实施例提供的线性保护组的维护方法包括以下步骤:
步骤301:在检测到网络中线性保护组关联的链路存在拓扑更新后,如果所述链路为线性保护组的主用链路,则向配置线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后线性保护组进入保护组备用挂起态;如果所述链路为线性保护组的备用链路,则向配置线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后线性保护组进入保护组主用挂起态;
步骤302:更新线性保护组关联的链路的配置信息。
其中,线性保护组处于保护组主用挂起态或者保护组备用挂起态时,配置线性保护组的设备固定在主用链路或备用链路进行业务传输、不响应主用链路和备用链路的故障和恢复消息、不响应线性保护标准协议(比如G.8131协议或者G.8031协议)定义的用户操作、不发送和接收APS协议报文。
其中,在步骤302之后,本实施例的维护方法还可以包括:向配置线性保护组的设备下发重启保护组命令,使得所述设备执行重启保护组命令之后线性保护组恢复到挂起前的状态。
一些实现方式中,在进行现实应用网络的改造时,通过采用LSP(Label Switched Path,标签交换通道)修改更新操作可实现对已有业务配置数据的保护;但是,对单条链路的LSP进行更新,将不可避免出现业务中断的情况,为解决单条链路更新时的业务中断问题,可在LSP线性保护存在的场景下进行LSP的修改更新操作。在线性保护组挂起状态(比如保护组主用挂起态或者保护组备用挂起态)中进行线性保护组所用链路的LSP更新,可以避免链路更新时产生的非预期保护切换动作,更好地保障LSP的拓扑更新。
下面参照图4说明主用链路LSP更新和备用链路LSP更新的过程。
如图4(a)所示,主用链路LSP更新过程包括以下步骤:
步骤401a:网络管理系统向配置线性保护组的设备下发挂起保护组到备用命令,配置线性保护组的设备执行挂起保护组到备用命令,使得线性保护组进入保护组备用挂起态;
步骤402a:网络管理系统执行主用链路LSP的修改更新,以及进行关联模块的回调更新通知;
步骤403a:网络管理系统向配置线性保护组的设备下发重启保护组命令,配置线性保护组的设备执行重启保护组命令,使得线性保护组恢复到挂起前的状态。
如图4(b)所示,备用链路LSP更新过程包括以下步骤:
步骤401b:网络管理系统向配置线性保护组的设备下发挂起保护组到主用命令,配置线性保护组的设备执行挂起保护组到主用命令,使得线性保护组进入保护组主用挂起态;
步骤402b:网络管理系统执行备用链路LSP的修改更新,以及进行关联模块的回调更新通知;
步骤403b:网络管理系统向配置线性保护组的设备下发重启保护组命令,配置线性保护组的设备执行重启保护组命令,使得线性保护组恢复到挂起前的状态。
一些实现方式中,在检测到线性保护组关联的链路存在拓扑更新后,网络管理系统向配置线性保护组的设备下发挂起保护组到备用命令或者挂起保护组到主用命令之前,本实施例的维护方法还可以包括:
提示用户是否更新线性保护组关联的存在拓扑更新的链路的配置信息;
在接收到用户的确认指令后,向配置线性保护组的设备下发挂起保护组到备用命令或者挂起保护组到主用命令。
一些实现方式中,可采用智能的自动化拓扑变更检测和链路配置更新实现本实施例的维护方法。比如,网络管理系统使用LLDP(Link Layer Discovery Protocol,链路层发现协议)协议或自定义协议,定时采集所管理的网络中每个设备的网络管理信息,其中,网络管理信息可以包括设备的网络协议(IP,Internet Protocol)地址、介质访问控制(MAC,Medium Access Control)地址、与其他设备的连接端口和虚拟局域网(VLAN,Virtual Local Area Network)等属性信息,进而据此来构建当前网络的网络拓扑连接,并监测所构建的网络拓扑连接是否发生变更。
下面参照图5对本实施例的维护方法进行举例说明。如图5所示,本实施例的维护方法可以包括以下步骤:
步骤501:网络管理系统采用LLDP自动拓扑发现协议或者自定义协议监测到网络拓扑连接发生变更;
其中,网络施工人员可以移动设备位置、增加或删除设备来变更网络拓扑,比如,网络施工人员将网络链路断开,增添新设备后恢复网络连接;
步骤502:网络管理系统触发告警通知网络管理者发生网络拓扑变更;
步骤503:网络管理系统询问网络管理者是否更新链路的配置信息;
若网络管理者确认更新,则执行智能拓扑配置更新操作,包括步骤504至步骤506;若网络管理者确认不进行更新,则可以返回步骤502;
步骤504:网络管理系统判断拓扑变更链路是否存在线性保护组,若存在,则执行步骤505,若不存在,则执行步骤506;
步骤505:在拓扑变更链路存在线性保护组时,网络管理系统执行线性保护组所在拓扑变更链路的智能拓扑配置更新操作,即可以根据拓扑变更链路在线性保护组中的角色(该链路是主用链路还是备用链路),向配置线性保护组的设备下发挂起保护组到主用命令,或者下发挂起保护组到备用命令,并将原有链路的配置信息删除,根据新拓扑创建链路配置信息;其中,配置线性保护组的设备执行挂起保护组到主用命令之后,线性保护组进入保护组主用挂起态,或者,执行挂起保护组到备用命令之后,线性保护组进入保护组备用挂起态;然后,在链路配置信息更新之后,网络管理系统下发重启保护组命令,使得配置线性保护组的设备执行重启保护组命令后线性保护组恢复到挂起前的状态。
步骤506:如果拓扑变更链路不存在线性保护组,则网络管理系统直接删除原有链路配置信息,根据新拓扑更新链路配置信息。
在其他实现方式中,在步骤501中,还可以确定拓扑变更链路与线性保护组的关系,之后,在步骤503中提示网络管理者是否更新线性保护组所用链路的配置信息,在网络管理者确认进行更新时,直接进入步骤505,在网络管理者确认不进行更新时,可以返回步骤502。
通过上述方式可有效减少网络管理者的工作量,避免了人工配置网络链路过程引入的错误,可实现智能的网络管理维护。
一些实现方式中,可以采用更为自动化的方式,在网络管理系统上预先将拓扑更新配置为自动更新模式。
一些实现方式中,本实施例提供的维护方法还可以包括:
通过如下方式检测网络中线性保护组关联的链路是否存在拓扑更新:
接收网络中每个设备上报的邻居信息,利用邻居信息构建网络中每条链路的拓扑数据;
将本次新构建的每条链路的拓扑数据,与拓扑信息数据库中存储的最近一次所构建的每条链路的拓扑数据进行比较,以确定最近一次所构建的每条链路中发生拓扑变更的目标设备;
根据目标设备在未发生拓扑变更时上报的邻居信息,检索隧道配置数据库,得到最近一次所构建的链路中使用目标设备的隧道,作为待更新隧道;
使用待更新隧道检索保护组配置数据库,以确认待更新隧道是否关联线性保护组;如果是,则检测到线性保护组关联的待更新隧道所在的链路存在拓扑更新。
在本实现方式中,更新线性保护组关联的链路的配置信息,可以包括:删除线性保护组关联的待更新隧道上每个设备的隧道配置数据;利用本次新构建的拓扑数据,向线性保护组关联的待更新隧道上每个设备下发设备对应的隧道配置数据。
在本实现方式中,网络中的每个设备可以采用LLDP协议、或其他拓扑发现协议、或自定义协议,周期性通过邻居发现报文检索本设备的邻居信息,并将其上报给网络管理系统。其中,邻居信息以四元组的格式呈现,包括以下内容:current_device_i(本地设备标识)、current_port_m i(本地设备连接远端设备的端口)、remote_device_j i(连接的远端设备标识)、remote_port_m i(远端设备连接本地设备的端口)。其中,任一台设备的设备标识可以采用MAC地址、设备IP地址等可唯一标识该台设备的信息。
网络管理系统收到网络中的每个设备上报的邻居信息后,根据所收到的邻居信息构造每条链路的拓扑数据,比如,在图6中,没有新增设备7时,主用链路的拓扑数据为拓扑0:设备1(端口1)—(端口1)设备2(端口2)—(端口2)设备3(端口1)—(端口1)设备6;其中,链路的拓扑数据描述了设备之间的连接关系以及涉及的端口。
网络管理系统访问拓扑信息数据库;如果拓扑信息数据库的内容为空,则将本次构造的拓扑数据存储至拓扑信息数据库中;否则,比较本次构建的每条链路的拓扑数据与拓扑信息数据库中存储的最近一次所构建的每条链路的拓扑数据;利用比较结果,一方面可以更新拓扑信息数据库中待更新链路的拓扑数据,另一方面,可以确定待更新链路的拓扑中拓扑要发生变更的设备,将确定的设备作为目标设备,即确定最近一次所构建的每条链路中发生拓扑变更的目标设备。
在本实现方式中,可在网络管理系统初始化时,将拓扑信息数据库的内容设置为空。若网络拓扑发生变更,网络管理系统接收到部分设备上报的邻居信息会相应发生变更,从而构造出新的链路拓扑数据。
比如,在图6中,若在设备2和设备3中新增一台设备7,网络管理系统根据收到的变更后的邻居信息,可以构造主用链路的拓扑数据为拓扑1:设备(端口1)—(端口1)设备2(端口2)—(端口2)设备7(端口1)—(端口2)设备3(端口1)—(端口1)设备6。
网络管理系统比较拓扑1和拓扑0,可知拓扑0中设备2和设备3之间的拓扑发生变更,即增加了一台设备7,设备2和设备3均使用原有端口(端口2)与设备7连接。拓扑1为新拓扑,拓扑0为待更新链路的拓扑,设备2和设备3为待更新链路的拓扑中拓扑发生变更的两台设备(即前述的目标设备)。
在本实现方式中,网络管理系统可以根据所确定的目标设备在拓扑未发生变更时上报的四元组邻居信息,检索隧道配置数据库,得到所有使用目标设备的隧道,作为待更新隧道;逐一使用待更新隧道检索保护组配置数据库,确定待更新隧道与线性保护组的关系,即确认待更新隧道为未关联保护组的隧道、关联保护组主用链路的隧道或关联保护组备用链路的隧道。
其中,隧道配置数据可以包括:隧道标识(ID)、设备ID、隧道名字、入端口、上一跳设备MAC、下一跳设备IP、入标签、入VLAN ID、出端口、下一跳设备MAC、下一跳设备IP、出标签、出VLAN ID。
检索隧道配置数据库的过程可以为:遍历隧道数据库,使用上报拓扑变更的设备的设备ID、四元组邻居信息(包括:current_port_m i(本地设备连接远端设备的端口)、remote_device_j i(连接的远端设备标识,可为MAC或IP))与隧道配置数据库内的配置数据“设备ID、入端口、上一跳设备IP或MAC”或“设备ID、出端口、下一跳设备IP或MAC”进行匹配。若匹配到,则该隧道为待更新隧道,记录待更新隧道ID。
其中,保护组配置数据库可以包括以下数据:保护组ID、保护组名字、保护组类型、主用隧道ID、备用隧道ID。
本实现方式中,在获得所有待更新隧道的ID后,遍历保护组配置数据库中的数据,与保护组的“主用隧道ID”和“备用隧道ID”进行比较,根据比较结果,确定隧道为非保护组所用隧道、保护组主用隧道或者保护组备用隧道。
需要说明的是,一条链路可以包含一个或多个隧道。比如,在图6中,主用链路包含的隧道包括此链路上任两个设备之间的隧道,比如,设备1和设备2之间的隧道、设备1至设备3的隧道等。如果线性保护组关联了一条隧道,那么线性保护组与该隧道所在的链路彼此也具备关联关系。
若待更新隧道为未关联保护组的隧道,则网络管理系统可以直接执行隧道配置更新操作;其中,隧道更新操作可以包括:删除待更新链路的拓扑下待更新隧道上每个设备的隧道配置数据;根据更新后的链路的拓扑数据,给待更新隧道上的每个设备下发其对应的隧道配置数据。
若待更新隧道为关联保护组主用链路的隧道,则网络管理系统可以下发保护组备用挂起命令,使得待更新隧道上的配置有线性保护组的两台设备执行挂起保护组到备用命令,线性保护组进入保护组备用挂起态;再执行隧道更新操作;之后下发重启保护组命令,使得待更新隧道上的配置有线性保护组的两台设备执行重启保护组命令,取消保护组挂起,使得状态机恢复到挂起前的状态。
若待更新隧道为关联保护组备用链路的隧道,则网络管理系统可以下发保护组主用挂起命令,使得待更新隧道上的配置有线性保护组的两台设备执行挂起保护组到主用命令,线性保护组进入保护组主用挂起态;再执行隧道更新操作;之后下发重启保护组命令,使得待更新隧道上的配置有线性保护组的两台设备执行重启保护组命令,取消保护组挂起,使得状态机恢复到挂起前的状态。
一些实现方式中,本实施例的维护方法还可以包括:在检测到网络发生故障后,向配置线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后线性保护组进入保护组主用挂起态,或者,向配置线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后线性保护组进入保护组备用挂起态。
在本实现方式中,在检测到网络发生故障后,向配置线性保护组的设备下发挂起保护组到主用命令或者挂起保护组到备用命令之后,本实施例的维护方法还可以包括:
在定位网络故障之后,向配置线性保护组的设备下发重启保护组命令,使得所述设备执行重启保护组命令之后线性保护组恢复到挂起前的状态。
下面参照图7对本实现方式的维护方法进行举例说明。如图7所示,本实现方式中的维护方法可以包括以下步骤:
步骤701:在发生网络故障后,进行问题定位时,如需排除线性保护组的影响,网络管理系统可下发“挂起保护组到主用”命令或者“挂起保护组到备用”命令;通过在设备上执行“挂起保护组到主用”命令,使得线性保护组进入“保护组主用挂起态”,或者执行“挂起保护组到备用”命令,使得线性保护组进入“保护组备用挂起态”;
步骤702:进行网络问题定位;其中,在问题定位确认之前,停止线性保护组的机制,不响应主备链路的故障和恢复消息,不发送和接收APS报文;
步骤703:定位确认问题之后,业务转发正常,则网络管理系统可下发重启保护组命令,通过在设备上执行线性保护组的重新启动,使得线性保护组恢复到挂起前的状态,重新启用线性保护组的保护机制。
上述实现方式可以用于定位链路故障触发的问题和网络管理类报文收发的问题。
一些实现方式中,本实施例的维护方法还可以包括:在进行线性保护组网部署时,如果线性保护组的备用链路未连通,则向配置线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后线性保护组进入保护组主用挂起态;或者,如果线性保护组的主用链路未连通,则向配置线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后线性保护组进入保护组备用挂起态。
一些实现方式中,在应用线性保护组进行网络部署和业务开通时,网络设备部署位置分散、通信线路的开通情况各异,前期仅有一条通信链路打通,规划的另外一条链路将隔一段时间才可打通。此时,仅有一条链路可用于业务传输,线性保护组的切换机制没有使用的需求;在链路误报故障或用户误操作触发的保护切换还将致使业务中断,此时,可采用“挂起保护组到主用或备用”命令将线性保护组指定挂起在连通的主用或备用链路进行业务传输;直至另外的一条链路打通之后,再通过“重启保护组”命令使得线性保护组恢复到挂起前的状态,以启用G.8131定义的线性保护组切换机制。
如图8所示,设备3和设备6之间的链路短期内无法连通,规划设备1和设备6之间建立线性保护组1,其中,设备1-设备2-设备3-设备6为主用链路,设备1-设备4-设备5-设备5为备用链路;设备4和设备6之间建立线性保护组2,其中,设备4-设备5-设备6为主用链路;为了保证承载业务的连通,可以将线性保护组1挂起到备用链路,将线性保护组2挂起到主用链路。
需要说明的是,本实施例以G.8131应用场景为例进行说明,同样地,本实施例的维护方法也适用于G.8031定义的线性保护应用场景中。
综上所述,本实施例通过新增的两个状态和三个命令,可以便捷地维护(禁止或使能)线性保护组,从而实现主备链路更新、网络故障定位以及线性保护组网部署,避免上述过程中线性保护组的影响。
实施例二
基于与本发明实施例提供的一种线性保护组的维护方法相同的发明构思,本发明实施例还提供了一种线性保护组的维护装置,如图9所示,应用于网络管理系统,包括:
检测模块901、第一处理模块902以及更新模块903,
其中,第一处理模块902,用于在检测模块901检测到网络中线性保护组关联的链路存在拓扑更新后,如果所述链路为线性保护组的主用链路,则向配置线性保护组的设备下发执行挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后线性保护组进入保护组备用挂起态;如果所述链路为线性保护组的备用链路,则向配置线性保护组的设备下发执行挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后线性保护组进入保护组主用挂起态;
更新模块903,用于更新线性保护组关联的链路的配置信息;
其中,线性保护组处于保护组主用挂起态或者保护组备用挂起态时,配置线性保护组的设备固定在主用链路或备用链路进行业务传输、不响应主用链路和备用链路的故障和恢复消息、不响应线性保护标准协议(比如G.8031或者G.8131协议)定义的用户操作、不发送和接收APS协议报文。
一些实现方式中,本实施例的维护装置还可以包括:第二处理模块904,用于在更新模块903更新线性保护组关联的链路的配置信息之后,向配置线性保护组的设备下发重启保护组命令,使得所述设备执行重启保护组命令之后线性保护组恢复到挂起前的状态。
一些实现方式中,本实施例的维护装置还可以包括:第三处理模块905,用于在检测模块901检测到线性保护组关联的链路存在拓扑更新后,在第一处理模块902执行挂起保护组到备用命令或者挂起保护组到主用命令之前,提示用户是否更新线性保护组关联的存在拓扑更新的链路的配置信息;在接收到用户的确认指令后,指示第一处理模块902向配置线性保护组的设备下发挂起保护组到备用命令或者挂起保护组到主用命令。
一些实现方式中,检测模块901,用于通过如下方式检测网络中线性保护组关联的链路是否存在拓扑更新:
接收网络中每个设备上报的邻居信息,利用邻居信息构建网络中每条链路的拓扑数据;
将本次新构建的每条链路的拓扑数据,与拓扑信息数据库中存储的最近一次所构建的每条链路的拓扑数据进行比较,以确定最近一次所构建的每条链路中发生拓扑变更的目标设备;
根据目标设备在未发生拓扑变更时上报的邻居信息,检索隧道配置数据库,得到最近一次所构建的链路中使用所述目标设备的隧道,作为待更新隧道;
使用待更新隧道检索保护组配置数据库,以确认待更新隧道是否关联线性保护组;如果是,则检测到线性保护组关联的待更新隧道所在的链路存在拓扑更新;
更新模块903,可以用于通过以下方式更新线性保护组关联的链路的配置信息:删除线性保护组关联的待更新隧道上每个设备的隧道配置数据;利用本次新构建的拓扑数据,向线性保护组关联的待更新隧道上每个设备下发设备对应的隧道配置数据。
一些实现方式中,本实施例的维护装置还可以包括:第四处理模块906,用于在检测模块901检测到网络发生故障后,向配置线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后线性保护组进入保护组主用挂起态,或者,向配置线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后线性保护组进入保护组备用挂起态。
一些实现方式中,本实施例的维护装置还可以包括:第五处理模块907,用于在第四处理模块906向配置线性保护组的设备下发挂起保护组到主用命令或者挂起保护组到备用命令之后,在定位网络故障之后,向配置线性保护组的设备下发重启保护组命令,使得所述设备执行重启保护组命令之后线性保护组恢复到挂起前的状态。
一些实现方式中,本实施例的维护装置还可以包括:第六处理模块908,用于在进行线性保护组网部署时,如果线性保护组的备用链路未连通,则向配置线性保护组的设备下发挂起保护组到主用命令,使得所述设备执行挂起保护组到主用命令之后线性保护组进入保护组主用挂起态;或者,如果线性保护组的主用链路未连通,则向配置线性保护组的设备下发挂起保护组到备用命令,使得所述设备执行挂起保护组到备用命令之后线性保护组进入保护组备用挂起态。
关于本实施例提供的线性保护组的维护装置的相关处理流程可以参照实施例一的描述,故于此不再赘述。
此外,本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述线性保护组的维护方法。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本申请不限制于任何特定形式的硬件和软件的结合。
以上显示和描述了本申请的基本原理和主要特征和本申请的优点。本申请不受上述实施例的限制,上述实施例和说明书中描述的只是说明本申请的原理,在不脱离本申请精神和范围的前提下,本申请还会有各种变化和改进,这些变化和改进都落入要求保护的本申请范围内。