网络虚拟化技术,即用软件来安装、控制、操作那些运行在通用硬件上的网络功能,融合了云和虚拟化技术,使得新一代网络业务拥有更好的伸缩性和自动化能力。这些新涌现的技术经常被不加区分地称为NFV(网络功能虚拟化)和SDN(软件定义网络),虽然二者有逐渐融合之势,但二者的初衷和架构并不相同:
SDN起源于园区网,发展于数据中心,目的是将控制平面和转发平面分离,通过集中化的控制平面能够灵活定义网络行为。
NFV则由运营商联盟提出,为了加速部署新的网络服务,运营商倾向于放弃笨重昂贵的专用网络设备,转而使用标准的IT虚拟化技术来拆分网络功能模块,如DNS、NAT、Firewall等。于是一些运营商联合成立了欧洲通信标准协会ETSI(European Telecommunications Standards Institute),他的一个工作组(ETSI ISG NFV)负责开发制定电信网络的虚拟化架构,如NFV MANO。
下图是ETSI NFV标准架构:
其中包括NFV infrastructure(NFVI),MANO(Management and Orchestration)和VNFs,三者是标准架构中顶级的概念实体。
这样的设计实现了以下几个目的:
1.NFV架构将物理网元的一些功能拆分开来,这样更便于运营商从多个vendor那里选择最适合自己的VNF。
2.VNF可以被用于不同的物理硬件和hypervisor。
3.能够只通过软件进行快速发布。
4.标准的开放接口便于multi-vendor间的VNF进行交互。
5.使用低成本的通用硬件,不受制于特定供应商。
NFVI(NFV Infrastructure)包含了虚拟化层(hypervisor或者容器管理系统,如Docker,以及vSwitch)以及物理资源,如COTS服务器、交换机、存储设备等。NFVI可以跨越若干个物理位置进行部署,此时,为这些物理站点提供数据连接的网络也称为NFVI的一部分。为了兼容基于现有的网络架构,NFVI的网络接入点要能够跟其它物理网络互联互通。NFV支持多vendor,NFVI是一种通用的虚拟化层,所有虚拟资源应该是在一个统一共享的资源池中,不应该受制或者特殊对待某些运行其上的VNF。
NFV、VNF三个同样的字母调换了顺序,含义截然不同。NFV是一种虚拟化技术或概念,解决了将网络功能部署在通用硬件上的问题;而VNF指的是具体的虚拟网络功能,提供某种网络服务,是软件,利用NFVI提供的基础设施部署在虚拟机、容器或者bare-metal物理机中。相对于VNF,传统的基于硬件的网元可以称为PNF。VNF和PNF能够单独或者混合组网,形成所谓的service chain,提供特定场景下所需的E2E网络服务。
MANO(Management and Orchestration)提供了NFV的整体管理和编排,向上接入OSS/BSS,由NFVO(NFV Orchestrator)、VNFM(VNF Manager)以及VIM(Virtualised infrastructure manager)虚拟化基础设施管理器三者共同组成。Orchestration,本意是管弦乐团,在NFV架构中,凡是带’O’的组件都有一定的编排作用,各个VNF、PNF、及其它各类资源只有合理编排下,在正确的时间做正确的事情,整个系统才能发挥应有的作用。
VIM:NFVI被VIM管理,VIM控制着VNF的虚拟资源分配,如虚拟计算,虚拟存储和虚拟网络。Openstack和VMWare都可以作为VIM,前者是开源的,后者是商业的。
VNFM:管理VNF的生命周期,如上线、下线,进行状态监控、image onboard。VNFM基于VNFD(VNF描述)来管理VNF。
NFVO:用以管理NS(Network Service,网络业务)生命周期,并协调NS生命周期的管理、协调VNF生命周期的管理(需要得到VNF管理器VNFM的支持)、协调NFVI各类资源的管理(需要得到虚拟化基础设施管理器VIM的支持),以此确保所需各类资源与连接的优化配置。onboard新的网络业务,VNF转发表,VNF package。 NFVO基于NSD(网络服务描述)运行,NSD中包含Service chain,NFV以及perfomance goal等。
E2E网络服务示例(带有嵌套的VNF转发表)
从逻辑上看,网络流量从一端的接入点流入,经过VNF-1,VNF-2(A/B/C),再经过一个PNF-3,最后从另一端的接入点流出。但是从物理层面看,外面的流量是从一端的PoP(Point of Presence)进入,经过几个PoP上物理设备的转发,最终从另一个接入点流出的。
NFV未来的演进可能包含初级和高级两个阶段:
在初级阶段,NFV将作为实施传统业务的新方法,主要完成将传统基于专用硬件的软件执行环境一对一地转化为基于通用硬件的VM上的专用虚拟化环境。
在高级阶段,NFV将作为实施新业务的新方法,包括将VNF分解为微业务乃至单功能VNF后再重新组合、采用容器技术将单个VM切片成更小容器、应用可软件编程的数据模型实现管理系统集成和自动化管理等过程。
参考:
http://www.etsi.org/technologies-clusters/technologies/nfv
https://www.douban.com/group/topic/80607210/
https://www.sdxcentral.com/nfv/definitions/which-is-better-sdn-or-nfv/
https://www.ietf.org/proceedings/88/slides/slides-88-opsawg-6.pdf
http://chuansong.me/n/1808182752630