本发明涉及网络功能虚拟化技术领域,具体涉及一种基于共享保护服务功能链的可靠性增强方法。
背景技术:
网络功能虚拟化(nfv)的中心思想就是把电信级设备从目前的专用平台迁移到通用的x86cots服务器上,在通用的服务器上实现网络功能,实现了底层硬件和软件功能的解耦合。颠覆了特定硬件设备对网络的限制,网络运营商可以实现更高的灵活性,并加速新服务的部署,同时降低网络建设成本和维护成本,便于后期维护、管理、整合和升级改造。nfv通过软件虚拟化技术支持虚拟网络功能(vnf)的实例化,并在通用硬件设备上整合、运行、维护和管理。
服务功能链(servicefunctionchain,sfc)是一组有顺序的虚拟网络功能的集合,业务流量遵循特定的处理策略依次经过若干个vnf。其中vnf是在通用设备上用软件实现的网络功能,能够对接收到的数据流量进行存储、监查或者是依照一些特定的策略进行处理的逻辑组件,常见的虚拟网络功能有防火墙、服务器负载均衡器、路由器、代理服务器、深度包检测、网络地址转换、内容分发网络和入侵检测等。在nfv的背景下,网络运营商或企业在云中使用sfc,并将sfc中的vnf部署在通用服务器上,以实现最大的利润和最低的成本。通过nfv管理编排,网络用户可以灵活定义业务流的源目端节点、所需要的网络功能、处理顺序以及处理策略。
在业务动态变化、故障频发的电信级环境中,nfv的可靠性问题显得尤为重要。现有的nfv可靠性研究方法仅考虑了vnf的可靠性。但是一个sfc是由vnf和vnf之间的物理链路组成的,vnf之间的物理链路对于整个sfc也很重要,只考虑vnf的可靠性对整个nfv的可靠性的提高是远远不够的。要想提高nfv的可靠性必须同时兼顾vnf的可靠性和vnf之间的物理链路的可靠性。同时只考虑vnf的可靠性也会忽视链路所要消耗的带宽资源,带宽资源在nfv中也是不容忽视的。
技术实现要素:
本发明所要解决的技术问题是提供一种基于共享保护服务功能链的可靠性增强方法,解决现有技术中nfv可靠性不足的问题。
本发明解决上述技术问题的技术方案如下:一种基于共享保护服务功能链的可靠性增强方法,包括以下步骤:
s1、将vnf的节点集合vnfset设置为空,以跳数为代价,通过动态规划算法计算出最短路径patht和路径patht的可靠概率p(patht);
s2、当路径可靠概率p(patht)乘路径上所有vnf可靠概率∏i∈fpi小于sfc的最小可靠概率psfcmin时,进入步骤s3,否则进入步骤s4;
s3、以转换后的可靠性参数
其中p(m,n)为有向链路(m,n)可靠的概率;
s4、将路径patht加入到路径列表pathlink中,输出路径列表pathlink,算法结束;
s5、当路径可靠概率p(pathp)乘路径上所有vnf可靠概率∏i∈fpi小于sfc的最小可靠概率psfcmin时,进入步骤s6,否则进入步骤s7;
s6、将路径pathp作为工作路径加入到路径列表pathlink中,更新节点集合vnfset,并删去pathp中的链路更新拓扑网络图,进入步骤s8;
s7、通过拉格朗日松弛算法求得一条满足可靠性约束的工作路径path,并将路径path加入到路径列表pathlink中,输出路径列表pathlink,算法结束;
s8、通过共享全节点保护算法求得路径列表pathlink;
s9、当路径列表pathlink的长度大于最大值时,结束算法,否则进入步骤s10;
s10、输出路径列表pathlink。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤s1中的动态规划算法具体包括以下步骤:
s11、从vnfset集合中找到可映射vnfi的节点集合seti,其中源节点为s,目的节点为d;
其中下标i为vnf或节点集合的序数,i∈f,f表示业务请求所需vnf的顺序列表;
s12、计算源节点s到节点m的最短距离,计算公式为:
在公式(1)中,
s13、遍历除源节点s以外的每个vnfi,依次计算源节点s到每个可映射vnfi的节点的最短距离,最终求解源节点s到目的节点d的最短距离,并输出路径和vnf与节点的映射关系。
进一步,所述步骤s7中的拉格朗日松弛算法具体包括以下步骤:
s71、计算拉格朗日乘子θ,计算公式为:
θ=(t(patht)-t(pathp))/(p′(pathp)-p′(patht))(2)
在公式(2)中,t(patht)和t(pathp)通过公式(3)计算,p′(pathp)和p′(patht)通过公式(4)计算,t(path)为带宽需求约束,p′(path)为可靠性参数转换后的带宽需求约束,b为表示有向链路(m,n)剩余的带宽,
s72、以复合权重t(g)+θ*p(g)为代价使用动态规划算法计算出最短路径pathθ;
s73、当t(pathp)+θ*p′(pathp)==t(pathθ)+θ*p'(pathθ)时,进入步骤s77,否则进入步骤s74;
s74、当
其中pmin为保护路径可靠性约束;
s75、令pathp=pathθ,返回步骤s71;
s76、令patht=pathθ,返回步骤s71。
s77、将路径pathθ加入到路径列表pathlink中,并输出路径列表pathlink。
进一步,所述步骤s8中的共享全节点保护算法具体包括以下步骤:
s81、以转换后的可靠性参数为代价,通过dp2算法计算出最短路径path。当p(path)大于或等于保护路径可靠概率最小值,即p(patht)≥pprc(pathlink,psfcmin)时,进入步骤s82,否则进入步骤s83;
s82、将path加入路径列表pathlink中并输出路径列表pathlink;
s83、将path加入路径列表pathlink中并更新vnfset集合,删去path链路更新图,返回步骤s81。
进一步,所述步骤s81中的dp2算法具体包括以下步骤:
s811、从vnfset集合中为每个vnfi找到可提供专用保护的节点集合seti,其中源节点为s,目的节点为d,从vnfset集合中为每个vnfi找到可提供共享保护的节点集合existseti,其中源节点为s,目的节点为d,保护路径vnfi可映射的节点结合si=seti∪existseti;
s812、计算源节点s到节点m的最小映射成本,计算公式为:
s813、遍历除源节点s以外的每个vnfi,依次计算源节点s到每个可映射vnfi的节点的最小映射成本,当映射成本相等时,选择使
本发明的有益效果是:在本发明中,提出了一种对nfv中的服务功能链提供端到端的可靠性保护方法,显著增强了服务功能链的可靠性,在业务动态变化、故障频发的电信级网络环境中具有良好应用前景,能有效对nfv中的服务功能链提供端到端的可靠性保护,提高网络性能,特别是当服务功能链对可靠性要求较高时。同时本发明具有较强的适应性,能适应不同的网络拓扑环境,在提高服务功能链可靠性的同时,消耗的带宽资源和服务器计算资源也较少,不会产生过高的成本费用。
附图说明
图1为本发明总流程图;
图2为本发明步骤s1的流程图;
图3为本发明步骤s7的流程图;
图4为本发明步骤s8的流程图;
图5为本发明步骤s81的流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,一种基于共享保护服务功能链的可靠性增强方法,包括以下步骤:
s1、将vnf的节点集合vnfset设置为空,以跳数为代价,通过动态规划算法计算出最短路径patht和路径patht的可靠概率t(patht);
s2、当路径可靠概率p(patht)乘路径上所有vnf可靠概率∏i∈fpi小于sfc的最小可靠概率psfcmin时,进入步骤s3,否则进入步骤s4;
s3、以转换后的可靠性参数
其中p(m,n)为有向链路(m,n)可靠的概率;
s4、将路径patht加入到路径列表pathlink中,输出路径列表pathlink,算法结束;
s5、当路径可靠概率p(pathp)乘路径上所有vnf可靠概率∏i∈fpi小于sfc的最小可靠概率psfcmin时,进入步骤s6,否则进入步骤s7;
s6、将路径pathp作为工作路径加入到路径列表pathlink中,更新节点集合vnfset,并删去pathp中的链路更新拓扑网络图,进入步骤s8;
s7、通过拉格朗日松弛算法求得一条满足可靠性约束的工作路径path,并将路径path加入到路径列表pathlink中,输出路径列表pathlink,算法结束;
s8、通过共享全节点保护算法求得路径列表pathlink;
s9、当路径列表pathlink的长度大于最大值时,结束算法,否则进入步骤s10;
s10、输出路径列表pathlink。
如图2所示,步骤s1中的动态规划算法具体包括以下步骤:
s11、从vnfset集合中找到可映射vnfi的节点集合seti,节点集合满足运行vnfi所需资源小于后等于剩余可用的服务器资源,即ri≤rm,其中源节点为s,目的节点为d,其中下标i为vnf或节点集合的序数,i∈f,f表示业务请求所需vnf的顺序列表;
s12、计算源节点s到节点m的最短距离,计算公式为:
在公式(1)中,
s13、遍历除源节点s以外的每个vnfi,依次计算源节点s到每个可映射vnfi的节点的最短距离,最终求解源节点s到目的节点d的最短距离,并输出路径和vnf与节点的映射关系。
步骤s3中的动态规划算法与步骤s1中的动态规划算法相同,此处不再赘述。
如图3所示,步骤s7中的拉格朗日松弛算法具体包括以下步骤:
s71、计算拉格朗日乘子θ,计算公式为:
θ=(t(patht)-t(pathp))/(p′(pathp)-p′(patht))(2)
在公式(2)中,t(patht)和t(pathp)通过公式(3)计算,p′(pathp)和p′(patht)通过公式(4)计算,t(path)为带宽需求约束,p′(path)为可靠性参数转换后的带宽需求约束,b为表示有向链路(m,n)剩余的带宽,
s72、以复合权重t(g)+θ*p(g)为代价使用动态规划算法计算出最短路径pathθ;
s73、当t(pathp)+θ*p′(pathp)==t(pathθ)+θ*p'(pathθ)时,进入步骤s77,否则进入步骤s74;
s74、当
s75、令pathp=pathθ,返回步骤s71;
s76、令patht=pathθ,返回步骤s71。
s77、将路径pathθ加入到路径列表pathlink中,并输出路径列表pathlink。
如图4所示,步骤s8中的共享全节点保护算法具体包括以下步骤:
s81、以转换后的可靠性参数为代价,通过dp2算法计算出最短路径path。当p(path)大于或等于保护路径可靠概率最小值,即p(patht)≥pprc(pathlink,psfcmin)时,进入步骤s82,否则进入步骤s83;
s82、将path加入路径列表pathlink中并输出路径列表pathlink;
s83、将path加入路径列表pathlink中并更新vnfset集合,删去path链路更新图,返回步骤s81。
如图5所示,步骤s81中的dp2算法具体包括以下步骤:
s811、从vnfset集合中为每个vnfi找到可提供专用保护的节点集合seti,其中源节点为s,目的节点为d,从vnfset集合中为每个vnfi找到可提供共享保护的节点集合existseti,其中源节点为s,目的节点为d,保护路径vnfi可映射的节点结合si=seti∪existseti;
s812、计算源节点s到节点m的最小映射成本,计算公式为:
遍历除源节点s以外的每个vnfi,依次计算源节点s到每个可映射vnfi的节点的最小映射成本,当映射成本相等时,选择使
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。