暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

NFV技术深度解析(云计算系列专题9)

Cloud云说 2021-07-22
5328

在之前的两个系列文章里,分别讲述了计算虚拟化和存储虚拟化,现在我们终于可以讲解最后一个虚拟化技术,就是网络虚拟化,实际是网络功能虚拟化,即NFV技术;现在我们开始讲解云计算的第三组件——网络资源,及对应的虚拟化技术。



01
NFV介绍


首先我们需要知道什么是NFV,即什么是网络功能虚拟化。


在云计算数据中心,服务器虚拟化和存储虚拟化均已经越来越普及,并且被验证为成熟可行的技术方案,考虑到数据中心三大资源(服务器资源,存储资源,网络资源),于是人们自然而然的在思考,能不能将数据中心的最后一类资源(即网络资源)也虚拟化,实现网络资源利用率的最大化。


网络资源主要包括,我们所熟知的各类网络设备,比如路由器,交换机,防火墙,负载均衡器等;实际这些网络设备,从本质上讲,就是服务器,只不过是功能高度专业化和定制化的服务器,比如专门提供安全功能的防火墙,专门提供负载均衡功能的负载均衡器等。


所以网络设备虚拟化的思路,实际和服务器虚拟化的思路一致,即将网络设备的软件功能与底层硬件相分离,实现软硬件解耦,通过软件实现各类常见的网络功能(比如路由器功能,交换机功能,防火墙功能等),再将这些软件实现的网络功能,运行在通用的底层硬件之上(比如通用的X86硬件架构之上)。


这样实现的网络设备虚拟化技术(或称之为网络功能虚拟化技术),就是我们这篇文章主要讲解的NFV(Network Function Virtualization,网络功能虚拟化技术);从传统网络设备,到NFV的转变,如下所示:



根据上图所示,可以看到传统网络设备,是专业化的网络功能,运行在专业化的硬件平台之上;而NFV的核心思想是实现上层软件与底层硬件的解耦(软硬件解耦),使得软件定义网络功能,让软件实现的网络功能,运行在通用的服务器硬件平台之上(比如通用的X86硬件平台)。


NFV(即网络功能虚拟化)所带来的好处是显而易见的,因为传统网络设备,是高度专业化与定制化的,专业的网络功能,专业的硬件平台,意味着高昂的网络设备价格,并且高度封闭化的传统网络设备,扩展性也很差;而基于NFV,实现的网络功能虚拟化,使用软件定义的网络功能(比如软件实现的虚拟防火墙功能,软件实现的虚拟交换机功能等),和通用的硬件平台,意味着更低的成本,更好的扩展性。


另外需要说明的是,在云计算数据中心,实现的网络虚拟化技术,不仅仅是NFV(网络功能虚拟化)技术,还包括SDN(软件定义网络),和网络虚拟化技术;NFV,SDN和网络虚拟化技术,这三者是三类不同的技术,可以融合部署,彼此之间并不矛盾,本系列文章(云计算系列文章),主要讲解NFV,即网络功能虚拟化技术,实现网络设备的虚拟化,而SDN和网络虚拟化技术,会在另一个系列文章(SDN系列文章)里,进行详细讲解,感兴趣的读者,可以前往查阅另一个系列文章(SDN系列文章)。



02
NFV架构需求


上一个章节,大致阐明了NFV网络功能虚拟化的概念与定义,现在我们可以进一步深入探讨NFV架构实现。


在NFV框架里,将软件实现的网络功能,称之为VNF(Virtualized Network Function,虚拟化网络功能);不同厂商可能开发不同的VNF,比如厂商A开发了虚拟防火墙功能的VNF,厂商B开发了虚拟交换机功能的VNF,服务提供商可以基于自己的需求,灵活选用VNF,并对不同的VNF组合使用(比如既选用了厂商A的虚拟防火墙功能VNF,也选用了厂商B的虚拟交换机功能VNF)。


那么如何保证不同厂商开发的不同VNF之间正常协同工作,将会是一大难题,同时如何保证所有的VNF均可以正常运行在通用硬件平台(比如X86硬件平台)之上,也是需要考虑的。


基于上述考虑,人们意识到VNF(虚拟化网络功能)的开发,应该是标准化的,需要有一个架构来约束各厂商开发VNF,确保所有的VNF之间可以相互协同工作,并且完全不依赖于特定的硬件平台,这个架构,就被称为NFV的ETSI架构(因为是ETSI组织最先提出的这个架构,所以被称为ETSI架构)。



03
NFV的ETSI架构概述


如上一章节所述,NFV网络功能虚拟化,需要有架构约束,以保证不同厂商开发设计的虚拟化网络功能之间,可以协同工作;那么目前公认的NFV架构,就是NFV的ETSI架构,这一节就ETSI架构,进行系统性概述,全面了解NFV的ETSI架构的结构与组成。


ETSI(European Telecommunications Standards Institute)组织内的互联网规范小组(Internet Specification Group,ISG)在2013年启动,基于如下关键标准,提出了NFV架构:


解耦合:软件与硬件的完全分离


灵活性:自动化与可扩展的网络功能部署


动态操作:通过对网络状态的监控,来控制网络功能的运行参数

基于上述标准,提出的NFV架构,如下所示:



这个架构是VNF(虚拟化网络功能)标准化与开发工作的基础,被称之为ETSI NFV架构,它包含了三个主要模块,


网络功能虚拟化基础设施(Network Functions Virtualization Infrastructure,NFVI)模块:该模块主要用于底层硬件资源的虚拟化,使得上层软件功能,可以运行在虚拟化的硬件资源上(比如运行在虚拟机内,或容器内)。


虚拟网络功能(Virtualized Network Function,VNF)模块:该模块主要用于软件定义网络功能,用软件实现各类网络功能,比如虚拟防火墙功能,虚拟交换机功能等。


管理与编排(Management and Orchestration,MANO)模块:该模块与上述两个模块交互,主要用于管理所有的基础设施资源(即所有的底层硬件资源),基于VNF(虚拟网络功能)的需求,为VNF灵活分配底层硬件资源。



04
NFV的ETSI架构理解


在上一个章节,我们对于NFV的ETSI架构,有了一个大致的全局认知,知道ETSI架构,主要由三大模块构成,包括NFVI模块,VNF模块,MANO模块。


那么在深入讲解NFV的ETSI架构之前,有必要先理解下ETSI架构;所谓存在即合理,ETSI架构包含三大主要模块,为什么需要这三个模块,还是值得我们去思考的。


VNF模块:该模块实现软件定义网络功能,原先丰富多样的网络设备,都可以被转化为丰富多样的虚拟化网络功能VNF,比如交换机转化为虚拟交换机vSwitch,防火墙转化为虚拟防火墙vFW,负载均衡器转化为虚拟负载均衡器vLB。


服务提供商,可以灵活选用(组合选用)各VNF功能,实现丰富多样的网络功能与服务;这充分体现了NFV的ETSI架构的关键标准之一,即灵活性(自动化与可扩展的网络功能部署)。


NFVI模块:VNF虚拟化网络功能,不得依赖于特定的硬件平台,需要和硬件实现完全解耦,这也是NFV的ETSI架构的关键标准之一,即解耦合(软件与硬件的完全分离);硬件虚拟化可以充分使用底层硬件资源,并且提供通用的硬件平台(X86 CPU芯片,内存,存储等)。


NFVI模块实现底层硬件虚拟化之后,VNF虚拟化网络功能,运行在虚拟硬件平台(虚拟机,或容器)之上即可,VNF对于实际的底层物理硬件是不可见的,也就实现了全面的软硬件解耦。


MANO模块:VNF的启动和停止,新增和删除,都是非常灵活的,这也体现了网络功能部署的灵活性(NFV架构关键标准之一);换言之,如果启动一个VNF,则需要为该VNF分配硬件资源,停止一个VNF,则需要将该VNF占用的硬件资源及时释放。


由此可见,我们还需要一个模块,能够基于VNF需求,灵活编排资源,这就是MANO模块;该模块可以管理VNF的部署与互连,并为VNF分配所需的硬件资源。



05
NFV的ETSI架构详解


通过之前章节的讲述,我们对于NFV的ETSI架构有了初步全面的了解,知道了ETSI架构构成,及三大模块的主要职责,那么现在可以深入分析该NFV架构了。


NFV的ETSI架构主要包含三个模块,每个模块还包括很多功能模块,比如MANO模块就包含了NFVO,VNFM,以及VIM三个功能模块,如果将所有的功能模块都列出,该NFV架构如下所示:



上图所示是更加细化的NFV架构图,列举出了三大模块包含的所有功能模块,并且详细定义了不同功能模块之间的参考连接点(比如MANO模块里的NFVO功能模块和VNFM功能模块的参考连接,就是Or-Vnfm);现在开始,我们逐一讲解NFV架构里的三大模块(NFVI,VNF,和MANO模块)。


NFVI基础设施层 



NFVI模块主要用于为上层VNF(虚拟化网络功能)提供硬件资源,其结构如上图所示。


NFVI模块,包含三大硬件资源(计算,存储,以及网络资源),(1)计算资源包括CPU,内存等资源;

(2)存储资源包括DAS直连存储,以及外置的SAN/ NAS存储设备;

(3)网络资源包括为VNF分配使用的网卡/端口等资源;这些都是通用硬件资源,不是专业化硬件资源。


但是上层VNF(虚拟化网络功能),不会直接运行在底层硬件之上,否则的话,就没有实现完全的软硬件解耦;所以底层的物理硬件资源,需要经由虚拟化层(比如Hypervisor),转化为虚拟化硬件资源(比如虚拟机,容器等),上层VNF运行在虚拟机环境里,实现软硬件完全解耦。


NFVI可以直接管理底层物理硬件资源,可以知晓底层硬件资源的使用状况,NFVI同时也可以管理虚拟化层(比如Hypervisor),以控制物理资源的虚拟化;最后,为了管理NFVI,MANO模块提供了VIM(Virtualized Infrastructure Manager,虚拟资源管理器)功能模块。


VNF虚拟网络功能层



VNF模块主要用于实现虚拟化的网络功能,其包括VNF功能模块和EM功能模块;VNF功能模块指具体的虚拟化网络功能,EM(Element Management)模块是网元管理模块,用于管理对应的VNF虚拟化网络功能;具体的网络服务,可以由一个(或一组)VNF来实现。


如果某网络服务需要由一组VNF来实现,而该组内VNF之间并无依赖性,都是各自独立的VNF,我们将这组VNF称之为VNF集;比如移动虚拟vEPC(Virtual Evolved Packet Core),vEPC内MME负责用户认证,SGW负责转发用户数据包,这些VNF共同工作,但是各自独立实现自己的功能,彼此之间并无依赖性,各自实现的功能都是vEPC功能的一部分。


反之,如果该组内VNF之间存在依赖性,即数据流,必须先经过VNF1处理,再转给VNF2,之后转给VNF3,诸如此类,这被称为VNF转发流程图(VNF Forwarding Graph),或被称为服务链。


在ETSI的NFV架构中,MANO模块的VNFM(VNF Management)用于管理VNF的生命周期,包括实例化一个VNF,删除一个VNF,或者为某一VNF调整可用的硬件资源;如下所示VNF1需要更多的CPU资源,VNFM可以根据VNF1的需求,为其分配更多的CPU资源:



另外需要说明的是,VNF也有对应的EM(网元管理)模块,对其进行管理;所以VNFM管理VNF,可以直接进行管理,也可以通过EM进行管理,以从EM那里获取到更多的管理支持,如下:



MANO管理与编排层



当传统网络架构,朝向虚拟化网络架构演进时,服务提供商一般仍然想要沿用原有的网络管理系统(Operational and Business Support System,OSS/BSS),因为运维人员已经习惯了原有网管系统的操作界面和使用方法,贸然切换网管系统,会引起诸多不便,并且也会增加成本。


但是直接使用原有的OSS/BSS网管系统,并不能实现对于NFV系统的编排(比如管理VNF生命周期,管理底层硬件资源等);于是NFV架构特意增加了NFVO功能模块,即NFV编排器,用于和传统的OSS/BSS网管系统对接。


这样,传统的网管系统可以通过NFVO功能模块,实现对于整个NFV系统的编排,这里的编排,包括,

(1)服务编排,指调用组合VNF虚拟化网络功能,以实现特定的网络服务,比如虚拟防火墙服务;

(2)资源编排,指调用底层硬件资源,比如为某一VNF分配硬件资源,或者有VNF被删除,释放硬件资源等。


综上,MANO内的三大功能模块

(1)VIM功能模块,用于管理底层硬件资源,以及资源的虚拟化;

(2)VNFM功能模块,用于管理VNF虚拟化网络功能的生命周期;

(3)NFVO功能模块,就是调用VIM模块,实现资源编排,以及调用VNFM模块,实现服务编排。



06
NFV的ETSI架构工作举例


到这里为止,NFV的ETSI架构也就全部讲解完毕了,包括ETSI架构构成,三大模块,三大模块之间的协同工作等,但是之前章节的讲解,都是偏理论的讲解,略微枯燥晦涩,所以本章节会使用一个具体的例子,来形象表明NFV的ETSI架构的完整工作原理,及ETSI架构三大模块之间的协同工作。


需要说明的是,如下所示的NFV架构图,将相关功能模块之间的连接参考点,也都详细标出了,比如NFVO和VNFM之间参考连接点Or-Vnfm,VNFM和VIM之间的参考连接点Vi-Vnfm等。



直接逐一讲解上述所有参考连接点,是很晦涩的,并且虽然之前就上述NFV架构,进行了详细讲解,但是估计不少读者,对于该NFV架构的工作流程,还不是很理解,所以这里直接举个例子,来说明各功能模块之间,是如何协同工作,以最终实现网络功能的虚拟化,如下:



如上图所示,我们来看下如果要实例化(启动)一个VNF虚拟化网络功能,大致需要的步骤,如下:


1) 用户使用OSS/BSS网管系统,提出实例化(启动)一个VNF虚拟化网络功能的需求。


2) NFVO接收到OSS/BSS的实例化一个VNF的需求,将需求转给VNFM。


3) VNFM接收到NFVO转来的实例化一个VNF的需求,计算该VNF需要多少虚拟机,以及每个虚拟机需要多少资源,并将计算结果告知NFVO。


4) NFVO接收到VNFM发来的计算结果,因为NFVO是编排器,对于整个NFV系统都具有可视性,所以NFVO可以判断底层是否还有充足的硬件资源,去创建所需的虚拟机。


5) NFVO判断底层硬件资源充足,于是发起请求,请求VIM创建所需要的虚拟机。


6) VIM调用Hypervisor虚拟化层,创建所需要的虚拟机。


7) VIM将虚拟机创建结果(创建OK),返回给NFVO。


8) NFVO告知VNFM,所需要的虚拟机已经创建完毕。


9) VNFM在创建的虚拟机上,开始使用指定参数,启动并配置所需的VNF。


10) VNFM将VNF启动结果(启动成功),告知NFVO。


最终NFVO编排器,知道所需要的VNF虚拟化网络功能已成功实例化并运行,可以将结果进一步告知OSS网管系统,用户通过网管系统,得知VNF实例化成功。


以上就是一个简单的,基于NFV架构,启动VNF的工作流程,借用这个例子,我们应该对于NFV架构中所有功能模块,以及模块间的协同工作,应该很了解了。



07
NFV的使用场景


现在我们知道NFV的ETSI架构工作原理了,最后我们需要知道NFV的具体落地使用场景。


NFV的技术讲解,到这里基本就告一段落了,接下来我们逐一看看NFV的使用场景;是不是所有的网络设备,都可以NFV化,答案是否定的,并不是所有的传统网络设备,都适合NFV化的;目前看来网络设备,主要分为:


Ø  专注于数据高速转发的网络设备,比如骨干交换机,骨干路由器等。


Ø  并不专注于数据的高速转发,而是需要更多的计算资源,进行各类业务处理,比如RR(路由反射器),需要较多的计算资源,进行业务路由的处理,比如防火墙,需要较多的计算资源,进行数据包分析,以实现网络安全功能。


其中第一类网络设备(专注于数据高速转发的网络设备),目前并不适合NFV化,因为NFV化的网络设备,在性能上都会有损耗。


而第二类网络设备(专注于业务处理的网络设备),比较适合NFV化,因为这类网络设备,本身就需要较多的计算资源(CPU,内存资源等),以完成丰富多样的网络业务处理。


如下列举了两类,NFV目前的主要使用场景:


网络基础设施虚拟化

如上所述,并不是所有网络基础设施(网络设备)都适合NFV化的,但是有一些网络设备,比较适合NFV化,这些网络设备,如下:


vRR(RR,路由反射器虚拟化):RR路由反射器,需要处理海量的业务路由,并根据路由策略,判定这些业务路由,需要发往哪里;可以看到,RR并不进行业务数据的转发,而只是完成业务路由的处理与控制,所以RR对于数据转发性能要求不高,对于计算性能要求较高(因为要处理海量的业务路由),所以非常适合NFV化。


vCPE(CPE虚拟化):CPE是用户边界路由器,主要用于在用户的不同分公司(分部)之间灵活创建VPN隧道;同样CPE设备对于数据转发性能要求不高,更专注于VPN业务处理上(创建VPN隧道,删除VPN隧道,处理VPN数据等),也非常适合NFV化;

vPE(PE虚拟化):PE是服务提供商的边界路由器,主要用于在不同网络之间,创建MPLS VPN隧道,其更专注于MPLS VPN隧道的创建,和VPN路由的处理上,也非常适合NFV化。


vLB(LB,负载均衡器虚拟化):负载均衡器主要用于将用户请求,基于特定算法,均匀分配到服务器池里的服务器上,其更专注于用户请求的分配处理上,也非常适合NFV化。


vFW(FW,防火墙虚拟化):防火墙主要用于实现网络安全,其更加专注于数据包的分析,并对于特定数据包,实施特定的安全策略(阻塞,放行,或激活网络攻击防范),虽然对于数据转发性能也有要求,但是相较于高速转发设备,要求也没那么高,所以也比较适合NFV化。


综上,不难发现,RR,CPE,PE,LB,FW这些网络设备,主要都是专注于网络业务处理上(比如业务路由的处理,VPN业务的处理,MPLS VPN的处理,用户请求的处理,数据包的分析处理),对于数据转发的性能要求不高,所以都比较适合于NFV化。


移动通信网络虚拟化

vEPC(EPC虚拟化):EPC分组核心网内,功能实体众多,包括MME,PGW,SGW等,每个功能实体需要完成的功能也很多,比如PGW需要完成NAT,IP分配,合法监听,防火墙等多种功能;毋庸置疑,EPC可以认为是最适合NFV化的场景,因为EPC能的设备所要实现的各项功能(比如NAT,IP分配,合法监听等),都非常适合于使用VNF虚拟化网络功能来实现。


vIMS(IMS虚拟化):IMS虚拟化的理由和EPC虚拟化理由一致,也是网络内功能实体众多,所要实现的网络功能,也很繁多,这些纷繁复杂的网络功能,都非常适合于使用VNF虚拟化网络功能来实现。


最后,本篇文章主要讲述了云计算中心最后一个虚拟化组件,即网络资源虚拟化,也称为NFV网络功能虚拟化,用以实现各类网络设备的虚拟化;为了约束NFV网络功能虚拟化的实现,确保不同厂商开发设计的虚拟化网络功能VNF之间的协同工作,提出了NFV的ETSI架构;本篇文章就NFV的ETSI架构,也作了全面深入的剖析讲解。


文章转载自Cloud云说,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论