一种业务路径故障监控及故障解决的系统和方法
技术领域
本发明具体涉及一种业务路径故障监控及故障解决的系统和方法,属于网络故障分析领域。
背景技术
软件定义网络(SDN,Software Defined Networking)是一种新型网络架构,它使网络的控制平面与实际的物理拓扑结构互相分离,为控制平面提供可编程接口,物理拓扑中的硬件设备不再由各自的软件控制数据包的路由,而是接收来自控制平面的转发规则,并根据这些规则对数据包进行转发。这样,在一定范围内的网络(或称SDN域),由集中统一的控制逻辑单元来对该范围内的网络实施管理,解决了网络中大量的转发设备各自分散独立运行管理的问题,使得网络的设计、部署、运维、管理在一个控制点完成,并消除了底层网络差异性。而集中统一的控制逻辑单元可以为SDN控制器(SDN Controller),也就是说由SDN控制器提供控制平面,对自身管辖的SDN域中的设备进行统一控制和管理。
对于SDN控制器管辖的各设备,需要SDN控制器向各设备发送控制命令来控制设备的转发规则,使得根据SDN控制器指示的转发规则转发的指定业务的数据包在各设备构成的业务路径进行传输,但是该业务路径的整个路径或者部分路径有可能发生故障。当业务路径发生故障时,为了确保指定业务的数据包的正常传输,通常通过预先分配资源的方式,预先为该业务路径的整个路径,或者该业务路径中易出故障的部分路径设置保护路径,但是,使用这种方式浪费资源。在SDN技术中,SDN控制器如何在业务路径发生故障时,能保证业务不受影响以及实时确定业务路径状态是现有技术中亟待解决的问题。
然而,现有技术还没有一套有效、完整的方案解决该问题,但是现如今存在一种业务路径的保护方法、控制器、设备及系统。例如:中国专利申请《一种一种业务路径的保护方法、控制器、设备及系统》(华为技术有限公司.CN103782552A/2014)。
现有技术的缺点:一种业务路径的保护方法、控制器、设备及系统,首先,该发明只是业务路径保护,没有故障监控功能。其次,保护路径在端节点内的转发关系中的至少一种转发关系;当确定业务路径发生故障,保护路径的端节点更新业务路径在端节点内的转发关系,和保护路径在端节点内的转发关系中的至少一种转发关系。意味着SDN控制器需要给业务提前计算2条及2条以上的业务路径,这样浪费了SDN控制器资源,其次,当业务路径发生故障,切换到新的业务路径,该发明不能确保在这时刻新的业务路径是否正常。
发明内容
本发明为了解决现有技术中的上述问题,提出一种网络故障分析的系统和方法,具体提供一种业务路径故障监控及故障解决的系统,其包括一SDN控制器和多个SDN交换机,其中,多个SDN交换机之间相互连接,SDN控制器和SDN交换机之间通过添加的拓展接口交互;所述SDN控制器实现对网络拓扑中的每条链路实时探测和周期探测,并实时监控SDN交换机状态,维护全局的网络拓扑情况,以便监控整个网络,实现网络故障监控及故障解决;
SDN控制器包括:OpenFlow模块、OpenFlow扩展模块、事件模块、拓扑模块、探测模块、拓扑业务路径计算模块;所述探测模块又包括实时探测模块、周期探测模块;
所述OpenFlow模块,用于实现SDN交换机和SDN控制器之间的连接,且满足OpenFlow协议标准;
所述OpenFlow扩展模块,用于扩展OpenFlow协议以实现SDN控制器下发探测报文到SDN交换机、SDN交换机上报探测结果到SDN控制器以及获取SDN交换机基本信息;
所述事件模块,用于监控SDN交换机的状态,当SDN交换机出现故障时,会触发事件,通知拓扑模块,定位问题;
所述拓扑模块,用于SDN控制器保存所有SDN交换机信息、SDN交换机之间链路信息;
所述实时探测模块和周期探测模块,用于实时获取所有链路的相关信息,以得到实时探测报文和周期探测报文;
拓扑业务路径计算模块,用于计算用户业务路径以及当业务路径上的链路出现断开或者延时过长、丢包过大,重新计算用户业务路径;
其中,SDN交换机上传探测报文到SDN控制器,SDN控制器获取探测信息,如果链路的延时、丢包、带宽超过阀值就记录该链路为故障状态;
SDN交换机触发一个DOWN事件给SDN控制器,SDN控制器会记录出现故障的SDN交换机。
优选的,在实时探测报文中需要包括以下参数:源交换机的DPID、出口网口号、出口IP、目的IP、探测的协议、目的端口、发包间隔、探测发包个数以及设置的超时时间;在周期探测报文中需要包括以下参数:源交换机的DPID、出口网口号、出口IP、目的IP、每次探测的周期间隔以及探测发包的个数。
优选的,所述事件模块还用于通知SDN控制器处理SDN交换机UP和SDN交换机DOWN事件,其中,SDN交换机UP事件触发SDN控制器中OpenFlow扩展模块去获取SDN交换机信息,触发SDN控制器中的实时探测模块去获取该SDN交换机到其他SDN交换机链路信息以及设置链路ID;SDN交换机DOWN事件触发SDN控制器中的拓扑业务路径计算模块查询T_TE_GW链表是否有业务加速路径使用到该SDN交换机,如果使用,拓扑业务路径计算模块将自动的调用相应算法重新生成新的业务路径,同时更新T_TE_GW链表。
优选的,所述拓扑业务路径计算模块还维护了一张业务、网关、链路相对应的T_TE_GW链表,链表里面保存着业务流路径上经过的SDN交换机以及相关的链路ID,一旦某条业务上的某个相关SDN交换机或者链路出现故障,该模块将自动的调用相应算法重新生成新的业务,同时更新T_TE_GW链表。
优选的,所述SDN交换机基本信息包括网口号、网口MAC、网口IP。
优选的,实时探测模块和周期探测模块支持ICMP、UDP、DHCP、TCP协议中的任意一种。
还提供一种业务路径故障监控及故障解决的方法,其应用于业务路径故障监控及故障解决的系统,所述系统包括一SDN控制器和多个SDN交换机,其中,多个SDN交换机之间相互连接,SDN控制器和SDN交换机之间通过添加的拓展接口交互;所述SDN控制器实现对网络拓扑中的每条链路实时探测和周期探测,并实时监控SDN交换机状态,维护全局的网络拓扑情况,以便监控整个网络,实现故障监控及故障解决,所述方法包括:
SDN控制器对整个网络下的SDN交换机都下发周期探测,探测的协议包括ICMP、UDP、DHCP、TCP;当所述SDN控制器创建探测报文成功后,SDN交换机就会返回相应的探测结果给SDN控制器,SDN控制器中的拓扑模块首先会做基本的链路筛选,如果该链路延时过大、或者丢包严重超过阀值,该模块就会删除该链路,对于探测结果符合要求的链路,该模块会追加下发一条周期探测策略以及设置链路ID,同时会有一个线程每隔10秒获取相应链路的信息更新在链路表中;
所述方法还包括:通过SDN控制器的OpenFlow扩展模块以及探测模块和SDN交换机交互,实现对SDN全局网络的监控,其中,当出现链路的延时、丢包、带宽超过阀值时,探测报文由SDN交换机上传到SDN控制器,SDN控制器发现该链路的延时或者丢包过大,获取该链路的链路ID,查看SDN控制器的拓扑业务路径计算模块维护的一张业务、网关、链路相对应的T_TE_GW链表,如果该链路ID存在与该表中,表明该链路在用户业务路径上,拓扑业务路径计算模块就会删除该用户业务的原有链路流表和相关信息,但业务的ID保留,同时自动重新调用相关算法计算出新的路径供给给该用户业务,业务ID保持不变。
优选的,所述方法还包括:当SDN交换机出现故障时,SDN交换机会触发一个DOWN事件给SDN控制器,SDN控制器会获取该交换机的DPID,查看SDN控制器的拓扑业务路径计算模块维护的一张业务、网关、链路相对应的T_TE_GW链表,如果该交换机的DPID存在与该表中,就表明该交换机在用户业务路径上,拓扑业务路径计算模块就会删除该业务的原有链路流表和相关信息,但业务的ID保留,同时自动重新调用相关算法计算出新的路径供给给该用户业务,业务ID保持不变。
本发明在网络下对网络链路进行实施和周期探测获取链路信息,当链路或者设备发生故障的时候,可以上报给控制器,控制器会将故障的链路ID或者SDN交换机的DPID在拓扑业务路径计算模块维护的T_TE_GW表中查找,找到的话拓扑业务计算模块会重新计算业务路径下发给交换机。
本发明具有以下明显优点:
1、适应性强
本发明中采用SDN交换机UP事件触发实时探测,通过实时探测去获取SDN交换机之间链路信息。不需要在已知业务的路径下前提下进行,适应性更强。
2、可靠性强
本发明中采用的实时探测和周期探测模块可以探测链路的延时(ms)、丢包率(%)、抖动等信息,不再只是“可达”,“不可达”或“未知”,知晓链路信息更加完整和准确,SDN控制器可以根据探测结果进行用户业务路径计算和链路流量的调度。
3、扩展性强
本发明中事件模块独立出来,当SDN交换机UP的时候,SDN控制器需要添加更多业务的时候,可以在UP事件中直接添加业务功能;当SDN交换机DOWN的时候,SDN控制器需要处理其他情况的时候,可以在DOWN事件中直接添加需要处理的功能。
附图说明
图1是本发明系统图。
图2是本发明业务中链路故障分析及解决图。
图3是本发明SDN交换机断开故障分析流程图。
图4是本发明SDN控制器结构图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
参见图1,图4,系统包括一SDN控制器和多个SDN交换机,其中,多个SDN交换机之间相互连接,SDN控制器和SDN交换机之间通过添加的拓展接口交互;所述SDN控制器实现对网络拓扑中的每条链路实时探测和周期探测,并实时监控SDN交换机状态,维护全局的网络拓扑情况,以便监控整个网络,实现网络故障监控及故障解决。
SDN控制器包括:OpenFlow模块、OpenFlow扩展模块、事件模块、拓扑模块、探测模块、拓扑业务路径计算模块;所述探测模块又包括实时探测模块、周期探测模块。
所述发明中OpenFlow模块实现SDN交换机和SDN控制器之间的连接,流表下发等操作,满足OpenFlow协议标准。
所述发明中OpenFlow扩展模块用于扩展OpenFlow协议实现SDN控制器下发探测报文到SDN交换机以及SDN交换机上报探测结果到SDN控制器以及获取SDN交换机基本信息(网口号、网口MAC、网口IP)。
所述发明中实时探测模块和周期探测模块支持ICMP、UDP、DHCP、TCP等协议中的任意一种,在实时探测报文的中需要制定以下参数:
源交换机的DPID、出口网口号、出口IP,以及目的IP,探测的协议如ICMP,目的端口(仅当method为TCP或UDP时有效),发包间隔,探测发包个数,还可以设置超时时间。
在周期探测报文中需要制定以下参数:
源交换机的DPID、出口网口号、出口IP,以及目的IP,每次探测的周期间隔,以及探测发包的个数。
所述发明中拓扑模块用于控制器保存所有SDN交换机信息、SDN交换机之间链路信息等。
所述发明中拓扑业务路径计算模块用于计算用户业务路径,以及当业务路径上的链路出现断开或者延时、丢包等过大,重新计算用户业务路径。拓扑业务路径计算模块维护了一张业务、网关、链路相对应的T_TE_GW(自定义链表表)链表,里面保存着业务流路径上经过的SDN交换机以及相关的链路ID,这样一旦某条业务上的某个相关SDN交换机或者链路出现故障,如延时超过了阀值或者丢包超过了阀值,又或者是某个网口的网线断掉或交换机宕机,该模块将自动的调用相应算法重新生成新的业务路径,同时更新T_TE_GW链表。该模块可以做到业务路径故障监控及故障解决的方法。
所述发明中事件模块用于SDN控制器处理SDN交换机UP和SDN交换机DOWN事件。
SDN交换机UP事件触发SDN控制器中OpenFlow扩展模块去获取SDN交换机信息;触发SDN控制器中的实时探测模块去获取该SDN交换机到其他SDN交换机链路信息以及设置链路ID。
SDN交换机DOWN事件触发SDN控制器中的拓扑业务路径计算模块查询T_TE_GW链表是否有业务加速路径使用到该SDN交换机,如果使用,拓扑业务路径计算模块将自动的调用相应算法重新生成新的业务路径,同时更新T_TE_GW链表。
核心有两点:
通过SDN控制器的OpenFlow拓展消息模块以及探测模块和SDN交换机交互,实现对SDN全局网络的监控。
通过SDN控制器的拓扑模块、拓扑业务路径计算模块、事件模块做到对用户业务路径故障的解决。
还提供网络业务路径故障监控及故障解决的方法。
参见图1所示,在本发明中SDN控制器会对整个网络下的SDN交换机都下发周期探测。探测的协议不限于ICMP、UDP、DHCP、TCP。当所述的SDN控制器创建探测报文成功后,SDN交换机就会返回相应的探测结果给控制器,控制器中的拓扑管理模块首先会做基本的链路筛选,如果该链路延时过大,或者丢包严重超过阀值,该模块就会删除该链路,对于探测结果符合要求的链路,该模块会追加下发一条周期探测策略以及设置链路ID,同时会有一个线程每隔10秒获取相应链路的信息更新在链路表中。本发明通过这一系列模块间的组合操作,实现对网络全局的监控,为业务故障分析服务。
本发明中,通过SDN控制器的Openflow拓展消息模块以及探测模块和SDN交换机交互,实现对SDN全局网络的监控。有两种情况会被该系统视为故障情况:
1、链路的延时、丢包、带宽等超过阀值。
2、网关宕掉,触发了DOWN事件。
当情况1出现时,流程如图2所示,首先探测报文由SDN交换机上传到控制器,控制器发现该链路的延时或者丢包过大,获取该链路的链路ID,查看控制器的拓扑业务路径计算模块维护的一张业务、网关、链路相对应的T_TE_GW链表,如果该链路ID存在与该表中,表明该链路在用户业务路径上,拓扑业务路径计算模块就会删除该用户业务的原有链路流表和相关信息,但业务的ID保留,同时自动重新调用相关算法计算出新的路径供给给该用户业务,业务ID保持不变。
当情况2出现时,流程如图3所示,首先是该SDN交换机会触发一个DOWN事件给控制器,控制器会获取该交换机的DPID,查看控制器的拓扑业务路径计算模块维护的一张业务、网关、链路相对应的T_TE_GW链表,如果该交换机的DPID存在与该表中,就表明该交换机在用户业务路径上,拓扑业务路径计算模块就会删除该业务的原有链路流表和相关信息,但业务的ID保留,同时自动重新调用相关算法计算出新的路径供给给该用户业务,业务ID保持不变。本发明通过以上措施实现对业务的故障监控和故障解决。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。