首页> 中国专利> 一种基于探测的服务功能链的故障诊断方法及系统

一种基于探测的服务功能链的故障诊断方法及系统

摘要

本发明实施例提供了一种基于探测的服务功能链的故障诊断方法及系统,其中方法包括:获取虚拟网络的网络拓扑图;在网络拓扑图中,根据服务功能节点的入度和出度,确定至少一个探测起始节点;通过多个探测起始节点遍历网络拓扑图,生成多条探测路径;通过探测起始节点,分别向多条探测路径发送主动探测包,得到主动探测包的探测结果;根据主动探测包的探测结果,诊断多条探测路径中的故障探测路径及SFC中的故障SFC。本发明实施例的基于探测的服务功能链的故障诊断方法及系统,能够以较小的探测流量探测整个网络,从而降低网络带宽的占用程度。并且通过主动探测包中的时间戳判断SFC中的服务功能节点及逻辑链路的时延,使诊断结果更准确。

著录项

  • 公开/公告号CN106452930A

    专利类型发明专利

  • 公开/公告日2017-02-22

    原文格式PDF

  • 申请/专利权人 北京邮电大学;

    申请/专利号CN201611168022.4

  • 申请日2016-12-16

  • 分类号H04L12/24(20060101);H04L12/26(20060101);

  • 代理机构北京柏杉松知识产权代理事务所(普通合伙);

  • 代理人马敬;项京

  • 地址 100876 北京市海淀区西土城路10号

  • 入库时间 2023-06-19 01:41:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-26

    授权

    授权

  • 2017-03-22

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20161216

    实质审查的生效

  • 2017-02-22

    公开

    公开

说明书

技术领域

本发明涉及网络通信技术领域,特别是涉及一种基于探测的服务功能链的故障诊断方法及系统。

背景技术

NFV(Network Function Virtualization,网络功能虚拟化)是一种利用虚拟化技术将网络节点的功能分割成多个功能区块,并分别以软件方式实现网络节点功能的技术。通过NFV技术,可以在虚拟网络中形成多个服务功能节点,再经虚拟链路动态地连接虚拟网络中各服务功能节点,便组成了SFC(Service Function Chain,服务功能链)。SFC分为单向SFC和双向SFC,其中,单向SFC是指,只允许流量从起始端到终止端的SFC;双向SFC是指,既允许流量从起始端到终止端,也允许流量反向发送的SFC。为了保证SFC的有向性,往往需要复杂的网络配置,而复杂的网络配置会增加服务可用性故障发生的可能性。

SFC中的常见故障包括服务可用性故障和服务功能质量退化故障。其中,服务可用性故障,是指虚拟网络的功能区块无法提供服务,导致到达的数据包直接被系统丢弃;服务功能质量退化故障,是指虚拟网络的功能区块处理数据包的时延增加,导致数据包处理速度缓慢。

现有的SFC故障诊断方法,通过建立物理节点和虚拟节点之间的关系模型,直接向SFC发送探测包,再基于探测包的探测结果进行故障定位。

但是,由于一个虚拟网络中的多条SFC之间存在重叠的服务功能节点和虚拟链路,当向SFC发送探测包时,不可避免地出现重复对服务功能节点和虚拟链路进行故障定位,导致网络带宽的占用程度增加。

发明内容

本发明实施例的目的在于提供一种基于探测的服务功能链的故障诊断方法及系统,以解决现有SFC故障诊断方法导致对网络带宽的占用程度增加的问题。具体技术方案如下:

一种基于探测的服务功能链的故障诊断方法,应用于基于网络功能虚拟化NFV技术的虚拟网络,包括:

获取所述虚拟网络的网络拓扑图,所述网络拓扑图包含所述虚拟网络的服务功能节点、所述服务功能节点之间的逻辑链路以及由所述服务功能节点和所述逻辑链路组成的服务功能链SFC,所述网络拓扑图为包括所述SFC的方向的有向图;

在所述网络拓扑图中,根据所述服务功能节点的入度和出度,确定至少一个探测起始节点,其中,所述探测起始节点属于所述服务功能节点;

通过所述多个探测起始节点遍历所述网络拓扑图,生成多条探测路径,其中,所述多个探测起始节点与所述多条探测路径一一对应,以使所述多条探测路径中的各条探测路径之间没有重复的逻辑链路;

通过所述探测起始节点,分别向所述多条探测路径发送主动探测包,得到所述主动探测包的探测结果;

根据所述主动探测包的探测结果,诊断所述多条探测路径中的故障探测路径及所述SFC中的故障SFC。

优选地,所述根据所述主动探测包的探测结果,诊断所述多条探测路径中的故障探测路径及所述SFC中的故障SFC,包括:

根据所述主动探测包的探测结果,分别诊断所述多条探测路径中的故障探测路径为可用性故障探测路径或质量退化故障探测路径,包含所述可用性故障探测路径或质量退化故障探测路径的SFC为故障SFC。

优选地,所述在所述网络拓扑图中,根据所述服务功能节点的入度和出度,确定至少一个探测起始节点,包括:

获取所述网络拓扑图中所有服务功能节点的入度和出度;

判断所述服务功能节点的入度是否为0;

如果所述服务功能节点的入度为0,将所述服务功能节点作为探测起始节点;

如果所述服务功能节点的入度不为0,判断是否存在出度大于入度的服务功能节点;

如果存在出度大于入度的服务功能节点,将所述出度大于入度的服务功能节点作为探测起始节点;

如果不存在出度大于入度的服务功能节点,判断是否所有的所述服务功能节点的出度都为0;

如果不是所有的所述服务功能节点的出度都为0,所述网络拓扑图为欧拉图,根据所述欧拉图的欧拉回路确定探测起始节点。

优选地,所述通过所述多个探测起始节点遍历所述网络拓扑图,生成多条探测路径,包括:

将所述多个探测起始节点中的任意一个起始节点作为当前计算节点,查找所述当前计算节点的相邻节点,所述相邻节点为与所述当前计算节点通过一条所述逻辑链路连接的服务功能节点;

当只存在一个所述相邻节点时,将所述相邻节点作为新的当前计算节点;

当存在多个所述相邻节点时,查找所述当前计算节点和所述当前计算节点的前一节点共属的SFC;

在多个相邻节点中,选择属于所述共属的SFC的服务功能节点作为新的当前计算节点;

当所述当前计算节点无下一相邻节点时,将无下一相邻节点的所述当前计算节点作为探测终止节点,生成一条探测路径;

再次计算剩余的所述多个探测起始节点中的任意一个的探测起始节点的探测路径,直到遍历所述网络拓扑图,生成多条探测路径。

优选地,所述诊断所述多条探测路径中的故障探测路径及所述SFC中的故障SFC之后,所述基于探测的服务功能链的故障诊断方法还包括:

遍历所述故障探测路径的逻辑单元,生成所述逻辑单元的可用性故障疑似度,所述逻辑单元为:所述故障探测路径的服务功能节点或逻辑链路;所述可用性故障疑似度为:包含所述逻辑单元的故障SFC条数与包含所述逻辑单元的SFC总条数的比值;

将所述逻辑单元的服务可用性疑似度与预设阈值对比,如果所述服务可用性疑似度超出第一预设阈值,判定所述逻辑单元为服务可用性故障逻辑单元,包含所述服务可用性故障逻辑单元的故障探测路径为可用性故障探测路径。

优选地,所述根据所述主动探测包的探测结果,诊断所述多条探测路径中的故障探测路径及所述SFC中的故障SFC,包括:

在所述故障探测路径中,去除所述可用性故障探测路径,得到疑似质量退化故障探测路径;

在所述疑似质量退化故障探测路径中,根据疑似质量退化故障探测路径对应的所述主动探测包的时延,判断所述疑似质量退化故障探测路径是否为质量退化故障探测路径。

优选地,所述根据疑似质量退化故障探测路径对应的所述主动探测包的时延,判断所述疑似质量退化故障探测路径是否为质量退化故障探测路径,包括:

获取所述疑似质量退化故障探测路径对应的包含有时间戳字段的主动探测包;

根据所述时间戳字段,判断所述主动探测包的时延是否超过第二预设阈值;

如果所述时延超过所述第二预设阈值,判定所述疑似质量退化故障探测路径为质量退化故障探测路径。

本发明实施例还公开了一种基于探测的服务功能链的故障诊断系统,应用于基于网络功能虚拟化NFV技术的虚拟网络,包括:

获取模块,用于获取所述虚拟网络的网络拓扑图,所述网络拓扑图包含所述虚拟网络的服务功能节点、所述服务功能节点之间的逻辑链路以及由所述服务功能节点和所述逻辑链路组成的服务功能链SFC,所述网络拓扑图为包括所述SFC的方向的有向图;

确定模块,用于在所述网络拓扑图中,根据所述服务功能节点的入度和出度,确定至少一个探测起始节点,其中,所述探测起始节点属于所述服务功能节点;

第一生成模块,用于通过所述多个探测起始节点遍历所述网络拓扑图,生成多条探测路径,其中,所述多个探测起始节点与所述多条探测路径一一对应,以使所述多条探测路径中的各条探测路径之间没有重复的逻辑链路;

发送模块,用于通过所述探测起始节点,分别向所述多条探测路径发送主动探测包,得到所述主动探测包的探测结果;

诊断模块,用于根据所述主动探测包的探测结果,诊断所述多条探测路径中的故障探测路径及所述SFC中的故障SFC。

优选地,所述诊断模块进一步用于,根据所述主动探测包的探测结果,分别诊断所述多条探测路径中的故障探测路径为可用性故障探测路径或质量退化故障探测路径,包含所述可用性故障探测路径或质量退化故障探测路径的SFC为故障SFC。

优选地,所述故障诊断系统进一步包括:

第二生成模块,用于遍历所述故障探测路径的逻辑单元,生成所述逻辑单元的可用性故障疑似度,所述逻辑单元为:所述故障探测路径的服务功能节点或逻辑链路;所述可用性故障疑似度为:包含所述逻辑单元的故障SFC条数与包含所述逻辑单元的SFC总条数的比值;

判断模块,用于将所述逻辑单元的服务可用性疑似度与预设阈值对比,如果所述服务可用性疑似度超出第一预设阈值,判定所述逻辑单元为服务可用性故障逻辑单元,包含所述服务可用性故障逻辑单元的故障探测路径为可用性故障探测路径。

本发明实施例提供的基于探测的服务功能链的故障诊断方法及系统,通过确定网络拓扑图中的多个探测起始节点及多条探测路径,分别向所述多条探测路径发送主动探测包,根据主动探测包的探测结果诊断多条探测路径中的故障探测路径及SFC中的故障SFC,能够以较小的探测流量探测整个网络,从而降低网络带宽的占用程度。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明方法实施例一提供的故障诊断方法的一种流程图;

图2为本发明方法实施例一提供的故障诊断方法中网络拓扑结构示意图;

图3为本发明方法实施例一提供的故障诊断方法中探测路径生成示意图;

图4为本发明方法实施例二提供的故障诊断方法的另一种流程图;

图5为本发明实施例的故障诊断方法中不同第一预设阈值对应的召回率;

图6为本发明实施例的故障诊断方法中不同第一预设阈值对应的准确率;

图7为本发明方法实施例三提供的故障诊断方法的再一种流程图;

图8为不同SFC故障诊断方法探测流量比较示意图;

图9为不同SFC故障诊断方法探测站点数目比较示意图;

图10为不同SFC故障诊断方法主动探测开销比较示意图;

图11为不同SFC故障诊断方法召回率比较示意图;

图12为不同SFC故障诊断方法准确率比较示意图;

图13为本发明系统实施例一提供的故障诊断系统的一种结构图;

图14为本发明系统实施例一提供的故障诊断系统的另一种结构图;

图15为本发明实施例提供的故障诊断方法中探测起始节点计算流程图;

图16为本发明实施例提供的故障诊断方法中探测路径计算流程图;

图17为本发明实施例提供的故障诊断方法的计算流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

方法实施例一

本发明实施例公开了一种基于探测的服务功能链的故障诊断方法,参考图1,图1为本发明方法实施例一提供的故障诊断方法的一种流程图,包括:

S101、获取虚拟网络的网络拓扑图,网络拓扑图包含虚拟网络的服务功能节点、服务功能节点之间的逻辑链路以及由服务功能节点和逻辑链路组成的服务功能链SFC,网络拓扑图为包括SFC的方向的有向图。

在基于NFV技术的虚拟网络中,物理网络节点的功能被分割成多个功能区块,并分别以软件方式实现这些功能区块的功能,这些功能区块便成为逻辑上的网络节点,即服务功能节点。连接服务功能节点之间的链路为逻辑链路,逻辑链路也是一种虚拟的链路。将多个服务功能节点(下面简称SF,即Service Function)和多个服务功能节点之间的逻辑链路动态地连接在一起,便组成一条SFC。在一个虚拟网络组成的网络拓扑图中,通常包含多条SFC,并且这些SFC具有方向。参考图2,图2为本发明方法实施例一提供的故障诊断方法中网络拓扑结构示意图,图中,三条服务功能链分别为SFC1(以箭头+三角形表示)、SFC2(以虚线箭头表示)、SFC3(以实线箭头表示),这三条服务功能链都是单向线性的。在实际情况中,SFC具有单向和双向两种形式,而且有些SFC中的服务功能可能还会对流量进行分流,因此SFC还可以产生分支结构。并且,在一条SFC中,各服务功能节点间的数据流可以为双向,例如SF3和SF4之间,既有SF3到SF4的数据流,也有SF4到SF3的数据流。

S102、在网络拓扑图中,根据服务功能节点的入度和出度,确定至少一个探测起始节点,其中,探测起始节点属于服务功能节点。

网络拓扑图为有向图时,各服务功能节点具有入度和出度两个属性。通过每个服务功能节点的入度和出度之间的关系,计算出满足要求的服务功能节点,从而探测起始节点,即探测路径的起点。在网络拓扑图中,探测起始节点可以为一个,也可以为多个,具体根据入度和出度之间的关系确定。

确定至少一个探测起始节点,可选的,可以为:

S1021、获取网络拓扑图中所有服务功能节点的入度和出度,判断服务功能节点的入度是否为0;如果服务功能节点的入度为0,将服务功能节点作为探测起始节点。参考图2,首先寻找入度为0的服务功能节点作为探测起始节点。在图2中,存在入度为0的服务功能节点,例如SF6和SF10。因此将SF6和SF10作为探测起始节点。

S1022、如果服务功能节点的入度均不为0,则判断是否存在出度大于入度的服务功能节点;如果存在出度大于入度的服务功能节点,将出度大于入度的服务功能节点作为探测起始节点。仍参考图2,SF3的出度大于入度,因此将SF3作为探测起始节点。

S1023、如果仍不存在出度大于入度的服务功能节点,判断是否所有的服务功能节点的出度都为0;如果不是所有的服务功能节点的出度都为0,网络拓扑图为欧拉图,根据欧拉图的欧拉回路确定探测起始节点。其中,欧拉回路可以通过弗罗莱(Fleury)算法计算得到。

如果所有的服务功能节点的出度都为0,则表示当前网络中每条虚拟链路都已经加入到探测路径当中,本申请假设网络中不存在孤立服务功能节点,探测路径能够探测整个网络中的节点和链路,因此计算探测路径完成。

S103、通过多个探测起始节点遍历网络拓扑图,生成多条探测路径,其中,多个探测起始节点与多条探测路径一一对应,以使多条探测路径中的各条探测路径之间没有重复的逻辑链路。

确定探测起始节点后,通过探测起始节点对网络拓扑图进行遍历,从而生成多条探测路径。每个探测起始节点都对应一条探测路径,因此各条探测路径不会重复。并且,通过探测起始节点确定的探测路径中,各条探测路径之间没有重复的逻辑链路。这样就能保证在向探测路径发送探测包时,探测包不会重复经过某一个服务功能节点或逻辑链路。

其中,生成多条探测路径的过程,可选的,可以为:

S1031、将多个探测起始节点中的任意一个起始节点作为当前计算节点,查找当前计算节点的相邻节点,相邻节点为与当前计算节点通过一条逻辑链路连接的服务功能节点。

S1032、当只存在一个相邻节点时,将相邻节点作为新的当前计算节点。

S1033、当存在多个相邻节点时,查找当前计算节点和当前计算节点的前一节点共属的SFC。

S1034、在多个相邻节点中,选择属于共属的SFC的服务功能节点作为新的当前计算节点。

S1035、当当前计算节点无下一相邻节点时,将无下一相邻节点的当前计算节点作为探测终止节点,生成一条探测路径。

S1036、再次计算剩余的多个探测起始节点中的任意一个的探测起始节点的探测路径,直到遍历网络拓扑图,生成多条探测路径。

参考图3,图3为本发明方法实施例一提供的故障诊断方法中探测路径生成示意图,图中包括探测路径1(以箭头+三角形表示)、探测路径2(以虚线箭头表示)、探测路径3(以实线箭头表示)。以探测起始节点SF6为例,将SF6作为当前计算节点,查找SF6的任一相邻节点,只有SF1,然后将SF1作为新的当前计算节点,同理,查找得到SF2、SF3。当查找到SF3时,SF3有三个相邻节点,即SF9、SF4和SF7,意味着探测路径可以存在三种选择。通过SF3的前一个服务功能节点SF2,得知,SF2、SF3及SF2和SF3之间的逻辑链路共属于SFC1和SFC2,那么,在SF9、SF4和SF7中,首先选择属于SFC1和SFC2的服务功能节点作为新的当前计算节点,即SF4或SF7,任选SF4或SF7其中一个。假设选择SF7,然后选择节点分别为SF5和SF8,得到探测路径SF6-SF1-SF2-SF3-SF7-SF5-SF8,即DP1。按照上述式可得其它探测路径:SF3-SF4-SF5,即DP2;SF10-SF5-SF4-SF3-SF9,即DP3。

S104、通过探测起始节点,分别向多条探测路径发送主动探测包,得到主动探测包的探测结果。

从探测起始节点向探测路径发送主动探测包,从探测终止节点接收主动探测包,通过分析主动探测包,得到探测结果。其中,在主动探测包中可以封装时间戳字段,用来记录虚拟网络中服务功能节点及虚拟链路的转发时延,进而检测各个服务功能节点的转发性能。时间戳字段信息如表1所示:

表1主动探测包中的时间戳字段信息表

表1中,记录有探测路径ID,用以区分不同的探测路径,同时还记录有探测路径上的各服务功能节点ID及对应的入时间戳字段和出时间戳字段,用以表示主动探测包经过各服务功能节点时的时间段。

S105、根据主动探测包的探测结果,诊断多条探测路径中的故障探测路径及SFC中的故障SFC。

通过诊断故障探测路径,可以将故障探测路径分为可用性故障探测路径和质量退化故障探测路径。

本发明方法实施例一提供的一种基于探测的服务功能链的故障诊断方法,能够以较小的探测流量探测整个网络,从而降低网络带宽的占用程度。并且,通过主动探测包中的时间戳,能够判断SFC中的服务功能节点及逻辑链路的时延,使诊断结果更准确。

方法实施例二

本发明实施例还公开了一种基于探测的服务功能链的故障诊断方法,参考图4,图4为本发明方法实施例二提供的故障诊断方法的另一种流程图,在方法实施例一的基础上,进一步包括:

S106、遍历故障探测路径的逻辑单元,生成逻辑单元的可用性故障疑似度,逻辑单元为:故障探测路径的服务功能节点或逻辑链路;可用性故障疑似度为:包含逻辑单元的故障SFC条数与包含逻辑单元的SFC总条数的比值。

逻辑单元指组成探测路径的最小单元,例如一个服务功能节点或一条逻辑链路,它们均有可能出现故障。可用性故障疑似度用来衡量一个服务功能节点或者逻辑链路的可能故障的概率的大小,通过可用性故障疑似度,可以方便地得到某一逻辑单元可能故障的概率的大小,提高了故障诊断效率。

S107、将逻辑单元的服务可用性疑似度与预设阈值对比,如果服务可用性疑似度超出第一预设阈值,判定逻辑单元为服务可用性故障逻辑单元,包含服务可用性故障逻辑单元的故障探测路径为可用性故障探测路径。

第一预设阈值用作可用性疑似度的判断标准,且技术人员能够根据历史数据及实际网络状况灵活设置。通过调节第一预设阈值,对得到的故障集合的准确率和召回率进行评估,并通过计算第一预设阈值,使本发明实施例有较高的准确率和召回率。第一预设阈值可以通过准确率和召回率进行评估设置,其中,准确率和召回率分别表示为:

参考图5,图5为本发明实施例的故障诊断方法中不同第一预设阈值对应的召回率。由图5可知,第一预设阈值分别为40%,60%,70%,当具有相同的SFC条数时,第一预设阈值越大,召回率越低;随着SFC条数的增加,每一个第一预设阈值对应的召回率呈降低趋势,但当SFC条数增加至600条以上时,召回率出现波动且降低趋势减弱。参考图6,图6为本发明实施例的故障诊断方法中不同第一预设阈值对应的准确率。由图6可知,第一预设阈值分别为40%,60%,70%,当具有相同的SFC条数时,第一预设阈值越大,准确率越低;随着SFC条数的增加,每一个第一预设阈值对应的准确率呈升高趋势,但当SFC条数增加至600条以上时,准确率出现波动且升高趋势减弱。

本发明方法实施例二提供的一种基于探测的服务功能链的故障诊断方法,能够在故障探测路径中判断出可用性故障探测路径,从而区分故障探测路径的不同故障类型,提升了诊断准确性。

方法实施例三

本发明实施例还公开了一种基于探测的服务功能链的故障诊断方法,参考图7,图7为本发明方法实施例二提供的故障诊断方法的再一种流程图,在方法实施例二的基础上,进一步包括:

S201、在故障探测路径中,去除可用性故障探测路径,得到疑似质量退化故障探测路径。

疑似质量退化故障探测路径,是指有可能出现质量退化故障的探测路径。在诊断得到的故障探测路径中,去除可用性故障探测路径后剩下的故障探测路径就是疑似质量退化故障探测路径。

S202、在疑似质量退化故障探测路径中,根据疑似质量退化故障探测路径对应的主动探测包的时延,判断疑似质量退化故障探测路径是否为质量退化故障探测路径。

主动探测包的时延反映了主动探测包在探测路径中的传输时间,因此可以作为质量退化故障探测路径的判断标准,从而判断疑似质量退化故障探测路径是否为真正的质量退化故障探测路径。

可选的,通过以下步骤判断:

S2021、获取疑似质量退化故障探测路径对应的包含有时间戳字段的主动探测包。

S2022、根据时间戳字段,判断主动探测包的时延是否超过第二预设阈值。第二预设阈值用作时延判断,且技术人员能够根据历史数据及实际网络状况灵活设置。

S2033、如果时延超过第二预设阈值,判定疑似质量退化故障探测路径为质量退化故障探测路径。

本发明方法实施例三提供的一种基于探测的服务功能链的故障诊断方法,能够在故障探测路径中判断出真正的质量退化故障探测路径,从而区分故障探测路径的不同故障类型,进一步提升了诊断准确性。

参考图15,图15为本发明实施例提供的故障诊断方法中探测起始节点计算流程图,以集合的角度描述了探测起始节点计算流程;参考图16,图16为本发明实施例提供的故障诊断方法中探测路径计算流程图,以集合的角度描述了探测路径计算流程;参考图17,图17为本发明实施例提供的故障诊断方法的计算流程图,以集合的角度描述了故障诊断方法计算流程。

为了验证本发明实施例的效果,使用小型服务提供商网络拓扑进行仿真实验。并将本发明实施例的仿真结果与现有SFC故障诊断方法比较。参考图8,图8为不同SFC故障诊断方法探测流量比较示意图。现有SFC故障诊断方法分别为方法1和方法2,其中,方法1通过建立物理节点和虚拟节点之间的关系模型,确立虚拟网络与物理网络对应关系,然后按照服务功能链发送探测包,基于探测的结果进行分层的故障定位,着重考虑减少定位的故障点的数目;方法2通过按照服务功能链的方向发送主动探测包,当探测包每经过一个虚拟转发节点或者一个虚拟服务功能,该转发节点或者服务功能会将自己的ID加入探测列表,并将探测列表的信息返回给起始节点,因为每一个虚拟节点都要向起始节点发送节点ID信息,从而占用大量的带宽资源。图8中,随着SFC条数增加,本发明实施例提供的故障诊断方法相比于方法1和方法2,单位时间内主动探测流量增加幅度不大,说明本发明实施例的故障诊断方法具有小探测流量的特点,这样能够降低带宽资源占用。

参考图9,图9为不同SFC故障诊断方法探测站点数目比较示意图。本发明实施例提供的故障诊断方法相比于现有方法1和方法2,随着SFC条数增加,探测站点的数目也随之增加,说明本发明实施例的故障诊断方法中,减少主动探测流量需要部署更多的探测站点。

参考图10,图10为不同SFC故障诊断方法主动探测开销比较示意图。图中,随着SFC条数增加,本发明实施例提供的故障诊断方法相比于现有方法1和方法2,单位时间内主动探测开销增加幅度不大,说明本发明实施例的故障诊断方法具有主动探测开销小的特点,这样能够降低带宽资源占用,节约探测成本。

参考图11,图11为不同SFC故障诊断方法召回率比较示意图。图中,本发明实施例提供的故障诊断方法相比于现有方法1和方法2,能够以较少的主动探测开销获取更加完整的真实故障点,并且随着服务功能链条数的增加,故障集合的召回率趋于稳定。

参考图12,图12为不同SFC故障诊断方法准确率比较示意图。图中,本发明实施例提供的故障诊断方法相比于现有方法1和方法2,随着服务功能链条数的增加,准确率均维持在较高水平,说明本发明实施例的故障诊断方法能显著提高准确率。

系统实施例一

本发明实施例公开了一种基于探测的服务功能链的故障诊断系统,参考图13,图13为本发明系统实施例一提供的故障诊断系统的一种结构图,包括:

获取模块301,用于获取虚拟网络的网络拓扑图,网络拓扑图包含虚拟网络的服务功能节点、服务功能节点之间的逻辑链路以及由服务功能节点和逻辑链路组成的服务功能链SFC,网络拓扑图为包括SFC的方向的有向图。

确定模块302,用于在网络拓扑图中,根据服务功能节点的入度和出度,确定至少一个探测起始节点,其中,探测起始节点属于服务功能节点.

第一生成模块303,用于通过多个探测起始节点遍历网络拓扑图,生成多条探测路径,其中,多个探测起始节点与多条探测路径一一对应,以使多条探测路径中的各条探测路径之间没有重复的逻辑链路。

发送模块304,用于通过探测起始节点,分别向多条探测路径发送主动探测包,得到主动探测包的探测结果。

诊断模块305,用于根据主动探测包的探测结果,诊断多条探测路径中的故障探测路径及SFC中的故障SFC;并且,诊断模块305进一步用于,根据主动探测包的探测结果,分别诊断多条探测路径中的故障探测路径为可用性故障探测路径或质量退化故障探测路径,包含可用性故障探测路径或质量退化故障探测路径的SFC为故障SFC。

其中,确定模块302,进一步用于:

获取网络拓扑图中所有服务功能节点的入度和出度;判断服务功能节点的入度是否为0;如果服务功能节点的入度为0,将服务功能节点作为探测起始节点;如果服务功能节点的入度不为0,判断是否存在出度大于入度的服务功能节点;如果存在出度大于入度的服务功能节点,将出度大于入度的服务功能节点作为探测起始节点;如果不存在出度大于入度的服务功能节点,判断是否所有的服务功能节点的出度都为0;如果不是所有的服务功能节点的出度都为0,网络拓扑图为欧拉图,根据欧拉图的欧拉回路确定探测起始节点。

其中,第一生成模块303,进一步用于:

将多个探测起始节点中的任意一个起始节点作为当前计算节点,查找当前计算节点的相邻节点,相邻节点为与当前计算节点通过一条逻辑链路连接的服务功能节点;当只存在一个相邻节点时,将相邻节点作为新的当前计算节点;当存在多个相邻节点时,查找当前计算节点和当前计算节点的前一节点共属的SFC;在多个相邻节点中,选择属于共属的SFC的服务功能节点作为新的当前计算节点;当当前计算节点无下一相邻节点时,将无下一相邻节点的当前计算节点作为探测终止节点,生成一条探测路径;再次计算剩余的多个探测起始节点中的任意一个的探测起始节点的探测路径,直到遍历网络拓扑图,生成多条探测路径。

其中,诊断模块305,还进一步用于:根据主动探测包的探测结果,分别诊断多条探测路径中的故障探测路径为可用性故障探测路径或质量退化故障探测路径,包含可用性故障探测路径或质量退化故障探测路径的SFC为故障SFC。

本发明系统实施例一提供的一种基于探测的服务功能链的故障诊断系统,能够以较小的探测流量探测整个网络,从而降低网络带宽的占用程度。

需要说明的是,本发明实施例的系统是应用上述基于探测的服务功能链的故障诊断方法的系统,则上述基于探测的服务功能链的故障诊断方法的所有实施例均适用于该系统,且均能达到相同或相似的有益效果。

系统实施例二

本发明实施例还公开了一种基于探测的服务功能链的故障诊断系统,参考图14,图14为本发明系统实施例一提供的故障诊断系统的另一种结构图,在系统实施例一的基础上进一步包括:

第二生成模块306,用于遍历故障探测路径的逻辑单元,生成逻辑单元的可用性故障疑似度,逻辑单元为:故障探测路径的服务功能节点或逻辑链路;可用性故障疑似度为:包含逻辑单元的故障SFC条数与包含逻辑单元的SFC总条数的比值。

判断模块307,用于将逻辑单元的服务可用性疑似度与预设阈值对比,如果服务可用性疑似度超出第一预设阈值,判定逻辑单元为服务可用性故障逻辑单元,包含服务可用性故障逻辑单元的故障探测路径为可用性故障探测路径。

其中诊断模块305,进一步包括:

去除子模块,用于在故障探测路径中,去除可用性故障探测路径,得到疑似质量退化故障探测路径。

判断子模块,用于在疑似质量退化故障探测路径中,根据疑似质量退化故障探测路径对应的主动探测包的时延,判断所疑似质量退化故障探测路径是否为质量退化故障探测路径。

其中判断子模块,进一步用于:

获取疑似质量退化故障探测路径对应的包含有时间戳字段的主动探测包;

根据时间戳字段,判断主动探测包的时延是否超过第二预设阈值;

如果时延超过第二预设阈值,判定疑似质量退化故障探测路径为质量退化故障探测路径。

本发明系统实施例二提供的一种基于探测的服务功能链的故障诊断系统,能够在故障探测路径中判断出可用性故障探测路径,从而区分故障探测路径的不同故障类型,提升了诊断准确性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号