在NFV之前,NF(Network Function)是一直存在的,网络中,NF可以看成一个个独立的网元,实现着各自的功能。NF以固定的方式连接起来,统一提供的网络功能和服务。V(Virtualization)是虚拟化。NFV字面上理解就是网络功能虚拟化,即用软件来安装、控制、操作那些运行在通用硬件上的网络功能,融合了云和虚拟化技术,使得新一代网络业务拥有更好的伸缩性和自动化能力。这些新涌现的技术经常被不加区分地称为NFV(网络功能虚拟化)和SDN(软件定义网络),虽然二者有逐渐融合之势,但二者的初衷和架构并不相同:
- SDN起源于园区网,发展于数据中心,目的是将控制平面和转发平面分离,通过集中化的控制平面能够灵活定义网络行为。
- NFV则由运营商联盟提出,为了加速部署新的网络服务,运营商倾向于放弃笨重昂贵的专用网络设备,转而使用标准的IT虚拟化技术来拆分网络功能模块,如DNS、NAT、Firewall等。于是一些运营商联合成立了欧洲通信标准协会ETSI(European Telecommunications Standards Institute),他的一个工作组(ETSI ISG NFV)负责开发制定电信网络的虚拟化架构,如NFV MANO。
首先,NFV和SDN彼此之间没有必然联系。NFV即使脱离SDN,也能实现,在传统的网络架构中,将PNF(Physical Network Function)替换成虚拟化的NF,再辅以传统的NF连接方式,也能实现NFV。而SDN更是可以脱离NFV实现。
但是,另一方面,NFV和SDN如果相互结合,又可以是互补的存在。借助SDN,不仅传统的NF连接方式都能支持,SDN还能提供更高效的NFV实现方式。毕竟SDN提供的管理层和转发层的分离,使得网络变得极其灵活。反过来,NFV也能够提供SDN的运行环境,帮助SDN的实现。举个例子,某公有云基于SDN提供了IaaS服务,某客户希望在该公有云上搭建自己的Web Server,这个时候,客户可以借助第三方的镜像来部署Firewall和Load Balancer实例。在这个场景下,第三方提供的镜像作为NFV的一部分,完善了SDN的功能。SDN和NFV的关系可以描述为下图,图中提到开放是为了技术更好的发展,与技术本身无关。
High-Level NFV Framework
1、VNF(Virtualized Network Function)
VNF指的是具体的虚拟网络功能,提供某种网络服务,是软件,利用NFVI提供的基础设施部署在虚拟机、容器或者bare-metal物理机中。VNF运行在NFVI之上。从概念上,VNF是NF的虚拟化实现,V是Virtualized的意思。除了这点之外,还可以从三个角度来理解VNF:
- 从虚拟化的角度来说,VNF可以是一个VM(Virtual Machine),当然容器作为新生力量,它也可能存在,这里就不多说了。
- 从设备提供商(vendor)的角度来说,VNF是一个或者多个内部相连的VM和描述它们的模板。
- 从操作人员(operator)的角度来说,VNF是一个vendor提供的软件包。
前面提到了NF连接起来统一提供Network Service,描述NF连接关系的模板称为NF-FG (Forwarding Graph)这个就是之前介绍过的SFC。在NFV框架下,又称之为VNF-FG。VNF-FG提供VNF之间的逻辑连接,对应于传统网络架构中的用线缆连接NF。在一个黑盒子里,VNF-FG和VNF与NF-FG和NF提供的接口和服务是一样的。相对于VNF,传统的基于硬件的网元可以称为PNF。VNF和PNF能够单独或者混合组网,形成所谓的service chain,提供特定场景下所需的E2E网络服务。下图显示了在两个物理网元(PNF)之间通过VNF-FG建立的E2E(End to End)网络服务。
带有嵌套的VNF转发表:
从逻辑上看,网络流量从一端的接入点流入,经过VNF-1,VNF-2(A/B/C),再经过一个PNF-3,最后从另一端的接入点流出。但是从物理层面看,外面的流量是从一端的PoP(Point of Presence)进入,经过几个PoP上物理设备的转发,最终从另一个接入点流出的。
VNF的解构和聚合
- VNF解构:将一个high level的VNF拆分成一些low level的VNF,这样能够提供更灵活的应用,更快的响应,并支持更大的规模。
- VNF聚合:将一些low level的VNF组合成一个整体的high level的VNF。这样能减少管理的难度,并适当降低VNF-FG的复杂性。
由于通过虚拟化和软件实现了NF,VNF的组合连接方式可以非常灵活,具体要取决于VNF provider的实现和Network Service Provider的描述。
2、NFVI(NFV Infrastructure)
NFVI包含包含了虚拟化层(hypervisor或者容器管理系统,如Docker,以及vSwitch)以及物理资源,如COTS服务器、交换机、存储设备等。NFVI可以跨越若干个物理位置进行部署,此时,为这些物理站点提供数据连接的网络也称为NFVI的一部分。为了兼容基于现有的网络架构,NFVI的网络接入点要能够跟其它物理网络互联互通。NFV支持多vendor,NFVI是一种通用的虚拟化层,所有虚拟资源应该是在一个统一共享的资源池中,不应该受制或者特殊对待某些运行其上的VNF。
前面说过,从虚拟化的角度来看,VNF可以是VM。NFVI支持VNF的运行,其一部分工作就是提供VNF所需的VM。既然这样,那NFVI和Cloud有什么区别联系?
- Cloud和NFV都依赖物理的计算网络存储资源,它们都把这些资源作为一个资源池来使用。
- Cloud的服务提供形式通常有IaaS,PaaS,SaaS。而NFVI需要提供IaaS的运行时环境,这样才具备提供VM的能力。
- 在Cloud提供的形式中,还有一个NaaS(Network as a Service),它提供了一个动态的,按需的网络连接服务。NFVI需要提供NaaS的动态网络连接能力,以管理VNF之间的连接。因此Cloud中的IaaS和NaaS可以看成是NFVI所需要提供部分服务内容。
NFVI可以理解成一个定制化的Cloud,将物理资源(计算存储网络)抽象和虚拟化,以提供上层运行的VNF使用。NFVI的物理资源在NFVI-PoPs(NFVI Point of Presence)。在一个NFV架构中,NFVI-PoPs不局限于一个位置。例如,Service Provider2可以在Service Provider1提供的NFVI之上运行自己的VNF(SP1和SP2之间进行相应的协商),如下图所示:
3、NFV MANO(Management and Orchestration)
将NF从硬件资源抽象解耦成软件实现的VNF,必然会带来管理上的挑战。这包括了,逻辑上E2E的网络服务在NFV network中的映射;将VNF部署在合适的位置以实现期望的网络服务;为VNF分配和扩展硬件资源;检查VNF状态,并恢复VNF的错误。其实在传统网络架构中,这些都是operator管理PNF的工作,现在可以通过软件来实现,也可以说是增加了通用性,降低了维护成本。
MANO提供了NFV的整体管理和编排,向上接入OSS/BSS,由NFVO(NFV Orchestrator)、VNFM(VNF Manager)以及VIM(Virtualised infrastructure manager)虚拟化基础设施管理器三者共同组成。
NFV MANO管理前面描述的VNF和NFVI的系统,这包括:
- NFVI中支持虚拟化的硬件和软件
- VNF的编排和声明周期管理
NFV Reference Architectural Framework
先看组成部分:
- VNF:前面已经描述过了,这里就不再叙述。
- EMS(Element Management System):对一个多着多个VNF进行管理。注意NFVI只是提供VNF的运行环境,对VNF的管理还需要EMS参与。
- VNF Manager(s):作为NFV MANO的一部分,负责VNF的生命周期管理,如上线、下线,进行状态监控、image onboard。VNFM基于VNFD(VNF描述)来管理VNF。VNF Manager可以存在多个。
- NFVI:前面已经描述过。
- VIM(Virtualized Infrastructure Manager): 作为NFV MANO的一部分,管理支持虚拟化的硬件软件资源。包括权限管理,增加/回收VNF的资源,分析NFVI的故障,收集NFVI的信息等。VIM可以存在多个。NFVI被VIM管理,VIM控制着VNF的虚拟资源分配,如虚拟计算,虚拟存储和虚拟网络。Openstack和VMWare都可以作为VIM,前者是开源的,后者是商业的。
- NFV Orchestrator: NFVO用以管理NS(Network Service,网络业务)生命周期,并协调NS生命周期的管理、协调VNF生命周期的管理(需要得到VNF管理器VNFM的支持)、协调NFVI各类资源的管理(需要得到虚拟化基础设施管理器VIM的支持),以此确保所需各类资源与连接的优化配置。onboard新的网络业务,VNF转发表,VNF package。 NFVO基于NSD(网络服务描述)运行,NSD中包含Service chain,NFV以及perfomance goal等。
- OSS/BSS(Operation Support Systems and Business Support Systems): Operator原有的管理系统。
- Service,VNF and Infrastructure Description: 为NFV MANO提供数据存储管理的功能,数据包括VNF deployment template,VNF-FG,service-related information和NFVI数据模型。
再来看看各个组成部分的连接关系。
- Virtualization Layer – Hardware Resources (Vi-Ha): 连接 virtualization 层和硬件资源。为VNF创造一个不依赖于硬件资源的运行环境。
- VNF – NFV Infrastructure (Vn-Nf) :指的是由NFVI提供的供VNF运行的环境。
- NFV Orchestrator – VNF Manager (Or-Vnfm):将配置信息发给VNF manager,进一步由VNF manager控制VNF,使得VNF在VNF-FG中工作。同时收集VNF的信息,以供Network Service声明周期管理。
- Virtualized Infrastructure Manager – VNF Manager (Vi-Vnfm) :由于VNF Manager肩负着VNF的声明周期管理,这个连接是VNF Manager控制VNF资源的接口。同时也收集虚拟化资源配置和状态信息,供VNF使用。
- NFV Orchestrator -Virtualised Infrastructure Manager (Or-Vi) :NFV MANO不是简单的分层的关系,Orchestrator可以直接连接到VIM。这个连接也是资源的分配和保留,收集虚拟化资源的配置和状态信息。
- NFVI – Virtualised Infrastructure Manager (Nf-Vi):具体的虚拟资源分配,同时收集NFVI的虚拟化资源的配置和状态信息。
- OSS/BSS – NFV Management and Orchestration (Os-Ma) : OSS/BSS的接入点。
- VNF/EM – VNF Manager (Ve-Vnfm) :VNF Manager 管理VNF的接口,包括了VNF的生命周期管理,配置管理,收集VNF的状态信息,以供Network Service生命周期管理使用。
原文链接:
https://blog.csdn.net/napolunyishi/article/details/60876466
https://zhuanlan.zhihu.com/p/26259440