你对网络功能虚拟化知多少?
编者按:本文是介绍开源网络虚拟化的一系列文章中的第一篇。作者Sridhar Rao在本文中探讨了网络功能虚拟化(NFV)概念。
说到网络设备,传统的专有设备日益多样化,从而使网络运营商和数据中心运营商添加和升级服务变得越来越困难。网络功能虚拟化(NFV)是欧洲电信标准化协会(ETSI)行业规范工作组(ISG)提出的倡议,旨在对之前由专有硬件执行的网络功能进行虚拟化处理,从而达到简化操作的目的。
NFV整合基于行业标准的服务器、交换机和存储硬件上的网络功能。NFV提供了在虚拟化下面的经过优化的数据平面(data plane),让管理员可以将传统的物理网络设备换成在商用服务器上运行的软件,降低成本、功耗和复杂性。
当今的网络主要由中间设备(middlebox)来运行,这种状态系统支持狭窄的专门网络功能(比如第4层到7),并基于专门定制的硬件(通常采用闭源技术、价格昂贵)。中间设备不但导致“网络僵化”,由于需要管理工作,还在网络资本和运营开支中占了相当大一部分。
使用NFV可以减少或甚至消除部署在当前网络上的中间设备的数量。它让一个物理平台可以借助网络功能的多版本控制和多租户机制,用于不同的应用程序、用户和租户。
NFV还支持实施弹性、服务保证、测试和诊断以及安全监视的新方法。它便于创新,推出只有在纯粹软件网络环境下才实用的新型网络功能和服务。NFV适用于任何数据平面和控制平面功能,无论是固定网络还是移动网络,还适合获得可扩展性所需的管理自动化和功能配置。
下面是可以通过NFV实现虚拟化处理的一些网络功能:
交换元件
移动网络节点
家庭路由器操作
机顶盒操作
隧道网关元件
流量分析
服务保证
服务级别协议(SLA)监控
测试和诊断
NGN信令
覆盖全网络的融合功能
应用层优化
安全功能
NFV的一种可能很重要的用途在于服务功能链(service function chaining),这种方法是指将虚拟网络功能(比如路由器、防火墙、DPI和NAT)动态链接成统一的综合部署环境。这种方法对应用程序配置方法来说可能至关重要。
对服务提供商来说一个例子是,服务链可能包括:客户端的边缘路由器,然后还有防火墙、深度数据包检测流程和NAT流程,最后进入到提供商边缘路由器。从应用程序的角度来看,电子邮件服务链将包括病毒、垃圾邮件和网络钓鱼检测,可能通过不提供延迟保证或抖动保证的连接来路由传送。
在大多数传统网络中,由于每个服务需要单独的硬件,因而构建一条服务链以支持新的应用程序,就需要购买网络设备,并按所需的顺序将它们用线缆连起来,这始终很麻烦,还很容易出错。
然而,将网络功能转移到在商用服务器上运行的软件可以克服这些挑战。借助NFV,你就能集中管理并自动配置资源和网络。此外,网络功能的虚拟化还提供了这种功能:动态服务链、资源分配以及向内扩展或向外扩展。这自然有望简化网络结构,并缩短服务部署时间。
当然,使用NFV也带来了一些挑战,最主要的是对性能提出了运营商级要求。运营商通常要求服务的正常运行时间达到99.999%,基础设施(包括网络)的正常运行时间达到99.99999%,这比对企业软件正常地时间达到99.9%的要求苛刻得多。不过这时候NFV可以大放光彩,因为它本身就是为运营商级和服务敏捷性而设计的。
最终,NFV旨在改变网络运营商设计和运营网络的方式。
NFV和SDN
说到网络虚拟化,大多数人会想到软件定义网络(SDN)。 NFV不同于SDN。这两种技术都旨在提高灵活性、降低成本、支持可扩展性,以及加快推出新服务,但你可以在没有另一种技术的情况下运行一种技术。
SDN支持NFV的方式
然而,NFV对SDN来说是一种互补技术,SDN让企业使用NFV容易得多、效果好得多,原因在于它可以改善性能、提供灵活性,并简化操作。尤其是,使用SDN来支持NFV可以帮助流量导向(流量卸载、旁路和选择等)、动态向上扩展和向外扩展、多租户模式和负载均衡。
SDN还可以帮助NFV处理诸多任务,比如由政策管理的转发和动态服务编排。反过来,NFV中使用动态虚拟叠加和需要多租户模式也促使企业需要SDN。
实际应用中的NFV
NFV的两种使用场合是,用于扩建虚拟客户端设备(vCPE)和用于分组交换LTE移动网络。
对客户端设备进行虚拟化处理时,主要想法是,将更高层的功能从客户家里的设备(即家庭网关)移到网络上,然后由商用服务器来处理。在此之后,家庭网关就成了一个简单的L2网桥,许多现有的功能被虚拟化。
有了vCPE,就有可能动态地交付任何网络功能,降低初始成本和维护成本,提供灵活的系统重新配置。NEC公司就对自己的家庭网关设备采用了这种方法,针对用户和服务管理、虚拟化网络地址转换和DHCP等服务,对IP功能进行了虚拟化处理。
NFV还在演进分组核心(EPC)中扮演了重要角色,对3GPP的LTE无线通信标准而言,EPC是核心网络架构的一个主要部分。EPC包括移动管理实体(Mobility Management Entity)、服务网关(Serving Gateway)和分组数据网络网关(Packet Data Network Gateway)这些子部件。
市场上有众多的vEPC解决方案供应商。Core Network Dynamics公司提供的OpenEPC(开放式演进分组核心)用软件实现了用C语言开发的一套标准EPC组件。OpenEPC整合了3GPP的演进分组核心(版本9)的主要功能,可以部署到运行Linux的标准商业现成硬件上。OpenEPC包括核心网络移动管理、策略和计费控制、客户端移动管理、订购管理、与接入网络互连以及与应用程序和服务互连。
NFV架构
NFV框架的主要模块包括:
硬件资源和相应虚拟化组成的基础设施。
编排器、虚拟化网络功能管理器(VNFM)和虚拟化基础设施管理器(VIM)组成的管理和编排系统(MANO)。
虚拟化网络功能和相应的元件管理系统(EMS)。
运营支持系统和业务支持系统(OSS / BSS)。
ETSI NFV ISG提议的架构框架。灰线显示主要参考点,其中绿线和蓝线分别执行及其他参考点。
虚拟化网络功能(VNF)是一种能够在NFV基础设施(NFVI)上运行的网络功能,由NFV编排器(NFVO)和VNF管理器来编排。除了明确定义的功能行为外,预计VNF还会支持与其他网络功能、VNF管理器、EMS和NFVI相连接的明确定义的接口。
NFVI结合了硬件部件和软件组件,VNF部署在它们共同构建的环境。NFVI提供了多租户模式的基础设施,可充分利用同时支持多个使用场合和应用领域的标准IT虚拟化技术。NFV借助一个虚拟化层,将软件实现的网络功能与计算、存储和网络等资源分离开来。这种分离需要一套新的管理和编排功能,并在它们之间形成新的依赖关系,因而需要可互操作的标准化接口、通用信息模型以及将这类信息模型与数据模型对应起来。
NFVO、VIM和VNF管理器这个组合通常被称为MANO。NFVO负责新网络服务的初始化和设置、网络服务生命周期管理、全局资源管理、NFVI请求的验证和授权,以及针对NS实例的策略管理。
VNF管理器负责VNF实例的生命周期管理以及NFVI和EMS之间的总体协调。最后,VIM(比如OpenStack)的职责在社区已广为人知,即控制、管理和监视NFVI计算、存储及网络等资源。
在过去这几年,更新颖的商业模式、多样化的用户要求,以及大数据、个性化和虚拟化等因素,共同对OSS/BSS系统带来了重大影响。业界已做了大量的工作以完善这些系统。在NFV框架中,OSS/BSS系统将主要与NFVO进行联系,实现网络服务管理;随着时间的推移,OSS/BSS系统最终会借助虚拟化来管理越来越多的实体。
NFV架构的功能模块 | 软件 |
VNF | OpenIMS、Quagga、OpenNaaS-vCPE、OpenBTS和nwEPC等 |
NFV 基础设施 | 1.OpenDaylight、ONOS、ONF和OpenContrail等。 2.KVM、XEN、LXC、Bhyve、DPDK(英特尔)、开放数据平面(Linaro)、OpenVZ、User-Mode Linux(UML)、Bochs、Linux-Vserver、Virtual Box、ProxMox、OpenNode和Docker。 3.英特尔和Mellanox等公司的开放硬件设计。 4.OpenVSwitch、GlusterFS、Libvirt、OpenStack、ManageIQ、OpenDaylight、 AMQP/QPID和DPDK。 5.交换机抽象接口。 6.OPNFV。 |
MANO | OpenMano、VIM(比如OpenStack、CloudStack、Eucalyptus、Nimbus和OpenNebula)、开放虚拟化联盟和Reservoir等,以及Foreman和Cloudforms等工具。 |
EMS | OpenNMS;一些开源VNF还可能包括EMS功能。 |
OSS/BSS | OpenNMS、OSS/J、OSSBeans、Drools和JPBM。 |
云头条编译|未经授权谢绝转载
相关阅读:
RHEL、OpenStack和DPDK帮助NFV扩展到极速场景
NFV交流群,欢迎加入,群主微信:aclood