张顺利,邵苏杰
(1.晋中学院 信息技术与工程系,山西 晋中 030619;2.北京邮电大学 计算机学院,北京 100876)
随着5G技术的快速发展和应用,网络功能虚拟化(Network Function Virtualization,NFV)被提出并得到快速发展[1]。在NFV环境下,网络功能可以与硬件环境进行解耦,显著提升网络功能部署的效率和灵活性,降低了网络的建设和部署成本[2]。网络功能采用虚拟网络功能(Virtual Network Function,VNF)的方式部署在底层网络节点上,服务请求采用服务功能链(Service Function Chain,SFC)的方式进行部署[3-4]。文献[5]研究了NFV可靠性的相关问题,并指出VNF自身的软件故障和承载其的底层网络节点硬件故障都会导致VNF不可用。如何提升VNF的可用性对于服务连续性是一项重要的研究内容,研究方法可以分为提前估计节点可用性、故障VNF恢复机制、资源备份机制三种类型。
在提前估计节点可用性研究方面,文献[6-8]估计节点的可用性并设计优化放置模型来抵消不可用的影响,文献[9]设计了SFC可靠性最大化的资源部署算法。但是,当底层节点发生故障时,SFC仍然会发生中断。为解决此问题,已有研究提出了故障VNF恢复机制:文献[10]采用虚拟链路重映射策略为受故障影响的SFC部署可用的新底层路径,文献[11]提出动态迁移机制为故障VNF实例创建新的可靠底层网络资源。但是,故障恢复不可避免导致SFC出现中断,降低服务质量。文献[12]提出虚拟机状态监控策略,当虚拟机状态为不可用时为其提供备份资源,文献[13]选择可靠性不能满足要求的SFC并为其在线备份资源,虽然都提升了SFC的可用性,但是备份资源的开销也快速增加。为降低备份资源开销,文献[14]将备份资源的启动时间进行推迟,文献[15-16]采用网络特征分别对虚拟网功能和物理节点进行聚合,文献[17] 采取关键和非关键服务备份策略,文献[18]采用整数线性规划求解最优的备份策略。虽然文献[15-18]降低了备份资源的开销,但是这些研究采取对SFC逐条进行分析并求解最小化开销的备份策略,没有挖掘SFC之间的资源共享关系。为解决此问题,文献[19-20]将多个SFC聚合成一个服务函数图(Service Function Diagram,SFG),并对SFG进行可靠性筛选。但是,资源备份时没有考虑底层网络资源特征,没有考虑待备份SFC及VNF实例间的关联关系进行资源备份,备份资源的共享性还需进一步提升。
资源备份机制是提升SFC可靠性的关键技术之一,但是,现有研究为VNF选择底层备份资源时,仅探讨单个VNF备份需求场景,缺乏对多个VNF备份资源共享的考虑,导致底层网络资源利用率较低的问题。为解决此问题,本文提出了特征关联的服务功能链可靠性优化算法(Reliability Optimization Algorithm of Service Function Chain Based on Feature Association,FASFCROA)。为分析多个SFC和VNF备份资源的共享关系,从底层节点的网络特征判断其作为VNF实例备选节点的优势,从VNF实例的网络特征判断其作为备选对象的优势;基于网络资源特征和关联感知的方法为VNF实例寻找备份节点,减少为其他待备份VNF实例选择备份底层节点时的链路开销。本文算法与经典算法进行的对比分析表明,本文算法节约了备份实例和备份带宽资源消耗,提升了SFC的接受率。
(1)
式中:n表示SFC中包含的VNF实例的数量。
(2)
(3)
(4)
(5)
(6)
从底层节点的资源可用率、周边资源密集度、全网中心性三个方面评价底层节点的网络特征。
(7)
(8)
底层节点的3个属性采用最大最小归一化方法处理:
(9)
式中:x表示底层节点的某个属性数据取值;xmax表示该类属性数据的最大值;xmin表示该类属性数据的最小值;x′表示底层节点的某个属性归一化后的数据取值。
VNF实例的网络特征主要用于判断其作为备选对象的优势。在SFG网络模型中,被选择的VNF备份实例如果具有较高的度数和带宽资源,该VNF备份实例在SFG中相关联的VNF实例较多,而且其选择的备份底层节点将具有较多的资源可以与其他VNF实例共享。VNF实例作为备选对象的优越性使用ADV(vnfk)表示:
(10)
本文提出的特征关联的服务功能链可靠性优化算法具体步骤如下:
步骤1 计算底层网络Gs=(Ns,Ls)中底层节点的备份优越性。
1)使用公式(7)和(8)分别计算Gs=(Ns,Ls)中底层节点的周边资源密集度和全网中心性;
2)使用公式(9)对底层节点的资源可用率、周边资源密集度、全网中心性3个属性进行归一化处理;
步骤2 获得Gv(Nv,Ev)中所有真实可靠性不能满足其可靠性要求的SFC。
1)使用公式(2)计算每个sfcj∈SFC的可靠性relsfcj;
步骤3 获得所有优越性较高的待备份的VNF实例的集合。
通过应用热氮吹硫新工艺,吹硫、钝化交叉进行,在钝化后期使克劳斯尾气直接进入尾气焚烧炉,区别于常规热氮吹硫工艺,钝化后期三级硫冷凝器出口过程气切入急冷塔,经碱液吸收后,再切入尾气焚烧炉,钝化过程将持续消耗碱液,产生废水。本次热氮吹硫作业未消耗碱液、未产生废水,排放烟气中SO2质量浓度满足环保控制指标要求,完成了克劳斯系统停工吹硫作业。停工后,重点设备开盖检查,容器内无固体硫磺,未发生自燃现象。装置开工后,克劳斯系统和加氢系统均运行平稳,各反应器床层温度分布均匀,排放烟气中SO2质量浓度约250 mg/m3。
步骤4 为优越性最大的待备份VNF实例提供备份底层节点。
步骤1 根据映射关系定位需要备份VNF实例的底层节点。
在步骤3中,使用公式(12)计算
(12)
(13)
(14)
实验环境中网络拓扑使用GT-ITM拓扑生成器生成[21]。底层网络拓扑从边等于100的正方形区域中随机提取。底层节点的数量为100个,底层链路采用底层节点之间以0.5的概率随机连接获得。底层节点的CPU资源和底层链路的带宽遵循50~100个单位的均匀分布。底层节点的可靠性采用一个0.9~0.999的随机值进行描述。在SFC请求的网络拓扑生成方面,NFV实例节点的数量在2~6之间均匀分布。NFV实例节点上 CPU 资源和链路带宽遵循1~15的均匀分布。在VNF实例的类型和承载方面,每个底层节点可以支持3种VNF类型,并且当一个底层节点承载了一种类型的VNF实例之后,将不能承载其他类型的VNF实例。
为了评估提出的备份方法的性能和资源效率,选择当前研究中的经典算法NRCR[20]和基于最短路径的服务功能链资源备份算法(Resource Backup Algorithm for Service Function Chain Based on Shortest Path,RBASP)进行比较。RBASP在找到急需备份的NFV实例对应的底层节点后,选择距离该底层节点最近的满足资源需求的底层节点作为备份节点[15-16]。
从备份实例数、备份带宽资源消耗两个方面进行比较,实验结果如图1和图2所示。图中横坐标表示SFC的可靠性需求从0.95增加到0.999,用于模拟不同用户需求的环境。
图1 备份实例数比较Fig.1 Comparison of backup instances
图2 备份带宽资源消耗比较Fig.2 Comparison of backup bandwidth resource consumption
从图1中备份实例数比较结果可知,随着可靠性要求提升,3种算法下备份实例数量都在增加。尤其当SFC的可靠性要求大于0.99时,备份实例数量快速增加。NRCR消耗的备份实例数最多,RBASP次之,是因为RBASP选择底层节点时,优先选择备份优越性高的底层节点资源,从而快速提升其他SFC的可靠性。FASFCROA的备份实例数比NRCR降低了约29%,是因为FASFCROA考虑关联关系可以选择同时满足多个VNF实例的资源,从而需要更少的备份实例。
从图2中备份带宽资源消耗比较结果可知,随着可靠性要求的增加,3种算法需要消耗的带宽资源都逐步增加。尤其是可靠性要求大于0.99时,3种算法的带宽需求都快速增加。RBASP的备份带宽资源消耗较少,NRCR的备份带宽资源消耗最多。算法RBASP选择底层节点时,优先选择备份优越性高的底层节点资源,这些节点具有较多的邻接节点和连接链路,比较容易找到与待备份底层节点的邻接节点相连的链路,减少了链路资源的消耗。FASFCROA的备份带宽资源消耗比NRCR降低了约42%,这是因为FASFCROA选择与其他待备份VNF底层节点的链路代价最小的底层节点作为备份节点资源,所以需要更少的备份链路资源。
SFC的可用率是指底层节点发生故障后,正常可用的SFC数量在总的SFC数量中的占比。该指标可以分析备份策略对SFC可靠性的提升水平。在模拟底层网络节点的故障方面,采用随机模拟故障和资源特征模拟故障两种策略。随机模拟故障是指在底层节点中随机选择[2%,3%]的底层节点作为故障节点。根据资源特征模拟故障是指按照底层节点资源利用率降序排列,将资源利用率较高的[2%,3%]的底层节点作为故障节点。
图3中展示了随机模拟故障时SFC的可用率比较结果,横坐标表示底层节点的数量从50个增加到100个,用于模拟不同规模的网络环境。在不同网络规模下,3种算法下SFC的可用率波动不大,说明不同网络规模环境对算法SFC的可用率影响较小。3种算法下SFC的可用率结果区别不大,说明3种算法都有较好的收敛结果。RBASP的SFC的可用率比NRCR结果略好,因为虽然故障是随机的,但是RBASP选择底层节点时,优先选择备份资源优势高的资源,保证SFC的路由可靠性较高。FASFCROA的SFC的可用率比RBASP略好,因为FASFCROA考虑备份资源的关联关系,可以进一步提升任意两个虚拟节点的连通性,从而提升可用率。
图3 随机模拟故障时SFC的可用率比较Fig.3 Comparison of SFC availability during random simulation of faults
图4展示了根据资源特征模拟故障时SFC的可用率比较结果。由图可知,随着底层节点数量增加,3种算法下SFC的可用率都趋于收敛,说明底层网络规模对SFC的可用率影响较小。NRCR的SFC的可用率明显低于RBASP和FASFCROA,因为RBASP和FASFCROA选择备份底层节点时,选择的底层节点都是备份优越性较大的底层节点,这些节点的利用率较低,所以可靠性较高。当利用率高的资源发生故障时,对本文算法选择的SFC的可靠性影响较小。
图4 根据资源特征模拟故障时SFC的可用率比较Fig.4 Comparison of SFC availability when simulating faults based on resource characteristics
SFC的接受率是指资源备份后可以继续为SFC分配资源的成功率。该指标可以分析备份策略对于底层网络资源利用率的影响。
图5展示了SFC的接受率比较结果,横坐标表示服务请求的数量从20个增加到100个。由图可知,随着服务请求数量的增加,3种算法下SFC的接受率都在降低。尤其是当服务请求大于60个时,SFC的接受率快速降低。这说明SFC数量大于60后,SFC需要的资源已经不能被底层网络资源满足。RBASP的SFC接受率比NRCR略高,因为其选择的备份节点具有较大的中心性,可以通过较少的链路数量实现备份节点与待备份节点的邻接节点的连接,节约较多的底层链路资源。此时,更多的链路资源可以被用于为其他SFC分配资源,而NRCR为了选择可靠性较高的资源,可能需要更多的链路资源。FASFCROA下SFC接受率比NRCR提升了约12%,因为FASFCROA在RBASP基础上考虑备份资源的关联关系,使用了更少的备份资源,为接受SFC提供了更多的可用资源。
图5 SFC的接受率比较Fig.5 Comparison of acceptance rates of SFC
对算法性能结果比较可知,本文提出的FASFCROA采用网络特征和资源关联关系优化SFC的可靠性,节约了备份实例和备份带宽的资源消耗,提升了SFC的可用率和接受率,所以具有较为优越的性能。SFC的可用率与故障类型相关,当故障原因是资源利用率过高时,本文算法性能较好;如果是突发事件导致故障,本文算法性能与已有算法的性能结果相似。
在网络功能虚拟化环境下,本文主要研究了如何解决SFC部署时可靠性低的问题。为了实现在保障网络服务可靠性需求的同时最小化资源开销,本文设计了一种特征关联的服务功能链可靠性优化算法,优先为备选对象优越性较高的VNF实例选择备份底层节点。在为VNF实例选择备份底层节点时,提出了基于资源特征关联感知的备份节点选择算法。仿真结果表明,本文所提方法节约了备份实例和备份带宽的资源消耗,提升了SFC的接受率。
下一步将基于本文成果,进一步提升突发事件环境下SFC的可靠性。