本发明涉及通信技术领域,尤其涉及一种网络保护方法及系统、控制器、设备。
背景技术:
软件定义网络(Software Defined Network,SDN)作为一种新型的网络架构,其核心是转发和控制分离,实现网络的集中控制、快捷部署。在SDN架构下,控制平面上移到了SDN控制器,SDN设备按照控制器的指令进行报文转发。
在承载集客专线等业务的SDN网络中,可靠性是衡量网络质量的核心指标之一。网络规模越大、带宽越大,对网络可靠性的要求也就越高。在现有的保护技术中,线性1:1保护技术是最常用的一种保护方式。传统的线性1:1保护技术中,需要建立工作、保护两条路径。工作路径故障后,通过快速检测机制感知故障,切换到保护路径。如果工作路径一直无法恢复,而此时保护路径再发生故障就会无路径可用,进而导致业务中断。
例如,如图1所示,在传统的线性1:1保护技术中,如果保护路径A->C->E出现故障,此时仅上报告警,不做任何处理。如果保护路径A->C->E故障不恢复,而工作路径A->B->E再出现故障,就会导致业务中断。
例如,如图2所示,在传统的线性1:1保护技术中,如果工作路径A->B->E出现故障,会切换到保护路径A->C->E,如果工作路径故障恢复,则根据返回模式和WTR决定是否回切和回切的时间。但是,如果工作路径故障无法恢复,而此时保护路径再出现故障,就会导致业务中断。
随着网络承载量越来越大,一旦发生这种故障,后果将是灾难性的,网络中断对客户的影响是不可估量的。针对业务中断的异常场景,传统网络中1:1线性保护已经无法满足现在网络对可靠性的苛刻要求。
技术实现要素:
有鉴于此,本发明实施例提供了一种网络保护方法及系统、控制器、设备,用以解决现有技术业务中断的问题,提高网络的可靠性。
本发明实施例提供的一种网络保护方法,所述方法包括:
控制器接收所述网络中的设备上报的第一告警信息,确定第一链路发生断纤;其中,所述第一告警信息为所述设备检测到所述第一链路中断时上报的信息;
控制器向所述设备下发带链路诊断机制的链路流表配置,直到接收到所述设备发送的第一反馈信息或在预设时间后接收到所述设备发送的第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;
控制器接收到所述第一反馈信息后,发送用于替换的流表指令,所述流表指令用于控制所述设备用所述第二链路替换所述第一链路、移除所述第一链路、以及将所述第二链路添加进该当前设备上的原保护组中。
由本发明实施例提供的网络保护方法,该方法中控制器在确定第一链路发生断纤后,向设备下发带链路诊断机制的链路流表配置,设备根据接收到的链路流表配置创建第二链路,控制器接收到第一反馈信息后,发送用于替换的流表指令,流表指令用于控制设备用第二链路替换第一链路、移除第一链路、以及将第二链路添加进该当前设备上的原保护组中,这样本发明实施例保证了任何时刻都存在两条路径,能够解决现有技术业务中断的问题,提高网络的可靠性。
较佳地,所述第一链路为所述网络中的保护链路或工作链路;
当所述第一链路为保护链路时,所述第二链路为所述设备根据接收到的所述链路流表配置创建的新的保护链路;
当所述第一链路为工作链路时,所述第二链路为所述设备根据接收到的所述链路流表配置创建的新的工作链路。
较佳地,若所述第一链路为工作链路,所述控制器接收所述网络中的设备上报的第一告警信息之后,所述确定第一链路发生断纤之前,该方法还包括:
所述控制器发送链路倒换信息给所述设备,控制所述设备将当前业务切换至保护链路。
较佳地,所述移除所述第一链路,包括:
控制所述设备删除当前设备上的所述第一链路上的链路诊断机制;
控制所述设备删除当前设备上的所述第一链路上的流表和组表。
较佳地,所述控制器接收所述网络中的设备上报的第一告警信息,确定第一链路发生断纤,包括:
控制器接收到所述设备上报的第一告警信息后,启动定时器,记录所述第一链路故障时间;
若在所述定时器的定时时间内,所述控制器没有接收到所述设备发送的链路故障消失的告警信息,则确定第一链路发生断纤。
本发明实施例还提供了一种网络保护方法,所述方法包括:
网络中的设备检测到第一链路中断时发出告警信息,并将所述告警信息上报给控制器;
设备接收所述控制器下发的带链路诊断机制的链路流表配置,根据该链路流表配置创建第二链路,并向所述控制器上报第一反馈信息或第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;
设备接收所述控制器发送的用于替换的流表指令,根据所述流表指令用所述第二链路替换所述第一链路、移除所述第一链路,以及将所述第二链路添加进该当前设备上的原保护组中;所述流表指令为所述控制器接收到所述第一反馈信息后发送的指令。
较佳地,所述第一链路为所述网络中的保护链路或工作链路;
当所述第一链路为保护链路时,所述第二链路为所述设备根据接收到的所述链路流表配置创建的新的保护链路;
当所述第一链路为工作链路时,所述第二链路为所述设备根据接收到的所述链路流表配置创建的新的工作链路。
较佳地,若所述第一链路为工作链路,所述将所述告警信息上报给控制器之后,设备接收所述控制器下发的带链路诊断机制的链路流表配置之前,该方法还包括:
所述设备接收控制器发送的链路倒换信息,根据该链路倒换信息将当前业务切换至保护链路。
较佳地,所述根据所述流表指令用所述第二链路替换所述第一链路,包括:根据所述流表指令修改多协议标签交换快速失效保护组表;
当所述第一链路为保护链路时,所述修改多协议标签交换快速失效保护组表,包括:
将多协议标签交换快速失效保护组表中的保护路径bucket修改为指向所述第二链路的组表;
当所述第一链路为工作链路时,所述修改多协议标签交换快速失效保护组表,包括:
将多协议标签交换快速失效保护组表中的工作路径bucket修改为指向所述第二链路的组表。
较佳地,所述移除所述第一链路,包括:
所述设备将所述第一链路上的流表置为立即老化,并建立一个可周期性唤醒的任务,周期性的更新流表状态并执行老化操作,当该设备检测到有老化流时,完成所述第一链路的移除,并发送事件通知信息给所述控制器。
本发明实施例还提供了一种控制器,所述控制器包括:
网络状态确定模块,用于接收所述网络中的设备上报的第一告警信息,确定第一链路发生断纤;其中,所述第一告警信息为所述设备检测到所述第一链路中断时上报的信息;
链路创建控制模块,用于向所述设备下发带链路诊断机制的链路流表配置,直到接收到所述设备发送的第一反馈信息或在预设时间后接收到所述设备发送的第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;
链路移除控制模块,用于接收到所述第一反馈信息后,发送用于替换的流表指令,所述流表指令用于控制所述设备用所述第二链路替换所述第一链路、移除所述第一链路、以及将所述第二链路添加进该当前设备上的原保护组中。
较佳地,所述第一链路为所述网络中的保护链路或工作链路;
当所述第一链路为保护链路时,所述第二链路为所述设备根据接收到的所述链路流表配置创建的新的保护链路;
当所述第一链路为工作链路时,所述第二链路为所述设备根据接收到的所述链路流表配置创建的新的工作链路。
较佳地,若所述第一链路为工作链路,所述网络状态确定模块在接收所述网络中的设备上报的第一告警信息之后,确定第一链路发生断纤之前,还用于发送链路倒换信息给所述设备,控制所述设备将当前业务切换至保护链路。
较佳地,所述链路移除控制模块具体用于,发送用于替换的流表指令,控制所述设备删除当前设备上的所述第一链路上的链路诊断机制,以及控制所述设备删除当前设备上的所述第一链路上的流表和组表。
较佳地,所述网络状态确定模块具体用于,接收到所述设备上报的第一告警信息后,启动定时器,记录所述第一链路故障时间;若在所述定时器的定时时间内,没有接收到所述设备发送的链路故障消失的告警信息,则确定第一链路发生断纤。
本发明实施例还提供了一种设备,所述设备包括:
告警信息上报模块,用于检测到第一链路中断时发出告警信息,并将所述告警信息上报给控制器;
链路创建模块,用于接收所述控制器下发的带链路诊断机制的链路流表配置,根据该链路流表配置创建第二链路,并向所述控制器上报第一反馈信息或第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;
链路替换模块,用于接收所述控制器发送的用于替换的流表指令,根据所述流表指令用所述第二链路替换所述第一链路、移除所述第一链路,以及将所述第二链路添加进该当前设备上的原保护组中;所述流表指令为所述控制器接收到所述第一反馈信息后发送的指令。
较佳地,所述第一链路为所述网络中的保护链路或工作链路;
当所述第一链路为保护链路时,所述第二链路为所述设备根据接收到的所述链路流表配置创建的新的保护链路;
当所述第一链路为工作链路时,所述第二链路为所述设备根据接收到的所述链路流表配置创建的新的工作链路。
较佳地,若所述第一链路为工作链路,所述告警信息上报模块在将所述告警信息上报给控制器之后,所述链路创建模块在接收所述控制器下发的带链路诊断机制的链路流表配置之前,所述告警信息上报模块还用于接收控制器发送的链路倒换信息,根据该链路倒换信息将当前业务切换至保护链路。
较佳地,所述链路替换模块具体用于根据所述流表指令修改多协议标签交换快速失效保护组表;
当所述第一链路为保护链路时,所述修改多协议标签交换快速失效保护组表,包括:
将多协议标签交换快速失效保护组表中的保护路径bucket修改为指向所述第二链路的组表;
当所述第一链路为工作链路时,所述修改多协议标签交换快速失效保护组表,包括:
将多协议标签交换快速失效保护组表中的工作路径bucket修改为指向所述第二链路的组表。
较佳地,所述链路替换模块具体用于,将所述第一链路上的流表置为立即老化,并建立一个可周期性唤醒的任务,周期性的更新流表状态并执行老化操作,当检测到有老化流时,完成所述第一链路的移除,并发送事件通知信息给所述控制器。
本发明实施例还提供了一种网络保护系统,包括控制器和若干与所述控制器连接的设备;
所述控制器,用于接收所述网络中的设备上报的第一告警信息,确定第一链路发生断纤;其中,所述第一告警信息为所述设备检测到所述第一链路中断时上报的信息;以及
用于向所述设备下发带链路诊断机制的链路流表配置,直到接收到所述设备发送的第一反馈信息或在预设时间后接收到所述设备发送的第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;以及
用于接收到所述第一反馈信息后,发送用于替换的流表指令,所述流表指令用于控制所述设备用所述第二链路替换所述第一链路、移除所述第一链路、以及将所述第二链路添加进该当前设备上的原保护组中;
所述设备,用于检测到第一链路中断时发出告警信息,并将所述告警信息上报给控制器;以及
用于接收所述控制器下发的带链路诊断机制的链路流表配置,根据该链路流表配置创建第二链路,并向所述控制器上报第一反馈信息或第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;以及
用于接收所述控制器发送的用于替换的流表指令,根据所述流表指令用所述第二链路替换所述第一链路、移除所述第一链路,以及将所述第二链路添加进该当前设备上的原保护组中;所述流表指令为所述控制器接收到所述第一反馈信息后发送的指令。
附图说明
图1为现有技术保护路径故障示意图;
图2为现有技术工作路径故障示意图;
图3为SDN网络拓扑图;
图4为本发明实施例提供的一种网络保护方法流程图;
图5为本发明实施例提供的另一种网络保护方法流程图;
图6为本发明实施例一提供的保护路径故障后,新建保护路径示意图;
图7为本发明实施例一提供的新建保护路径工作流程图;
图8为本发明实施例一提供的新建保护路径提取方向流表组成;
图9为本发明实施例一提供的新建保护路径终结方向流表组成;
图10为本发明实施例二提供的工作路径故障后,新建工作路径示意图;
图11为本发明实施例二提供的新建工作路径工作流程图;
图12为本发明实施例二提供的新建工作路径提取方向流表组成;
图13为本发明实施例二提供的新建工作路径终结方向流表组成;
图14为本发明实施例提供的一种控制器的结构框图;
图15为本发明实施例提供的一种设备的结构框图;
图16为本发明实施例提供的一种网络保护系统结构框图。
具体实施方式
本发明实施例提供了一种网络保护方法及系统、控制器、设备,用以解决现有技术业务中断的问题,提高网络的可靠性。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明具体实施例仅在SDN的架构下进行了说明和验证,但其所阐述的保护模型和技术思路在传统的网络上同样适用。
SDN架构下的SDN网络拓扑图如图3所示,SDN控制器通过管理网络控制SDN设备,图3中的SDN设备包括设备A、设备B、设备C、设备D和设备E,SDN控制器通过SDN南向接口对各个设备进行业务配置。
OpenFlow协议是业内最早、最常用的SDN南向接口协议,但SDN并不限定南向接口必须是OpenFlow,标准的OpenFlow1.3.4协议无法满足支持1:1保护业务的需求,如:无法配置OAM、双向转发检测(Bidirectional Forwarding Detection,BFD)等链路诊断机制,需要其它的南向接口配合完成,常用的是netconf协议,通过OpenFlow协议和netconf协议共同来进行多协议标签交换(Multi-Protocol Label Switching,MPLS)基本业务、OAM和保护相关的配置。
如图4所示,本发明具体实施例提供了一种网络保护方法,该方法包括:
S401、控制器接收所述网络中的设备上报的第一告警信息,确定第一链路发生断纤;其中,所述第一告警信息为所述设备检测到所述第一链路中断时上报的信息;
S402、控制器向所述设备下发带链路诊断机制的链路流表配置,直到接收到所述设备发送的第一反馈信息或在预设时间后接收到所述设备发送的第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;
S403、控制器接收到所述第一反馈信息后,发送用于替换的流表指令,所述流表指令用于控制所述设备用所述第二链路替换所述第一链路、移除所述第一链路、以及将所述第二链路添加进该当前设备上的原保护组中。
如图5所示,本发明具体实施例还提供了另一种网络保护方法,包括:
S501、网络中的设备检测到第一链路中断时发出告警信息,并将所述告警信息上报给控制器;
S502、设备接收所述控制器下发的带链路诊断机制的链路流表配置,根据该链路流表配置创建第二链路,并向所述控制器上报第一反馈信息或第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;
S503、设备接收所述控制器发送的用于替换的流表指令,根据所述流表指令用所述第二链路替换所述第一链路、移除所述第一链路,以及将所述第二链路添加进该当前设备上的原保护组中;所述流表指令为所述控制器接收到所述第一反馈信息后发送的指令。
具体地,本发明具体实施例中的第一链路为保护链路或工作链路;当第一链路为保护链路时,第二链路为设备根据接收到的链路流表配置创建的新的保护链路;当第一链路为工作链路时,第二链路为设备根据接收到的链路流表配置创建的新的工作链路。
下面结合附图及具体的实施例介绍第一链路分别为保护链路和工作链路时的情况。
实施例一:
本发明具体实施例一中的第一链路为保护链路。
本发明具体实施例业务基本配置步骤如下:
步骤1:SDN设备和SDN控制器建立好OpenFlow协议和netconf协议连接,各个设备上报自身的资源信息,上报的资源信息包括流表、组表、YANG等;
步骤2:SDN控制器和SDN设备完成连接后,SDN控制器通过OpenFlow协议定义的packet out和packet in消息发送和接收LLDP报文,以完成SDN设备的物理拓扑连接关系;LLDP报文转发与现有技术相同,这里不再赘述;
步骤3:SDN控制器通过OpenFlow协议定义的流表、组表在设备A上配置以太网业务提取,把以太网报文封装为MPLS报文;SDN控制器统管全网的标签资源,给每条路径分配标签;
步骤4:SDN控制器通过流表、组表配置设备B和设备C作为中间P节点进行MPLS标签交换;
步骤5:SDN控制器配置设备E为MPLS业务终结节点,终结MPLS报文,解封装为原始以太网报文;
步骤6:SDN控制器通过netconf协议配置MPLS-TP OAM、BFD和保护等OpenFlow协议无法配置的资源,在设备A和设备E上创建工作路径和保护路径,同时在两条路径上进行OAM(或BFD)相关配置(3.3ms CC等)。由于电信级网络需要满足50ms的倒换时间,因此CC报文不能像之前的LLDP报文一样由packet out/in消息来传递,只能由设备根据SDN控制器配置的OAM(或BFD)信息自身组包发送和接收,以满足性能的要求。
经过以上业务基本配置步骤,SDN控制器已经完成了基本的MPLS业务和OAM(或BFD)、保护配置,图6中A->B->E为工作路径,A->C->E为保护路径。在上述的配置完成后,SDN设备在工作路径和保护路径上都在运行着链路诊断机制OAM(或BFD),利用OAM(或BFD),SDN控制器同时监测着工作路径和保护路径的故障情况。
如图6所示,保护链路A->C->E为本发明具体实施例的第一链路,保护链路A->D->E为本发明具体实施例设备创建的第二链路,当保护链路A->C->E出现故障后,设备A和设备E都会检测到保护链路A->C->E路径上的链路中断告警信息,并把该告警信息通过netconf上报给控制器。
控制器掌控着全网的拓扑结构和资源,发现保护链路A->C->E失效后,立即响应,在预设时间内没有收到设备上报的链路故障消失告警,则判断链路为故障链路,此时通过OpenFlow协议和netconf协议向设备下发带链路诊断机制的链路流表配置,设备根据该链路流表配置创建带链路诊断机制的保护链路A->D->E,保护链路A->D->E的具体创建过程参见上述业务基本配置步骤。
如图6和图7所示,对于设备A,当保护链路A->C->E发生断纤时,设备A检测到该故障,由于业务此时还运行在工作链路,所以此时不需要执行保护倒换。当保护链路的故障时间超过一个阈值FailTime(用户可以根据实际情况配置FailTime)时,控制器则重新规划并创建带链路诊断机制的保护链路A->D->E,将保护链路A->D->E的流表和组表信息同时下发至设备E,在设备D上配置相应的标签交换规则。
具体实施时,如图7所示,本发明具体实施例控制器接收到设备上报的第一告警信息,确定第一链路发生断纤,包括:控制器接收到设备上报的第一告警信息后,启动定时器,记录保护链路A->C->E故障时间;若在定时器的定时时间(FailTime)内,控制器没有接收到设备发送的链路故障消失的告警信息,则确定保护链路A->C->E发生断纤。通过该步骤,若保护链路A->C->E在设定的时间内故障恢复,则控制器无需向设备下发带链路诊断机制的链路流表配置,不需要创建新的保护链路,能够节省资源的配置。
图7中的控制器创建带OAM的新的保护链路中的创建,是指控制器确定新的保护链路的流表配置,并将该流表配置发送给设备,设备按照流表参数执行相应的动作,完成最终的创建。
本发明具体实施例通过保护链路A->D->E上的链路诊断机制判断保护链路A->D->E是否可用,当保护链路A->D->E可用时,向控制器上报第一反馈信息,控制器接收到第一反馈信息后,发送用于替换的流表指令给设备A和设备E,设备A和设备E分别根据接收到的流表指令修改多协议标签交换快速失效保护组表(mpls fast failover group),用保护链路A->D->E替换保护链路A->C->E。
当保护链路A->D->E不可用时,向控制器上报第二告警信息,控制器再次向设备下发带链路诊断机制的链路流表配置,设备接收到链路流表配置后重新创建带链路诊断机制的保护链路A->D->E,直到重新创建的时间大于预设时间(TryMax),则向用户反馈失败返回错误码后结束,这样能够避免进入不断查找新路径的死循环中,当尝试的新建时间超过TryMax时,控制器不再尝试新建保护链路,认为此时网络环境较差,需要进行必要的人工干预。
具体地,本发明具体实施例设备A和设备E根据流表指令修改多协议标签交换快速失效保护组表,包括:将多协议标签交换快速失效保护组表中的保护路径标签修改为指向保护链路A->D->E的组表。
具体实施时,如图8所示,在设备A和设备E上修改mpls fast failover group的protector path bucket指向新建立的保护链路A->D->E组表,如图中的虚线箭头位置所示。图8表示最终设备上流表和组表的分布情况,图中虚线框中的框图指设备上的组表,其它部分是流表和物理端口,各个框图都是openflow中的标准组件,每一个模块完成一定的功能,多个模块的组合实现一条业务的配置,比如vlan这个模块是负责对客户业务流进行提取的,可以配置基于vlan的业务提取,mpls l22vpn。
具体地,本发明具体实施例移除保护链路A->C->E,包括:首先,控制设备删除保护链路A->C->E上的链路诊断机制;接着,控制设备删除保护链路A->C->E上的流表和组表。
具体实施时,如图9所示,本发明具体实施例移除保护链路A->C->E,包括:在终结方向由控制器向设备A和设备E下发创建业务终结相关的流表(包括VLAN Table、Termination MAC Table和MPLS Flow Table),图中上半部分流表为新建立的流表,虚线框中是原来的流表和组表,新建流表使用和原来流表相同的tunnel id,告知设备A和设备E是对原流表的替换操作。
具体实施时,如图9所示,当提取和终结方向新的流表创建完成后,由设备A和设备E将原来老的流表置为立即老化,并建立一个可周期性唤醒的任务,本发明具体实施例中的周期可以采用1秒(s),周期性的更新流表状态并执行老化操作。当检测到有老化的流时,向控制器发送事件通知信息,并删除本地原来老的流表,实现标签等资源的回收。
这样,本发明具体实施例保证了任何时刻都存在两条路径,保证了网络的可靠性。
实施例二:
本发明具体实施例二中的第一链路为工作链路。
如图10所示,工作链路A->B->E为本发明具体实施例的第一链路,工作链路A->D->E为本发明具体实施例设备创建的第二链路,当工作链路A->B->E出现故障后,设备A和设备E都会检测到工作链路A->B->E路径上的链路中断告警信息,并把该告警信息通过netconf上报给控制器,同时业务会立即切换到保护链路A->C->E,并将路径倒换状态通过netconf上报给控制器,控制器重新分配资源,向设备下发带链路诊断机制的链路流表配置,设备根据该链路流表配置创建一条新的工作链路A->D->E,之后,控制器控制设备删除故障的工作链路A->B->E,释放相关资源。
如图10和图11所示,对于设备A,当工作链路A->B->E发生断纤时,设备A检测到该故障,设备接收控制器发送的链路倒换信息,设备中的MPLS Fast Failover组表会将业务流倒向由protector group bucket指向的组表流出设备A。当工作链路的故障时间超过一个阈值FailTime(用户可以根据实际情况配置FailTime)时,控制器则重新规划并创建带链路诊断机制的工作链路A->D->E,并将工作链路A->D->E的流表和组表信息同时下发至设备E,在设备D上配置相应的标签交换规则。
具体地,如图11所示,本发明具体实施例控制器接收到设备上报的第一告警信息,确定第一链路发生断纤,包括:
控制器接收到设备上报的第一告警信息后,启动定时器,记录工作链路A->B->E故障时间;
检查定时器时间和工作链路A->B->E状态,若工作链路A->B->E的故障时间大于预设时间(FailTime),则控制器判定当前链路故障严重,需要建立新的工作链路。即工作链路A->B->E在预设时间(FailTime)内恢复正常,则直接结束,否则,控制器创建带链路诊断机制的工作链路A->D->E。
图11中的控制器创建带OAM的新的工作链路中的创建,是指控制器确定新的工作链路的流表配置,并将该流表配置发送给设备,设备按照流表参数执行相应的动作,完成最终的创建。
具体地,本发明具体实施例设备A和设备E根据接收到的流表指令修改多协议标签交换快速失效保护组表,用工作链路A->D->E替换工作链路A->B->E。具体包括:将多协议标签交换快速失效保护组表中的工作路径标签修改为指向工作链路A->D->E的组表。具体实施时,如图12所示,在设备A和设备E上修改mpls fast failover group的worker path bucket指向新建立的工作链路A->D->E组表,如图中的虚线箭头位置所示。
具体地,本发明具体实施例移除工作链路A->B->E,包括:首先,控制设备删除工作链路A->B->E上的链路诊断机制;接着,控制设备删除工作链路A->B->E上的流表和组表。
具体实施时,如图13所示,本发明具体实施例移除工作链路A->B->E,包括:在终结方向由控制器向设备A和设备E下发创建业务终结相关的流表(包括VLAN Table、Termination MAC Table和MPLS Flow Table),图中上半部分流表为新建立的流表,虚线框中是原来的流表和组表,新建流表使用和原来流表相同的tunnel id,告知设备A和设备E是对原流表的替换操作。
具体实施时,如图13所示,当提取和终结方向新的流表创建完成后,由设备A和设备E将原来老的流表置为立即老化,并建立一个可周期性唤醒的任务,周期性的更新流表状态并执行老化操作。当检测到有老化的流时,向控制器发送事件通知信息,并删除本地原来老的流表,实现标签等资源的回收。
这样,本发明具体实施例保证了任何时刻都存在两条路径,保证了网络的可靠性。
因此,本发明具体实施例在传统PTN、IPRAN网络中1:1线性保护技术基础上,基于SDN架构实现了一种SDN网络中的“永久保护”方案,通过SDN设备和控制器的协同配合,在任何时刻都保证业务有工作、保护两个路径,最大限度的保证了路径失效导致的业务中断,这也体现出SDN网络较传统网络的优势。
相比传统的保护技术,“永久保护”方案使传统PTN、IPRAN等网络的可靠性得到了大大的提升。同时,在SDN架构下,原本需要运行在设备上的复杂控制平面上移到控制器,大大简化了设备复杂度,优化了设备的性能,同时也进一步提高了设备稳定性。
如图14所示,本发明具体实施例还提供了一种控制器,该控制器包括:
网络状态确定模块141,用于接收所述网络中的设备上报的第一告警信息,确定第一链路发生断纤;其中,所述第一告警信息为所述设备检测到所述第一链路中断时上报的信息;
链路创建控制模块142,用于向所述设备下发带链路诊断机制的链路流表配置,直到接收到所述设备发送的第一反馈信息或在预设时间后接收到所述设备发送的第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;
链路移除控制模块143,用于接收到所述第一反馈信息后,发送用于替换的流表指令,所述流表指令用于控制所述设备用所述第二链路替换所述第一链路、移除所述第一链路、以及将所述第二链路添加进该当前设备上的原保护组中。
具体地,本发明具体实施例第一链路为网络中的保护链路或工作链路;当第一链路为保护链路时,第二链路为设备根据接收到的链路流表配置创建的新的保护链路;当第一链路为工作链路时,第二链路为设备根据接收到的链路流表配置创建的新的工作链路。
具体地,本发明具体实施例若第一链路为工作链路,网络状态确定模块141在接收所述网络中的设备上报的第一告警信息之后,确定第一链路发生断纤之前,还用于发送链路倒换信息给所述设备,控制所述设备将当前业务切换至保护链路。
具体地,本发明具体实施例链路移除控制模块143具体用于,发送用于替换的流表指令,控制所述设备删除当前设备上的所述第一链路上的链路诊断机制,以及控制所述设备删除当前设备上的所述第一链路上的流表和组表。
具体地,本发明具体实施例网络状态确定模块141具体用于,接收到设备上报的第一告警信息后,启动定时器,记录第一链路故障时间;若在定时器的定时时间内,没有接收到设备发送的链路故障消失的告警信息,则确定第一链路发生断纤。
如图15所示,本发明具体实施例还提供了一种设备,该设备包括:
告警信息上报模块151,用于检测到第一链路中断时发出告警信息,并将所述告警信息上报给控制器;
链路创建模块152,用于接收所述控制器下发的带链路诊断机制的链路流表配置,根据该链路流表配置创建第二链路,并向所述控制器上报第一反馈信息或第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;
链路替换模块153,用于接收所述控制器发送的用于替换的流表指令,根据所述流表指令用所述第二链路替换所述第一链路、移除所述第一链路,以及将所述第二链路添加进该当前设备上的原保护组中;所述流表指令为所述控制器接收到所述第一反馈信息后发送的指令。
具体地,本发明具体实施例若所述第一链路为工作链路,告警信息上报模块在将告警信息上报给控制器之后,链路创建模块在接收控制器下发的带链路诊断机制的链路流表配置之前,告警信息上报模块还用于接收控制器发送的链路倒换信息,根据该链路倒换信息将当前业务切换至保护链路。
具体地,本发明具体实施例链路替换模块具体用于根据流表指令修改多协议标签交换快速失效保护组表;当第一链路为保护链路时,修改多协议标签交换快速失效保护组表,包括:将多协议标签交换快速失效保护组表中的保护路径bucket修改为指向第二链路的组表;当第一链路为工作链路时,修改多协议标签交换快速失效保护组表,包括:将多协议标签交换快速失败组表中的工作路径bucket修改为指向第二链路的组表。
具体地,本发明具体实施例链路替换模块152具体用于,将第一链路上的流表置为立即老化,并建立一个可周期性唤醒的任务,周期性的更新流表状态并执行老化操作,当检测到有老化流时,完成所述第一链路的移除,并发送事件通知信息给控制器。
如图16所示,本发明具体实施例还提供了一种网络保护系统,包括控制器161和若干与控制器连接的设备162;
控制器161,用于收所述网络中的设备上报的第一告警信息,确定第一链路发生断纤;其中,所述第一告警信息为所述设备检测到所述第一链路中断时上报的信息;以及
用于向所述设备下发带链路诊断机制的链路流表配置,直到接收到所述设备发送的第一反馈信息或在预设时间后接收到所述设备发送的第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;以及
用于接收到所述第一反馈信息后,发送用于替换的流表指令,所述流表指令用于控制所述设备用所述第二链路替换所述第一链路、移除所述第一链路、以及将所述第二链路添加进该当前设备上的原保护组中;
设备162,用于检测到第一链路中断时发出告警信息,并将所述告警信息上报给控制器;以及
用于接收所述控制器下发的带链路诊断机制的链路流表配置,根据该链路流表配置创建第二链路,并向所述控制器上报第一反馈信息或第二告警信息;所述第一反馈信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路可用的信息;;所述第二告警信息为所述设备根据接收到的所述链路流表配置创建第二链路后上报给所述控制器,并由所述控制器确定出所述第二链路不可用的信息;以及
用于接收所述控制器发送的用于替换的流表指令,根据所述流表指令用所述第二链路替换所述第一链路、移除所述第一链路,以及将所述第二链路添加进该当前设备上的原保护组中;所述流表指令为所述控制器接收到所述第一反馈信息后发送的指令。
综上所述,本发明具体实施例提供一种网络保护方法,包括:控制器接收网络中的设备上报的第一告警信息,确定第一链路发生断纤;其中,第一告警信息为设备检测到第一链路中断时上报的信息;控制器向设备下发带链路诊断机制的链路流表配置,直到接收到设备发送的第一反馈信息或在预设时间后接收到设备发送的第二告警信息;第一反馈信息为设备根据接收到的链路流表配置创建第二链路后上报给控制器,并由控制器确定出第二链路可用的信息;第二告警信息为设备根据接收到的链路流表配置创建第二链路后上报给控制器,并由控制器确定出第二链路不可用的信息;控制器接收到第一反馈信息后,发送用于替换的流表指令,流表指令用于控制设备用第二链路替换第一链路、移除第一链路、以及将第二链路添加进该当前设备上的原保护组中。本发明具体实施例控制器在确定第一链路发生断纤后,向设备下发带链路诊断机制的链路流表配置,设备根据接收到的链路流表配置创建第二链路,控制器接收到第一反馈信息后,发送用于替换的流表指令,流表指令用于控制设备用第二链路替换第一链路、移除第一链路、以及将第二链路添加进该当前设备上的原保护组中,这样本发明具体实施例保证了任何时刻都存在两条路径,能够解决现有技术业务中断的问题,提高网络的可靠性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。