网络功能虚拟化(NFV)技术研究进展

文献:
王进文, 张晓丽, 李琦, et al. 网络功能虚拟化技术研究进展[J]. 计算机学报, 2019(2).


1 引言

欧洲电信标准协会(European Telecom Standards Institute, ETSI)提出了网络功能虚拟化(Network Function Virtualization, NFV),旨在用软件实现可在行业标准服务器上运行的网络功能,并可根据需求动态部署在网络中不同的位置而无需重新安装新的专用硬件设备。网络功能虚拟化(NFV)技术研究进展

2 NFV标准结构介绍

NFV的标准结构如下:
网络功能虚拟化(NFV)技术研究进展
由图可见,NFV的标准结构主要分为以下三个部分:

  1. 虚拟化网络功能
  2. 网络功能虚拟化设施
  3. 网络功能虚拟化管理和编排器。

2.1 虚拟化网络功能

网络功能(Network Function,NF)是传统网络基础设施中的功能模块,具有固定的内部功能以及良好定义的外部接口。
而虚拟化网络功能(VNF)则是能部署在虚拟资源上的各类软件NF。

2.2 网络功能虚拟化设施

网络功能虚拟化设施(Network Functions Virtualization Infrastructure, NFVI)是提供NFV部署、管理和运行所需环境的软硬件结构总称,主要包括:

  1. 硬件资源
  2. 虚拟化层
  3. 虚拟化资源

硬件资源主要包括由计算机硬件设备组成的计算资源、存储设备构成的存储资源以及由节点和连接链路组成的网络资源。
虚拟化层则主要负责抽象硬件资源,并将VNF和底层硬件资源解耦。
虚拟化资源则是对计算资源、网络资源和存储资源的抽象,与硬件资源相对应。

2.3 网络功能虚拟化管理和编排

网络功能虚拟化管理和编排(Management And Network Orchestration, MANO)部分主要向NFV平台提供协调控制所有VNF所需要的功能和操作。
MANO主要包含以下三个部分:

  1. 虚拟化设施管理器
  2. 虚拟化网络功能管理器(VNF管理器)
  3. 虚拟化网络功能调度器(VNF调度器)

虚拟化设施管理器主要负责监控NFVI中的资源使用情况,并对NFVI中软/硬件资源进行生命周期管理和分配调度。
VNF管理器主要负责VNF生命周期的管理
VNF调度器主要负责协调VNF管理器和虚拟化设施管理器来实现网络功能服务链在虚拟化设施上的部署实施。

此外,MANO还设置有数据库,并提供了一系列标准接口。

2.4 NFV与SDN

软件定义网络(Software Defined Network, SDN)是一种新型的网络架构,其通过解耦网络设备的控制平面和数据平面,旨在实现灵活、智能的网络流量控制。
SDN结合MANO可以高效地控制网络转发,向NFV平台提供VNF之间的可编程流量转发,以此来实现高效灵活的流量调度。
故当结合SDN后,NFV网络系统架构如图所示:
网络功能虚拟化(NFV)技术研究进展
其中图左上方的转发设备主要负责数据包的转发,其中转发规则由SDN控制器决定,并以流表项的形式下发到交换机。

3 NFV技术研究概况

对NFV的研究可以分为以下6个领域:

  1. VNF构建及运行环境优化
  2. NFV管理系统设计及优化
  3. 策略实施与验证
  4. 资源分配及迁移策略
  5. NFV负载均衡和状态管理技术
  6. NFV架构的安全问题
    网络功能虚拟化(NFV)技术研究进展

3.1 VNF构建及运行环境优化

模块化开发VNF:通过组合不同现成的VNF功能模块,生成定制化的VNF。
目前对NVF运行环境的优化以及VNF隔离机制的优化,相关工作主要有ClickOS和NetBricks。
Martins等人通过结合基于Xen的操作系统MiniOS和模块化路由器Click,实现了高性能的模块化VNF构建和运行平台ClickOS。
但ClickOS无法解决VNF开发过程中需要修改VNF功能模块来实现性能优化的问题,此外VNF运行环境使用VM进行内存隔离的方式,由于VNF频繁穿越内存隔离边界,上下文切换产生的开销使NFV平台处理性能大幅下降。针对以上问题,Panda等人提出了高性能VNF的构建框架NetBricks。
NetBricks首先通过向开发者提供VNF模块的构建框架,使VNF开发者通过组合必要的VNF模块组件,实现高效的VNF功能模块,避免了开发者对现成VNF模块的重复修改。NetBricks还通过安全语言(Rust)和LLVM来实现软件内存隔离,并利用独特类型方法,在编译阶段通过类型检查实现了数据包的隔离(数据包不能被其他不相关VNF处理)。

3.2 NFV管理系统设计及优化

对于不同的VNF通常需要定制化实现其管理功能,其中包括VNF的部署、网络流量过载检测、负载均衡机制、容错恢复机制。而对不同的VNF重复实现管理功能延长了开发周期,阻碍了软件的创新。故集成VNF管理功能的NFV框架成为网络管理员和VNF软件提供商的迫切需求。
最具代表性的工作:E2,其系统架构如图所示:
网络功能虚拟化(NFV)技术研究进展
其中E2D是对SoftNIC的拓展,而SoftNIC是一种可编程的高效软件交换机,通过对SoftNIC的拓展,可以实现流量监控、负载均衡、流量追踪、数据包分类以及不同VNF之间通信的隧道。
E2管理器负责根据网络状况和用户配置生成VNF管理决策。E2服务器代理主要负责执行E2管理器的决策并将服务器上VNF的相关信息向E2管理器上报。

之后的工作则关注于NFV平台的性能优化,目前主要有最小化资源部署量、共用不同VNF之间相同的数据包处理模块以及VNF并行处理数据包三种方式,主要工作包括CoMB、OpenBox和NFP。

CoMB,首先通过NFV平台中拥有网络和资源信息的控制器,将全部流量根据处理路径进行分类,并生成对应网络功能链(由指定次序的VNF依次连接而成),称为超级应用。然后控制器根据VNF平台中不同服务器的物理资源状况、不同超级应用对资源的使用情况以及每类流量的大小情况,生成流量到不同节点的分配策略。
CoMB通过最小化NFV平台内节点流量的峰值,减少了每个节点的最大资源部署数量,此外通过分析不同VNF中存在26%~88%的可复用网络功能模块,通过共用这些可复用网络功能模块可用来缩短数据包经过NFV平台的处理延迟。
但CoMB只分析了在会话重建和协议分析方面的复用潜力,而忽略了更细粒度的核心VNF处理模块的复用优化空间。而OpenBox则通过将NF的控制层与数据层分离,利用逻辑中心化控制器来实现NFV平台的部署管理和优化。
OpenBox通过将不同VNF重复的网络功能处理模块合并,实现不同VNF之间的相同网络功能处理模块复用。如下图将Firewall和IPS包处理流程合并:
网络功能虚拟化(NFV)技术研究进展
而NFP框架则是考虑不同网络功能之间的可并行性,通过自动化并行不冲突的VNF的NFV来减少处理延迟。例如下图Firewall和IDS都不会对经过的数据包进行修改,故可以并行部署。
网络功能虚拟化(NFV)技术研究进展
最后对NFV管理系统设计及优化的相关工作总结如下:
网络功能虚拟化(NFV)技术研究进展

3.3 策略实施与验证

在实现NFV平台策略正确实施方面,主要存在数据包携带VNF处理上下文信息和VNF服务链分解两种方法,相关工作包括FlowTags和Stratos。
目前VNF策略实施验证的手段主要包括静态验证和动态验证,相关工作包括SLA-V和BUZZ。

3.4 资源分配和迁移策略

在NFV平台中,MANO负责资源分配和迁移策略的计算,其根据虚拟化设施管理器以及VNF管理器中虚拟资源和VNF的相关信息,利用优化模型进行问题建模,从VNF服务链的构造、VNF部署以及VNF调度三个角度来计算NFV平台的资源分配及迁移策略。
VNF服务链构造是指按照网络策略的定义,根据不同VNF之间的依赖,依次连接VNF。
VNF部署是指将VNF服务链部署在实际的物理资源之上。
VNF调度是指,在保证VNF服务链策略依赖的前提下,在有限的物理资源上对不同VNF服务链上的VNF进行运行调度,使得不同的VNF服务链在有限的资源上得以有序高效地运行。

对于不同的NFV部署场景中,资源分配和迁移策略使用的优化模型由不同的优化目标。例如最小化NFVI上的VNF部署数量或最大化NFVI上能够部署的NFV服务链数量。这些目标通常与服务质量、容错、负载均衡、节能、利润收益紧密相关。

在NFV资源分配和迁移的优化策略方面,由于NFV资源分配和迁移策略问题可以视为**虚拟网络嵌入(Virtual Network Embeding, VNE)**的一般化问题,根据VNE为NP-hard问题可知,大部分NFV资源分配和迁移也是NP-hard问题。
目前针对该问题的解决策略包括使用最优解算法、启发式算法和元启发式算法。

最优解算法
通常使用线性规划算法求解优化问题的最优解,虽然规划问题很多情况下是NPC问题,但通过分支定界、分支定价等算法,可以在合理的时间内,在小型网络中得出最优解。
启发式算法
为了在任意规模的网络中最小化资源分配和VNF迁移的决策计算时间,各种基于启发式的算法得以应用。例如在无线局域网NFV场景中,使用递归贪心和最短路径算法,实现了满足约束条件的VNF部署
元启发式算法
该问题可以视为在离散搜索空间内寻求最优解的最优化问题,迭代改进问题的解决方案可以接近最优解。例如使用禁忌搜索算法来解决VNF的动态部署和调度问题。

网络攻击防御:
Fayaz等人结合SDN技术和NFV技术实现了灵活的、可拓展的DDoS防御系统Bohatei。Bohatei防御系统根据DDoS攻击流量大小和类型来判断防御虚拟机的部署数量和位置,利用NFV技术灵活地在相应位置部署相应数量和类型的防御虚拟机,实现了实时有效地防御DDoS攻击。SDN技术用于在最小化用户可感知延迟和网络阻塞的前提下,将可疑流量调度到部署有防御机制的虚拟机中。

3.5 NFV负载均衡及状态管理技术

对NFV负载均衡策略、NFV负载均衡系统实现及VNF状态管理方面进行了大量研究,相关工作包括Stratos、FreeFlow、OpenNF、StateAlyzr以及VFW。此外物理机器故障、电路故障等情况引起的网络功能异常会严重影响NFV平台的稳定性,因此,VNF如何快速、高效地从失效状态恢复也成为NFV技术需要解决的问题之一,相关工作包括FTMB。

3.6 NFV架构中的安全问题

NFV技术中的安全问题可以分为传统NFV架构中的安全问题和NFV外包场景下的安全问题。
NFV架构中的安全问题主要包括NFVI中的安全问题和VNF中的安全问题。

4 NFV部署场景

云数据中心网络功能虚拟化、蜂窝基站虚拟化、移动核心网虚拟化、家庭网络虚拟化

5 NFV技术的优势与不足

优势

  1. 降低网络功能部署开销
  2. 提供灵活的弹性拓展功能
  3. 简化网络功能更新
  4. 降低网络功能管理复杂度

不足

  1. 网络功能处理性能下降
  2. 网络流量数据隐私暴露
  3. 软件攻击面扩大

6 NFV技术未来研究方向展望

未来研究工作会偏重于以下几个方面:

  1. NFV系统性能优化
    由虚拟化技术引起的不稳定网络特征会影响到虚拟化设施的性能与部署。为了使NFV平台达到实际网络环境的性能需求,NFV性能优化仍然是未来研究的重要方向之一,主要包括VNF运行环境性能优化和VNF处理性能优化两个部分。
  2. VNF负载均衡和状态管理
    高效的VNF负载均衡和容错技术是NFV平台提供稳定网络服务的有效保障。目前VNF负载均衡和容错恢复机制都采用实时监测、及时响应的模式。这种模式无法对网络流量过载和VNF运行时错误做出及时的预测并尽早采取行动。
  3. 资源分配和调度策略
    NFV管理平台需要合理部署、控制和管理VNF来满足不同网络环境中的动态需求。
  4. NFV策略实施和验证
  5. NFV管理系统设计及优化
  6. NFV技术中的安全问题
  7. NFV技术外包模式流量隐私保护