摘要:在网络功能虚拟化(NFV)环境中,为了提高网络中基础设施资源利用率,高效动态部署服务功能 链,编排管理域需要对网络中底层资源及虚拟网络功能状态进行实时监测,但实时监测会产生大量通信开销。提出了网络通信开销最小化的智能分布式监测策略,通过改进的标签传播算法智能划分子网并选择代理监测 节点,实现了对资源和虚拟功能状态的高效监测,并使监测信息通信开销最小。仿真结果表明,所提监测策 略使网络中监测信息通信开销降低约 13%。

关键词:   网络功能虚拟化 ; 监测 ; 通信开销 ; 代理节点

中图分类号:TP393

文献标识码:A

doi: 10.11959/j.issn.2096−109x.2019061

1 引言

传统网络架构通常采用大量的专用设备为网络用户提供业务服务,网络中新型业务和流量的不断增加给运营商带来一系列问题,如运维成本昂贵、网络配置管理复杂度高和业务扩展能力差等。为了解决这些问题,工业界提出了网络功能虚拟化(NFV,network functions virtualization)的概念。网络功能虚拟化摒弃了传统的基于专用硬件静态、僵化的网络功能部署方式,利用虚拟化技术,将网络功能(防火墙、网络地址转换和深度检测)从专用硬件中剥离,并以软件的形式部署在通用的x86服务器中,实现了专用硬件的软硬件解耦和。这些基于软件的虚拟网络功能根据用户需求按照一定的逻辑顺序组合成服务功能链,进而为用户提供相应的网络服务。与提前部署、硬件独享、业务固定的传统网络相比,网络功能虚拟化不再依赖于专用硬件。网络服务可以灵活部署,资源充分共享,不仅降低了运营商的成本,而且提高了网络的扩展性能。 在网络功能虚拟化环境中,虚拟网络功能按照需求合理地部署在底层物理节点上或物理节点中的虚拟机(VM,virtual machine)内部。若网络中有业务请求到达时,管理编排域针对服务请求部署服务链,需要为服务链中每个虚拟网络功能和虚拟链路分配相应的物理资源才能实现网络服务。在资源共享的NFV网络环境中,网络中的服务请求以及业务流量不断发生变化,底层资源和虚拟网络功能的状态也随之不断变化。网络中不同虚拟网络功能的生命周期也存在差异性,尤其是网络资源或虚拟功能的故障会导致整个服务中断,因此,管理编排域需要对NFV网络中物理资源、虚拟资源及虚拟网络功能状态进行实时监测。对资源状态的实时监测可以实现网络中业务请求与资源及虚拟化网络功能(VNF)的高度耦合,提高网络资源利用率和网络稳健性,进而为服务功能链的灵活高效部署提供有力支撑。 文献根据硬件资源利用率和其他特定指标来识别网络性能瓶颈,但其只针对硬件资源进行监测,没有对虚拟资源及虚拟网络功能状态进行监测感知。文献提出了一种监测感知架构,将现有技术OpenStack、OpenDayLight和虚拟功能状态监测进行集成,分别对网络中计算存储资源、网络资源及网络功能状态进行监测,通过添加信息处理模块对监测信息整理。文献提出监测虚拟机资源策略,利用虚拟功能所耗资源的概率分布对虚拟机资源监测,进而完成网络资源状态监测。文献提出IMO监测策略,根据节点间跳数设置感知监测节点,对网络资源状态进行监测。文献提出分布式监测策略DReAM,通过各个节点对相邻节点资源状态进行监测并将异常信息传输到管理编排域,但会在网络中产生大量通信开销。 在网络功能虚拟化环境中,为了高效地部署服务链,提高网络资源利用率,管理编排域需要对网络中大规模资源和功能状态进行实时监测,现有的监测策略会消耗大量时间和链路带宽资源。为了降低网络中监测信息的通信开销,本文提出分布式代理监测策略,构建网络通信开销最小化模型,将大规模网络智能划分为若干监测子网并部署代理监测节点,实现网络资源状态的高效监测。

2 问题描述和系统模型

2.1 问题描述

网络功能虚拟化中资源状态监测框架如图1所示,主要包含以下部分。 1) 底层物理资源。底层物理资源是 NFV 网络架构的基础,用来托管和连接虚拟网络功能,可以同时为多个VNF提供资源,包括计算、存储资源和连接处理虚拟网络功能的网络资源。

虚拟化技术资源池化_网络资源

图1   NFV中资源状态监测框架 2) 虚拟资源。虚拟资源是对物理资源的抽象,通过映射在底层物理资源上的虚拟机或虚拟容器实现,包括虚拟计算资源、虚拟存储资源和虚拟网络资源。 3) 虚拟网络功能。虚拟网络功能是服务链的基本单元,服务功能链通过组合的虚拟网络功能为用户提供网络服务。虚拟网络功能具有开放的外部接口和专属功能,通过网络资源承载来完成特定功能,其业务流量处理能力与资源消耗正相关。 4) 管理编排域。管理编排域负责对整个系统进行管理维护,是整个网络架构的“大脑”。一方面对网络中的物理资源、虚拟资源和虚拟网络功能状态进行实时监测;另一方面根据网络资源状态感知结果和用户服务请求,部署调度虚拟网络功能。 在NFV环境中,实时监测网络资源状态信息会产生大量通信开销,对此,本文提出分布式智能分布式监测模型,旨在降低监测信息在网络中的通信开销,其监测框架如图2所示。分布式智能监测框架在原监测架构的基础上添加了监测子网和代理监测节点。 1) 监测子网。在大规模 NFV 网络中,根据算法将底层物理资源划分为互不重叠的若干监测子网,并在各子网内部署代理监测节点。 2) 代理监测节点。在每个监测子网内部署一个代理节点,负责监测本区域内网络资源和虚拟功能状态信息,并将监测信息汇聚筛选后发送至管理编排域。

虚拟化技术资源池化_网络资源_02

图2   资源状态分布式监测框架

3) 网络中底层物理资源及其承载的虚拟资源、VNF则根据分布式监测策略分属于不同的监测子网。 考虑到现实网络拓扑具有社团属性,可以根据节点间相关性对网络进行子网划分。同一子网内的网络节点通联密切、关联性大,子网间节点关联性较低,可以降低网络中监测信息的传输时延和链路资源消耗。标签传播算法(LPA,label propagation algorithm)可以根据网络社团结构将网络划分为多个子网,但在实际网络中会存在以下问题:1) 标签传播算法中节点标签的传播和更新顺序是随机的,但在网络中各节点的影响力和重要性不同,若随机传播更新节点,会导致子网划分与网络结构不符,且算法稳定性较差;2)标签传播算法仅针对网络结构传播标签,没有考虑子网规模,会导致各子网规模差值较大,进而导致代理监测节点监测信息负载失衡。 基于以上分析,本文提出的代理监测策略如下:首先,基于标签传播算法,结合网络中节点的重要程度及代理监测节点的负载约束,将网络节点智能划分为互不重叠的多个子网并使各子网规模相当;其次,通过通信开销最小化模型部署代理监测节点,对子网内资源状态进行监测,并将监测信息整合过滤后发送至管理编排域。该监测策略无须网络规模等前置信息,可以根据底层网络的不同拓扑动态设置代理监测节点,实现了对底层资源状态的实时监测感知,并降低了监测信息的通信开销。

2.2 系统模型

将底层物理网络构建为无向图G=(V,E),其中, 

虚拟化技术资源池化_虚拟网络_03

是网络拓扑中物理节点集合,n 为物理节点个数,

虚拟化技术资源池化_子网_04

表示网络中的物理链路集合。假设底层物理网络被智能划分为K个监测子网,用

虚拟化技术资源池化_vb查询xml中特定节点下的标签_05

表示。各监测子网内均部署一个代理监测节点v agent ,代理监测节点对子网内的节点和链路资源状态进行监测感知并对监测信息整合筛选,将感知结果传送至管理编排域。网络中所有物理节点v均属于且仅属于一个监测子网 s,各监测子网间节点互不重叠。在每个监测子网内,非代理节点感知其物理资源、虚拟资源、虚拟功能状态及与其相连的链路状态等信息,并将资源状态信息发送至代理监测节点。假设每个物理节点统计上报的监测数据格式一致,则非代理节点的传输资源状态信息消耗的带宽相同。 定义网络传播标签,标签传播算法对网络中各个节点进行标签传播更新,并根据最终的节点标签划分子网使子网内节点关联性较高。为网络中所有节点设置不同的初始标签传播号

虚拟化技术资源池化_子网_06

,设经过m次标签传播更新后网络中物理节点的标签号为

虚拟化技术资源池化_虚拟网络_07

,其中,

虚拟化技术资源池化_虚拟化技术资源池化_08

表示第j个节点经过i次传播后的标签号。 定义节点密度函数ρ,表示节点的邻居节点数。节点密度函数越大,其在网络中的重要程度越高。 定义网络节点连通性Connection,若节点va和节点vb同属一个监测子网则Connection(va,vb)为1,否则为0。 若子网内节点数越多,则代理监测节点信息数据量越大。为了控制各监测子网规模,定义子网间负载均衡指数

虚拟化技术资源池化_虚拟网络_09

,用子网间节点的最大差值来表示,如式(1)所示, 

虚拟化技术资源池化_虚拟化技术资源池化_10

表示监测子网S i 内网络节点数。

虚拟化技术资源池化_vb查询xml中特定节点下的标签_11

监测信息在传输过程中的通信开销主要包括带宽和时延两方面,假设各节点传输监测信息带宽相同,则节点间通信开销主要是链路传输时延。因此,节点v a和节点vb间传输监测信息所用通信开销为节点间链路的最短时延,如式(2)所示。

虚拟化技术资源池化_子网_12

设监测子网S内有m个物理节点,代理监测节点为vagent,则子网内监测信息传输的通信开销如式(3)所示,其中,OverheadOrchestration为代理监测节点将监测信息传输至管理编排域的通信开销。

虚拟化技术资源池化_虚拟网络_13

设置资源状态监测算法的目标函数为监测信息的通信开销最小,如式(4)所示。

虚拟化技术资源池化_虚拟化技术资源池化_14

大规模 NFV 网络中资源状态的监测还需满足以下约束条件。

虚拟化技术资源池化_vb查询xml中特定节点下的标签_15

式(5)表示底层网络拓扑中各监测子网间节点互不重叠;式(6)是各子网间网络规模负载均衡的约束条件,StandardLoad是网络运营商设置的子网负载指数上限;式(7)保证了网络中非代理节点均向代理节点传输资源状态信息且只向一个代理节点传输监测信息。

3 算法求解

文献提出的复杂网络社团发现标号传播算法,根据网络拓扑中节点间关系,在目标节点和邻居节点间随机更新标签信息,不断迭代直至标签趋于稳定,最后根据节点标签划分子网。该算法可以在线性时间内利用少量计算存储资源将大规模网络划分成关联性较强的多个子网。 但在实际网络中,首先,需要考虑节点的影响力和重要程度,按照节点的重要程度依次更新网络标签;其次,实际的网络结构并非理想均匀,若完全按照标签传播算法划分子网可能会导致各子网之间规模差异较大,需要对子网规模进行约束以降低子网间规模差异。因此,本文针对NFV网络资源状态实时监测问题,设计了改进的标签传播子网划分代理监测算法(ILSAM,improved LPA subdomain agent monitor)。该算法不需人工干预,无须提前获取网络规模,就可以对不同的网络拓扑进行监测子网智能划分并设置代理监测节点,实现网络资源状态的高效监测。 ILSAM算法主要分为两步:首先,使用改进的标签传播算法对大规模网络进行智能分域;然后,根据监测信息通信开销最小化模型在各子网内部署代理监测节点。该算法实现了编排管理域对底层资源状态的监测感知,并使网络中的监测信息通信开销最小。 (1)智能划分子网 根据网络中节点密度函数ρ对节点进行降序排列,按照节点的重要性控制标签传播能力和顺序,同时根据子网间负载指数控制子网规模,直至网络中各节点标签稳定后停止更新,则负载均衡的监测子网划分完毕,详细算法如算法1所示。 算法1 子网划分算法 Set standard of load balance StandardLoad

虚拟化技术资源池化_vb查询xml中特定节点下的标签_16

在智能划分子网的过程中,按照节点的重要性依次更新标签(第9行),若邻节点中多个标号数一样,按照节点的重要程度选择标签(第 11行),并控制各子网规模(第12行),若节点标签不再更新,则退出程序完成子网划分(第19行)。 (2)在子网内设置代理监测节点 在监测子网内部署代理监测节点,使网络中资源监测的通信开销最小,详细算法如算法2所示。 算法2 代理节点部署算法 Create N node

虚拟化技术资源池化_虚拟网络_17

 实验仿真与性能评估

4.1 仿真环境

为了验证策略性能,本文使用GT-ITM工具生成底层网络拓扑,通过Matlab软件进行模拟仿真。仿真计算机为Windows 7操作系统,配置为3.4 GHz Intel Core i7-4790处理器,8 GB内存, 1 Gbit/s网络接口。在仿真实验中分别生成节点数为n 50= 、n=100、n=150、n=200、n=250的不同网络拓扑进行实验对比。假设各底层节点间传输的监测信息量相同,且物理节点间互不影响,子网间节点数量差值不超过3。

4.2 仿真结果和性能分析

为了验证本文提出的监测策略及 ILSAM 算法性能,将该算法与文献 提出的资源监测算法IMO、DReAM分别进行对比,此外将实验结果与标签传播监测算法LSAM进行了对比。 (1) 网络中代理节点数量 在 ILSAM 算法中,根据网络拓扑中节点间的相关性和子网负载指数智能划分子网并设置代理节点。因此,针对不同的网络规模和拓扑,算法可以对代理节点数量和位置进行自适应调整,而DReAM和IMO算法中的代理节点均根据要求提前部署,无法根据底层网络的动态变化调整代理节点数量。 图3  为 ILSAM 算法在不同网络规模下代理节点的变化情况。

LoadBalanceij=||Si|−|Sj||∀i,j∈k     (1)" role="presentation" style=" box-sizing: border-box; list-style: none; display: inline; line-height: normal; text-indent: 0px; text-align: left; letter-spacing: normal; word-spacing: normal; overflow-wrap: normal; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border-width: 0px; border-style: initial; border-color: initial; ">

LoadBalanceij=||Si|−|Sj||∀i,j∈k     (1)" role="presentation" style=" box-sizing: border-box; list-style: none; display: inline; line-height: normal; text-indent: 0px; text-align: left; letter-spacing: normal; word-spacing: normal; overflow-wrap: normal; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border-width: 0px; border-style: initial; border-color: initial; ">

虚拟化技术资源池化_虚拟化技术资源池化_18

图3   ILSAM在不同网络拓扑中代理监测节点数

LoadBalanceij=||Si|−|Sj||∀i,j∈k     (1)" role="presentation" style=" box-sizing: border-box; list-style: none; display: inline; line-height: normal; text-indent: 0px; text-align: left; letter-spacing: normal; word-spacing: normal; overflow-wrap: normal; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border-width: 0px; border-style: initial; border-color: initial; ">

(2) 子网规模 定义子网节点数方差,假设底层网络被划分为K个监测子网,各子网间节点平均数为μ,X(i)是第i个子网内节点数,则其子网节点数方差为

虚拟化技术资源池化_虚拟网络_19

从以上定义可以看出,子网节点数方差表示各监测子网间物理节点数量的差异程度。 方差值越小,子网间节点数量差异越小,子网划分越均匀,则每个代理节点监测信息更加均衡。 根据子网节点数方差对不同算法下代理节点监测的数量进行仿真。 图4为不同网络规模下,不同算法中子网节点数量的方差图。 从仿真结果中可以看到,IMO算法中各子网间节点数量差异最小,ILSAM 算法次之,LSAM 中各子网间节点数量差异最大。 IMO算法对不同底层网络预先设置代理节点数量,故该算法代理节点监测数量最为均衡; LSAM没有考虑节点密度函数和代理节点负载指数,所以各子网节点数量差值较大; ILSAM算法对代理节点监测开销做均衡处理,并根据节点重要性更新标签,故其子网规模较为均衡。

虚拟化技术资源池化_虚拟网络_20

图4   不同算法下子网节点数量方差图

(3) 监测信息通信开销 图5为不同网络规模下网络监测信息的通信开销。 从仿真结果可以看到 ILSAM 算法通信开销最小,LSAM和IMO算法次之,DReAM算法通信开销最大。 由于DReAM采用相邻节点互相监测的策略,故其通信开销最大,对网络链路的负载也最大; IMO没有考虑节点间结构相关性,也没有动态调整代理节点机制,导致其通信开销较大; LSAM忽略了节点影响力和子网规模,所以网络整体通信开销较大; ILSAM 对 LSAM 进行改进,结合节点的重要程度依次更新标签,并对子网规模进行约束,使资源监测信息通信开销最小。 相比次优策略,ILSAM通信开销降低约13%。

虚拟化技术资源池化_子网_21

图5   不同算法下资源监测通信开销

4.3 算法复杂度分析

假设在网络拓扑G中,共包含n个物理节点,节点间通过m条物理链路相互连接。 若使用线性规划内点法在该拓扑中部署k个代理监测节点,时间复杂度为 O(n3.5⋅L2),会产生大量时延影响服务链部署; 算法LSAM首先对节点标签进行初始化,初始化时间复杂度为O(n),各节点标签更新时间复杂度是O(d)(d为节点度数),因此整个网络的标签更新时间复杂度是O(m),所以LSAM算法的时间复杂度为O(n+m); 而本文提出的ILSAM算法在LSAM算法的基础上需要按照节点重要性对网络节点进行排序并控制子网中节点数量,其时间复杂度是O(n)。 因此,LSAM和ILSAM算法复杂度基本一致,相比线性规划算法复杂度有了明显改善,而 ILSAM 根据网络中节点的重要性更新节点标签并控制子网规模,划分子网更加合理,降低了资源监测的通信开销。

5 结束语

本文主要针对网络功能虚拟化环境中大规模资源状态实时监测的问题,设计了基于网络社团结构的智能分布式代理监测策略,建立监测信息通信开销最小化模型,利用改进的标签传播算法实现了不同拓扑下代理监测节点的智能优化部署。 实验结果表明,所提策略降低了算法的计算复杂度和网络通信开销。 但在降低通信开销的同时,算法牺牲了代理监测节点的计算存储资源,下一步将继续对算法进行改进,提高算法性能。

LoadBalanceij=||Si|−|Sj||∀i,j∈k     (1)" role="presentation" style=" box-sizing: border-box; list-style: none; display: inline; line-height: normal; text-indent: 0px; text-align: left; letter-spacing: normal; word-spacing: normal; overflow-wrap: normal; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border-width: 0px; border-style: initial; border-color: initial; ">

作者简介

海梅生(1989-),男,山西万荣人,硕士,主要研究方向为新型网络体系结构和网络安全 伊鹏(1977-),男,湖北黄冈人,博士,国家数字交换系统工程技术研究中心研究员、博士生导师,主要研究方向为新型网络体系结构和网络安全。  江逸茗(1984-),男,河南郑州人,博士,国家数字交换系统工程技术研究中心讲师,主要研究方向为新型网络体系结构和网络虚拟化。  谢记超(1994-),男,河北石家庄人,硕士,主要研究方向为新型网络体系结构和网络虚拟化。  网络与信息安全学报