NFV全称Network Function Virtualization,中文意思是网络功能虚拟化。网络功能虚拟化主要目标是实现软硬件的分离。通俗的讲就是使用虚拟化的技术,在比较廉价的通用性强的硬件设备上来实现那些昂贵的专有...

1. NFV简介

1.1 概念

NFV全称Network Function Virtualization,中文意思是网络功能虚拟化。网络功能虚拟化主要目标是实现软硬件的分离。通俗的讲就是使用虚拟化的技术,在比较廉价的通用性强的硬件设备上来实现那些昂贵的专有网络设备的功能。

1.2 优点

  • 降低网络服务提供商的成本

一些网络专有设备价格非常昂贵,而且不具有通用性,一旦网络功能发生变化,原来的设备就不能继续投入使用,必须更换成新的网络设备才能继续提供网络服务。而原来的设备只能被淘汰掉,这就增加了运营商的运营成本。
如果使用通用性强的硬件设备,例如x86架构的服务器,再通过软件的方式实现专有硬件设备的功能,如果网络功能发生变化,只需要调整相应的软件实现而不需要更换大量的硬件设备,无疑减少了大量的费用支出。

  • 网络服务的提供变得更加灵活

NFV的灵活性体现在对资源可控、部署灵活方便、可弹性伸缩等。

1.3 不足

虚拟化功能非常灵活,易于部署,但它们无法提供专有物理硬件提供的性能。


2 NFV框架

2.1 NFV ETSI 参考框架

nfv_架构.jpg
上图是ETSI发布的一个NFV参考框架,左侧从下到上可以分为三层,最下面是基础设施层,为虚拟化提供物理资源以及虚拟技术的支撑。中间是虚拟功能和对应的EMS系统,网络服务的实际业务处理就在该层中实现,最上面是运营支撑层,也就是运营商的OSS/BSS系统。
右侧是NFV中的核心,主要负责编排和管理。可从图中看到这块由三个模块构成:NFVO、VNFM、VIM。下面主要介绍这三个模块。

  • NFVO

    • NFVO是三个模块中的最上层的一个模块,所以它是三者中的最高指挥官,除了负责NS的编排外也负责管理VNFM和VIM。
  • VNFM

    • VNFM负责管理VNF的生命周期,并且对VNF进行监控
  • VIM

    • VIM负责管理虚拟化的基础设施,通常是一个云平台(OpenStack、VMWARE)
  • 其他

    • VNF:虚拟化网络功能中的网络功能单元
    • NS:网络服务,一个网络服务由多个VNF构成
    • OSS/BSS:Operation/Business Support System,运营支持系统

2.2 端到端网络服务

根据NFV的定义,一个业务网络(提供网络服务)其实是几个网络功能的集合,它可以分解为一组VNF和VNFL(VNFL:VNF Link),表示为VNF-FG(VNF Forwarding Graph)称为VNF转发图,相当于服务链,在服务链里面指定了数据流量的走向。然后每个VNF可以分解为一组VNFC(VNF Componet)和内部连接图,每个VNFC映射为一个VM
NS.png

graph LR
A(NS)-->B(VNF-FG)
B --> CA(VNF)
B --> C(VNF)
B --> D(VNF Link)
C --> E(VNFC)
C --> F(VNFC)
C --> G(VNFC)
E --> H(VM)
F --> I(VM)
G --> J(VM)

根据NFV的定义:

  • 一个业务网络(网络服务)其实是几个网络功能的集合,它可以分解为一组VNFFG(VNF Forwarding Graph)称为VNF转发图
  • 在VNFFG中指定了包含的多个VNF和VNF之间的拓扑,相当于服务链,在服务链里面指定了数据流量的走向
  • 每个VNF可以分解为一组VNFC和内部连接图,每个VNFC映射为一个VM

end_to_end_ns.png
上图是一张端到端的网络服务示例图,根据虚线也就是从逻辑上看,数据流量从左侧流入到VNF-1,经过VNF-FG-2后发往PNF-3,最后从右端流出。整个过程相当于流量被VNF-FG处理后再转发到其他地方。在这个处理过程中实现的功能我们就可以称之为网络服务。

2.3 网络服务的部署

一个网络服务我们通常使用一个NSD(Network Service Descriptor)来对它进行描述,NSD中会包含以下四个部分内容:

  • VNFD (Virtualised Network Function Descriptor)
  • PNFD (Physical Network Function Descriptor)
  • VLD (Virtual Link Descriptor)
  • VNFFGD (VNF Forwarding Graph Descriptor)

一个虚拟网络功能我们使用一个VNFD来对它进行描述,VNFD中会包含以下内容:

  • VDU(包含了多个VNFC的描述和每个vnfc使用的镜像、规格等)
  • connection_points
  • virtual_link
  • dependency