作者:郑晓敏
1 引言
NFV (network function virtualization)技术基于通用服务器硬件,并以软件化的形式提供各类网络功能,为运营商未来网络业务的灵活部署和网络结构的快速调整提供了极大的支撑能力,尤其是相关的业务链(service chain)技术,可以灵活地将固移网络中的网元和网络功能,如DPI(deep packet inspection,深度分组检测)、服务器负载均衡器、NAT(网络地址转换)等,以VNF (virtualized networkfunction.虚拟化网络功能)的形式按需组合,快速形成各类强大的网络业务处理引擎。
NFV业务链是一个有序的VNF集合,用户流量按照指定的策略依次通过多个VNF,例如不同套餐的流量通过不同的VNF集合,以实现网络业务的按需处理。由于业务链中的VNF运行在通用服务器上的虚拟机(VM)环境中,各服务器之间的VNF又组成不同的虚拟化网络,这种高度可伸缩的电信业务处理架构保证了VNF的灵活加载和快速调整能力,但也引入了复杂的资源调度问题。目前,运营商网络业务链应用中的突出问题表现在业务链描述模型的建立、业务链资源分配机制、虚拟化组网、业务链自动配置与管理等几个方面。其中,业务链资源分配机制直接影响了NFV系统运行和资源集约利用效率,具有重要的研究意义。
本文将针对业务链在运营商网络的应用场景,分析相关的资源分配问题,并提供一个NFV场景下的业务链资源分配方案。
2 NFV业务链应用场景及业界研究现状
2.1 NFV业务链在lP网络中的应用场景
NFV业务链可应用于宽带城域/骨干网边缘、IP RAN、移动核心网等领域。根据目前的NFV服务器处理能力和网卡容量,应用于IP网络边缘或作为移动域P-I网关较为合理。
目前,IP网络边缘的专用硬件存在着功能较少、新业务板卡开发周期长、部署缺乏灵活性等问题,通过在x86服务器上部署软件化的VNF及其相关的业务链部件,可以降低部署成本和加快部署周期。如图1所示,可以在IP网络边缘BRAS(broadband remote access server,宽带远程接入服务器)的位置部署各类基于x86服务器的VNF软件,VNF实现BRAS的DPI、NAT和CDN(内容分发网络)等功能板卡,通过BRAS的用户流量会被引导进入各个VNF组成的NFV业务链,这种模式有效提升了IP网络边缘业务的部署弹性和可扩展性。
NFV业务链存在串行和星型两种组网方式:串行连接如图2所示,这种网卡端口首尾相连的连接方式结构简单,服务器之间可以不经过交换机直接互连,节约交换机端口,但流量只能从第一台服务器进入,从最后一台服务器流出,因而服务器间的链路带宽可能成为限制网络容量的瓶颈;而在星型连接中,则要求每台服务器保留一进一出两个网卡端口,并上联到2个交换机端口,服务器组成业务链时会耗费大量的硬件端口,成本较高。
图2中,每个x86物理服务器均安装开源交换机(OVS),OVS连接了多个VM,每个VM在实例化以后,形成特定的VNF,不同的VNF通过OVS构建的虚拟化网络连接,形成不同的VNF业务链。业务链中的每个VM只能安装一个VNF,多个VM安装的VNF可以相同,并且每台服务器上能够开启的VM个数受限于服务器的硬件配置。
本文主要针对串行组网业务链的资源调度问题进行研究,主要原因有3个方面:目前在实际工程应用中,以小规模的NFV业务链居多,成熟的实现方法主要采用串行方法:串行组网可以明显节省硬件成本;在星型组网情况下,流量从BRAS设备到达任何VNF均为一跳距离,资源分配可采用常规的负载均衡方法解决,而串行方式需要防止流量在前后两台服务器之间进行折返,资源调度问题更为复杂。
2.2 NFV业务链资源分配问题研究现状
NFV业务链资源调度的目标是为特定的VNF选择一个VM(VM放置),并决定如何将用户流量引导到该VM(选择业务路径),既要考虑这些流量到达VNF(VM)将占用的网络带宽,也要考虑VNF处理这些流量需要消耗的计算资源,这是密不可分的两个过程。然而,业界缺乏针对NFV场景的业务链资源调度方案,更多是以数据中心业务为场景的单- VM放置问题研究,或者单一的VNF业务路径选择问题研究(不考虑VM资源),下面进行简要分析。
2.2.1 VM放置问题
VM放置问题是指在计算资源池中确定多少个VM能够安装相同的某类业务,如Web服务器,并确定在哪台服务器的具体VM上安装上述业务的问题。VM的放置与NFV中的VNF放置有着本质的区别,前者用于云IDC中,VM内部可以没有用户流量,因此不消耗带宽资源,而后者用于广域网中,VNF必须用于处理各类用户流量,从而消耗带宽、CPU和内存3类异构资源资源。Fumio Machida希望使用最少的物理服务器实现VM冗余放置的问题,利用排队论模型计算出每个业务功能的平均响应时间、需要的VM个数和服务器个数,并提出了一种可以保证相同业务放置在不同服务器上的VM放置方法,从而实现高可靠性保障,但该方法没有考虑对链路带宽的优化使用。
参考文献提出了一个基于数据中心的放置方案,它考虑了VM资源(CPU、内存)、可用性(相关或非相关)和通信资源(带宽、时延等)3种限制,可以对假定的通信资源和VM资源进行优化。但是,该方案仅仅考虑了两个VM之间的带宽和容量,无法用于端到端多跳的业务链资源计算。此外,方案中引入了多层判断机制,并混合使用了多种算法,因此在工程实施中具有一定复杂性。
2.2.2业务链选路问题
业务链选路问题是指如何引导用户流量按照正确的顺序穿过指定VM的问题,引导的依据可以是距离、时延或者某类资源的最小化要求。
参考文献[6]提出了一个在传统电信网络中的业务链MiddleBox(专用业务功能设备)放置方法与业务链选路方法,方案根据所有用户流量的业务链序列,构造一个VNF依赖关系图,图的顶点是MiddleBox,边是业务链序列中相邻MiddleBox间的连线。将度数最大(即连线最多)的MiddleBox放置在离用户人口最近处,并通过求取MiddleBox对之间的最短路径之和获取业务路径。该方案适用于基于传统网络设备构造的业务链场景,没有涉及NFV场景下计算资源(CPU、内存等)的消耗;此外,在实际应用中,获得所有用户流量关于业务链序列的先验信息比较困难,无法在实际工程中应用。
Hyeonseok Oh提出的路径选择方法总共分为两步:首先,确定业务链前两个VNF的VM,假设VNF1、VNF2均对应多个可选VM.那么应选择相距最近的2个VM作为业务链路径必经点;接着,遍历剩下VNF之间的可能路径,选择其中的最短路,以上两个步骤的路径加起来便是完整的业务链路径。上述方案仅考虑了对路径长度的优化,没有兼顾VM内存、CPU、链路带宽等网络资源。
2.2.3现状分析
NFV业务链资源调度需要综合考虑VNF放置和VNF选路两类问题。目前,业界缺乏针对NFV资源(计算与网络)的业务链优化选路技术,存在的问题主要包括以下方面。
首先,单纯云计算资源池中的VM放置优化方法应用于NFV业务链时,由于缺乏网络资源控制,会造成VNF链路局部拥塞、系统容量低、接入用户少等系列问题:而纯粹基于距离、时延和带宽的业务链选路方法,由于不考虑VNF对计算资源的消耗,会造成部分服务器迅速过载,最终导致业务链系统整体性能劣化。
其次,上述各类研究基本只考虑了VNF的静态初始化放置,不涉及运行期间VNF的动态添加。业务链选路应该建立在VNF初始化放置的基础上,并随着系统负载的实时变化进行动态调整。
最后,上述各类方案均较复杂,难以满足工程应用中的业务快速自动部署需求。
目前工程实践中唯一实用化的解决方案,在OpenDaylight开源社区的SFC (service fuction chain)项目中被提出,它提供了两种NFV业务链资源分配方案:最小负荷(least load,LL)和随机(random)分配,这两种方案将VNF放置和路径选择结合在一起考虑,简单易行,但是方案同样会造成串行路径折返和链路带宽浪费,同时也没有考虑VNF的动态调整问题。因此,对比和完善OpenDaylight社区方法,研究实用化的新型资源分配方案,具有重要的工程价值。
综上所述,本文提出了两阶段优化( two-leveloptimization,TLO)方案,通过VNF初始化放置,资源检查和路径选择3个关键步骤实现业务链资源的优化分配,同时,方案考虑了VNF在服务器上的初始化放置和运行时期VNF的动态增加,可以发现全局最优路径,并防止业务链路径折返,大幅提升NFV业务链的整体吞吐量。
本文的后续章节介绍了提出的串行NFV业务链资源调度方案和TLO算法,随后,与OpenDaylight提供的标准LL和random算法进行了实验对比分析。相关算法已经在OpenDaylight控制器中进行了集成和验证,可以从OpenDaylight社区下载相关代码。
3 串行业务链资源分配方案研究
3.1 方案基本框架
假定整个NFV串行业务链是一个只进不出的封闭系统,每到达一批用户将消耗一部分业务链资源,包括CPL、内存以及业务路径所经链路的带宽。用户流量消耗的资源将被永久扣除,直至资源耗尽无法再接待用户。TLO方案的目标为吞吐量最大,即资源耗尽时接待的用户数最多。为达到该目标,考虑对物理服务器间的链路带宽、VM的内存资源和CPU资源这3种网络资源进行优化利用。
方案总体分为两个阶段:初始化阶段和运行阶段。初始化阶段是在服务器上预先放置VNF.初始化阶段完成后便可以对用户进行服务,每个用户都有各自的业务链需求,如用户A的需求是DPI→FW→NAT,用户B的需求是DPI→CDN;运行阶段需要为用户选择合适的业务链路径,使得网络资源被合理利用。图3展示了方案基本思路。
3.2方案描述
方案由如下几个关键步骤组成。
(1)VNF初始化放置:在服务器上预置各个VNF。通过经验值或历史数据获得每个VNF的用户需求百分比,按占比数由大到小的顺序依次在不同服务器上放置一个VNF。假设需求百分比排序结果为DPI> FW> NAT,那么应该在服务器1上开启DPI,在服务器2上开启FW,在服务器3上开启NAT。本方案使VNF到用户入口的距离反比于VNF热度,避免用户流量在初始拓扑中出现路径折返,浪费链路带宽。
(2)资源检查:每当用户流量到来时,检查业务链上VNF对应的网络资源是否足够。若资源不足,通过新增VM创建新的VNF资源,实现VNF的动态增加。新增VM的方法和具体流程如图4所示。
(3)路径选择:本文提出了一套业务链路径选择算法,具体实现流程如图5所示。
已知用户对VM资源的消耗量,业务链路径能接待的用户数计算方法如下:
·路径接待用户数=min(VNFl接待用户数,…,VNFn接待用户数):
·VNF接待用户数=min(CPU接待数,内存接待数);
·CPU接待数=VM的CPU剩余资源/用户对CPU的消耗量:
·内存接待数= VM的内存剩余资源/用户对内存的消耗量。
另外,算法还提供了用于服务器间链路带宽优化的折返路径优化机制。
折返路径的判断:串行连接方式下,不折返路径长度为恒定值(服务器个数+1),因此大于此数值的路径必然折返。
折返路径的纠正:首先,将可行路径按照长度由短到长、接待用户数由多到少的顺序进行排序;然后,从第一条路径开始,通过新增VM的方式纠正折返路径。VM新增方法要遵循两个原则:第一,新增VM个数最少;第二,在可以放置新增VM的服务器中,选择当前VM个数最少的服务器。一旦成功纠正,立即停止纠正机制,并选择纠正成功的路径作为业务链路径;若所有路径都纠正失败,那么选择长度最短的路径作为业务链路径。
算法的路径折返纠正机制实现了对物理服务器间的链路带宽的优化利用,并且在进行路径选择时,充分考虑了对VM内存和CPU资源的均衡使用。
4 实验与分析
将TLO方案与OpenDaylight提出的LL和random方案进行比较。
LL和random方案均采用随机的VNF初始化放置方法。LL方案在进行路径选择时,每次均选择能够接待用户数最多的VNF(负荷最小的VM),然后将这些VNF虚拟机串接起来构成最终的业务路径;而random方案则随机选择VNF.将这些VNF虚拟机串起来构成最终路径。
进行两组实验,分别对TLO方案的两个阶段方法进行性能分析。实验1将TLO初始化方法同随机初始化法进行对比分析:实验2在采用TLO初始化方法的前提下,将TLO路径选择算法同LL及random路径选择算法进行比较。
实验输入为随机生成的业务链序列,每个业务链序列描述了一个用户流量需要通过的VNF以及通过顺序,业务链长度假定为3~5个VNF。实验将依次为用户流量找到合适的业务链路径,每服务完一位用户才能接待下一位用户。
实验设置了10台物理服务器。根据物理服务器实际测试结果,OVS会消耗近50%的服务器资源,因此假设每个服务器最多能开启4台VM是较为合理的。另外,实验假定有7个VNF,VNF的相关参数见表1。
由于IP网络边缘的物理服务器间链路带宽和VM资源比例关系大致为10:1,因而假设物理服务器间链路带宽初始值为10.VM的CPU和内存资源初始值为1。
两组实验各自重复400次,每次使用不同输入,最后对网络平均吞吐量和VNF间平均路径长度进行统计,这两个性能指标定义如下:吞吐量=接待用户数;VNF间路径平均长度=路径长度/业务链长度。
4.1 实验1
随机初始化方法将7个VNF随机排序,并逐一放置在各个服务器上。由于不同排序结果会导致不同的实验结果,因此选取4种随机排序同TLO初始化方法进行比较。由于初始化方法只是对VNF的预置,需要运行以后才能比较方法性能,因此运行阶段的路径选择方法采用TLO路径选择算法,实验结果如图6、图7所示,其中图6纵坐标的单位为用户个数/session。
4.2实验2
实验2的结果如图8和图9所示,其中图8纵坐标的单位为用户个数/session。可以看出,虽然随机初始化1的性能与TLO初始化方法不相上下,但随机初始化方法的平均性能明显不及TLO方法。另外,TLO路径选择算法的总体性能优于LL和random算法。在本实验中,TLO业务链资源分配方案提升了48.7%的网络吞吐量,降低了11.1%的VNF间路径平均长度。
5结束语
本文首先详细分析了NFV业务链资源分配问题研究现状,然后提出了TLO业务链资源分配方案,该方案分为初始化和运行两个阶段。在初始化阶段,TLO方案提出了一种简单易行的VNF初始化放置方法:在运行阶段,TLO方案考虑了对3种网络资源(物理服务器间链路带宽、VM的CPU资源以及VM内存资源)进行优化利用,帮助用户流量选择最合适的业务链路径。最后通过实验,验证了TLO方案在上述两个阶段的性能优化能力。
本方案支持IP网络边缘网络功能的分布式部署,实现了NFV基础资源的集约化利用,有效增大了NFV设施的承载用户数。同时,网络功能在缩容、扩容方面更富于弹性,可以依据网络业务和用户流量情况进行按需配置,增加了业务链部署和管理的灵活性。
随着业界对NFV业务链研究的不断深入,运营商关注的重点也从功能场景逐步过渡到业务链的各类实现技术,包括业务链组网、业务链资源分配、业务链自动部署与管理技术等方面,本文的研究将有助于NFV业务链技术推广部署。本文的资源分配方案尚属于初步阶段,后续工作包括修正用户流量模型、完善资源感知、批量优化用户资源等几个方面。
5摘要:
SDN/NFV为运营商实现网络重构和架构演进提供了支撑技术,业务链及其组网技术是NFV的一个重要应用场景,相关的业务链资源分配问题是业界的研究热点。首先对业务链现状进行了梳理,重点分析了已有的资源分配机制和存在的问题,提出了一种业务链资源分配方案,充分考虑了对网络资源的优化利用,实现了VNF实例放置和业务链路径优化选择。实验结果表明,本方案具有更大的系统用户容量和更短的业务路径。
上一篇:理论与实践: 波长动态调度TWDM光接入网中的生存性保证
下一篇:返回列表