1 NFV基本概念
NFV即网络功能虚拟化(Network Functions Virtualization),其借鉴了x86服务器的架构,它将路由器、交换机、防火墙、负载均衡这些不同的网络功能封装成独立的模块化软件,通过在硬件设备上运行不同的模块化软件,从而在单一硬件设备上实现多样化的网络功能。通过借用IT的虚拟化技术虚拟化形成VM(虚拟机,Virtual Machine),然后将传统的CT业务部署到VM上。
在NFV出现之前设备的专业化很突出,具体设备都有其专门的功能实现,而之后设备的控制平面与具体设备进行分离,不同设备的控制平面基于虚拟机,虚拟机基于云操作系统,这样当企业需要部署新业务时只需要在开放的虚拟机平台上创建相应的虚机,然后在虚拟机上安装相应功能的软件包即可。这种方式我们就叫做网络功能虚拟化。
NFV是一个技术方向,是将虚拟化技术应用到传统网络,是对传统网络的革新。它的应用主要是电信领域。ETSI NFV ISG与2014年9月成立了OPNFV(Open Platform ofNetwork Function Visualization)开源社区。OPNFV是一个Linux基金会托管项目,提供了一个集成的开源参考平台。OPNFV的出现为NFV产业提供了一个公共的平台,聚集了NFV领域的主要参与方,包括运营商,CT厂商,IT厂商等,基于OpenStack、OpenDaylight、ONOS、KVM 等开源组件进行集成。
2 NFV的ETSI标准架构
NFV架构是欧洲电信标准协会(ETSI)提出的用于定义NFV实施标准的一种标准架构。NFV的理念是将标准化的网络功能应用于统一制式的硬件上。不同于传统物理设备中软件与硬件强绑定的关系,在NFV架构中,实现各种网络功能的标准化软件必须能够应用在同一台硬件设备上。这就要求NFV需要有一个统一的标准。NFV架构由基础网络功能虚拟化架构、虚拟网络功能功能、管理自动化及网络编排三个部分组成:
(1)基础网络虚拟化架构(Network Functions Virtualization Infrastructure, NFVI),NFVI就好比各手机厂商推出的手机系统,它给硬件设备赋予基本的组件,支持网络应用所需要的软件或者容器管理平台。
(2)虚拟网络功能(Virtual Network Functions, VNF),VNF是实现网络功能(转发服务、IP配置等)的软件应用,就好比手机上的APP。在NFV架构中,各种VNF在NFVI的基础上实现。由于NFVI是标准化的架构,使得不同的VNF获得了通用性,不再依赖于原来的黑盒设备。
(3)管理自动化及网络编排(Management and orchestration, MANO),MANO是用于管理各VNF以及NFVI的统一框架,方便运维人员进行业务编排与设备管理。
- NFVI(NFV Infrastructure)提供VNF的运行环境,包括所需的硬件及软件。硬件包括计算、网络、存储资源;软件主要包括Hypervisor、网络控制器、存储管理器等工具,NFVI将物理资源虚拟化为虚拟资源,供VNF使用。NFVI是一种通用的虚拟化层,所有虚拟资源应该是在一个统一共享的资源池中,不应该受制或者特殊对待某些运行其上的VNF。
- Hardware:硬件层,包括提供计算、网络、存储资源能力的硬件设备。
- Virtualization Layer:虚拟化层,主要完成对硬件资源的抽象,形成虚拟资源,如虚拟计算资源、虚拟存储资源、虚拟网络资源。NFV标准架构定义的主要功能模块。
- VNF:Virtual Network Functions,指虚拟机及部署在虚拟机上的业务网元、网络功能软件等。相对于VNF,传统的基于硬件的网元可以称为PNF。VNF和PNF能够单独或者混合组网,形成所谓的service chain,提供特定场景下所需的E2E网络服务。
- MANO(Management and Orchestration),Management and Orchestration,NFV的管理和编排。包括VIM,VNFM及NFVO,提供对VNF和NFVI资源的统一管理和编排功能。提供了NFV的整体管理和编排,向上接入OSS/BSS,由NFVO(NFV Orchestrator)、VNFM(VNF Manager)以及VIM(Virtualised infrastructure manager)虚拟化基础设施管理器三者共同组成。在NFV架构中,凡是带’O’的组件都有一定的编排作用,各个VNF、PNF、及其它各类资源只有合理编排下,在正确的时间做正确的事情,整个系统才能发挥应有的作用。
- NFVO: 用以管理NS(Network Service,网络业务)生命周期,并协调NS生命周期的管理、协调VNF生命周期的管理(需要得到VNF管理器VNFM的支持)、协调NFVI各类资源的管理(需要得到虚拟化基础设施管理器VIM的支持),以此确保所需各类资源与连接的优化配置。onboard新的网络业务,VNF转发表,VNF package。 NFVO基于NSD(网络服务描述)运行,NSD中包含Service chain,NFV以及perfomance goal等。
- VNFM: 管理VNF的生命周期,如上线、下线,进行状态监控、image onboard。VNFM基于VNFD(VNF描述)来管理VNF。
- VIM:NFVI管理模块,通常运行于对应的基础设施站点中,主要功能包括:资源的发现、虚拟资源的管理分配、故障处理等,为VNF运行提供资源支持。NFVI被VIM管理,VIM控制着VNF的虚拟资源分配,如虚拟计算,虚拟存储和虚拟网络。Openstack和VMWare都可以作为VIM,前者是开源的,后者是商业的。
- EMS为单元管理系统,对VNF的功能进行配置和管理。一般情况下,EMS和VNF是一一对应的。
- OSS/BSS:服务提供商的管理功能,不属于NFV框架内的功能组件,但NFVO需要提供对OSS/BSS的接口。
3 NFV的优势
NFV适用于各种网络解决方案,目前使用较多的包括SD-WAN、网络切片、移动边缘计算等。由于NFV将软件功能与硬件设备进行了解耦,随着标准化架构的完善,NFV带来了诸多优势:
- 灵活的业务( Flexible services ),在服务器上运行不同的VNF,当网络需求变更时,根据需求变更和移动VNF即可,加快了网络功能交付和应用的速度。在测试新的网络功能时,无需建立专门的实验环境,只需请求新的虚拟机来处理该请求,当服务停用时释放该虚拟机即可,为网络功能测试提供了更便捷的方法。
- 更低的成本(Less Spending),使用NFV后,网络通信实体将变为虚拟化的网络功能,这使得单一硬件服务器上可以同时运行多种网络功能,从而减少了物理设备的数量,实现了资源整合,降低了物理空间、功耗等带来的成本。但由于从传统设备切换为NFV在初期的投入较大,短期内的投资回报比并不比传统的物理网元具有足够的优势。
- 更高的资源利用率(Greater Resource Efficiency),当网络需求发生变化时,无需更换硬件设备,避免了复杂的物理变更,通过软件重组快速更新基础网络架构,避免由业务变更带来的设备冗余和搬迁需求。
- 避免供应商锁定(Avoid Vendor Lock-in),在统一制式的硬件上部署不同的网络功能,避免了某种功能被特定的供应商锁定,降低了网络设备维护带来的服务费用。
4 SDN和NFV的关系
4.1 什么是SDN
随着大数据在公众业务流量中的使用增加,IT逐渐成为人们日常生活中的消费品,网络的灵活性与安全性变得格外重要。传统网络中,管理员通过命令行配置网络设备。这种方式效率低,无法满足快速演进的资源、服务和应用需求。
软件定义网络(Software-defined Networking,SDN)技术是一种网络管理方法。SDN建立在将网络基础设施的控制面与转发面分离的基础上,将自动化和编程应用于控制面,使管理员具有动态调整全网流量的能力。通过将网络控制集中到SDN控制器上,使整个网络在逻辑上体现为单一的网络设备,通过可编程配置实现自动化配置、控制、保护和资源调整。
4.2 NFV和SDN有什么不同
NFV也是一种网络架构,它将传统物理设备的网络功能封装成独立的模块化软件,通过在硬件设备上运行不同的模块化软件,在单一硬件设备上实现多样化的网络功能。
SDN和NFV的相似之处主要体现在如下方面:
- 都以实现网络虚拟化为目标,实现物理设备的资源池化。
- 都提升了网络管理和业务编排效率。
- 都希望通过界面操作或者编程语言来进行网络编排。
SDN和NFV的异同之处参见下图。
1. NFV不依赖与SDN,但是SDN中控制和数据转发的分离可以改善NFV网络性能。
2. SDN也可以通过使用通用硬件作为SDN的控制器和服务交换机以虚拟化形式实现。
3. 以移动网络为例,NFV是网络演进的主要架构。在一些特定场景,将引入SDN。
SDN与NFV对比:
- NFV是具体设备的虚拟化,将设备控制平面运行在服务器上,这样设备是开放的兼容的。
- SDN是一种全新的网络架构,SDN的思想是取消设备控制平面,由控制器统一计算,下发流表,SDN是全新的网络架构。
- NFV和SDN是高度互补关系,但并不互相依赖。网络功能可以在没有SDN的情况下进行虚拟化和部署,然而这两个理念和方案结合可以产生潜在的、更大的价值。
- 网络功能虚拟化(NFV)的目标是可以不用SDN机制,仅通过当前的数据中心技术去实现。但从方法上有赖于SDN提议的控制和数据转发平面的分离,可以增强性能、简化与已存在设备的兼容性、基础操作和维护流程。
- NFV可以通过提供给SDN软件运行的基础设施的方式来支持SDN。而且,NFV和SDN在都利用用基础的服务器、交换机去达成目标,这一点上是很接近的。
- V(Virtualization)是虚拟化。NFV字面上理解就是网络功能虚拟化。凡是提到虚拟化,让人想到的是用软件的方式实现传统的功能。又是网络又是软件的,那NFV和SDN有什么区别联系?
5 华为云NFV架构实现
SDN抽象物理网络资源(交换机、路由器等),并将决策转移到虚拟网络控制平面。控制平面决定将流量发送到哪里,而硬件继续引导和处理流量,无需依赖标准的硬件设备。NFV的目标是将所有物理网络资源进行虚拟化,允许网络在不添加更多设备的情况下增长,这依赖于标准的硬件设备。
其实经典SDN架构也将硬件与软件解耦作为目标,但在实现过程中由于软件研发成本、设备替换等原因的影响,现行的SDN方案弱化了控制面的分离,仅以网络可编程和自动化运维为目标。
华为NFV架构中,虚拟化层及VIM的功能由FusionSphere云操作系统实现,即华为FusionSphere可以实现计算资源、存储资源和网络资源的全面虚拟化,并能够对物理硬件虚拟化资源进行统一的管理、监控、优化。
5.1 Virtualization Layer
- KVM:用于完成硬件资源的虚拟化。华为FusionSphere使用经过华为增强的KVM,着重改进了KVM的性能及可靠性。
- FusionStorage:FusionStorage是一种存储与计算高度融合的分布式存储软件,在通用X86服务器上部署该软件后,可以把所有服务器的本地硬盘组织成一个虚拟存储资源池,提供块存储功能。
- FusionNetwork:FusionNetwork提供传统虚拟交换向未来的软件定义网络演进方案,通过VxLAN的二层隧道封装协议的支持,配合由华为SDN Controller完成SDN网络的自动化配置部署,SLA服务质量控制,多租户隔离和分层。
5.2 VIM
- FusionSphere OpenStack:FusionSphere OpenStack是华为基于OpenStack进行增强、加固后的企业版本。对外展现统一接口,对计算、存储、网络虚拟资源进行集中调度和管理,降低业务的运行成本,保证系统的安全性和可靠性。
- FusionSphere OpenStack OM:FusionSphere OpenStack的操作管理界面,主要对FusionSphere的软件和使用的硬件进行全面的监控和管理,实现自动化资源发放和自动化基础设施运维管理,并向内部运维管理人员提供管理界面。