网络功能虚拟化系列:NFV的开源软件包

编者按:本文系SDNLAB社区译者计划发布文章,SDNLAB将与国外优质媒体和个人进行长期的内容合作,带来更多的优质技术文章,本文是<<网络功能虚拟化:新兴的虚拟化网络层技术>> 系列文章的第三篇。

本文系SDNLAB社区译者计划发布文章,SDNLAB将与国外优质媒体和个人进行长期的内容合作,带来更多的优质技术文章,本文是<<网络功能虚拟化:新兴的虚拟化网络层技术>> 系列文章的第三篇。

本文译者:Andy Yu, 现于湾区一家网络设备供应商担任PM职位,曾先后在AMD,Dell等公司任职多年。

我们在之前的系列里面讨论了OPNFV(网络功能虚拟化的网络平台),主要覆盖了有关虚拟架构和相应的支持NFV(网络功能虚拟化)组织管理。本文将主要介绍组建不同虚拟网络功能的开源解决方案。

一个虚拟化的网络功能( VNF )能够运行于一个NFV基础设施( NFVI ),并由NFV Orchestrator( NFVO )和VNF Manager编排。 VNF除了定义良好的功能行为外,预期可对其它网络功能,VNF Manager,EMS和NFVI 提供接口。

商业软件和服务器目标所取代的网络设施范围可包括防火墙,VPN网关,交换机和路由器。 研究者们甚至认为几乎任何网络功能都可以被虚拟化。NFV在如今的市场焦点包括交换机元件,网络设备,网络服务和应用。NFV的典型网络功能被认为是交换机元件,运营商级NAT和路由器,移动网络(回程和接入)的节点,在家庭/小型办公室路由器功能,流量分析设备,IP多媒体子系统( IMS) ,应用层优化功能和安全功能。

虚拟EPC和IP多媒体系统
3GPP是为移动和融合网络功能的网络架构和规格定义网络功能标准的标准化机构。 LTE是从全球移动通信系统(GSM )演变为被称为UMTS系统的早期的3GPP系统 发展而来的。

最常用于当今的LTE移动网络的体系结构被称为核心分组网演进(EPC ),它是由UE ,演进的通用陆地无线电接入网络( E-UTRAN)和EPC核心组成(LTE- ARCH= UE + EUTRAN + EPC) 。在E-UTRAN包括基站,这是所谓的eNodeB ( eNBs) 。EPC包括四个网络单元,即服务网关( SGW) , PDN网关( PGW) ,以及移动性管理实体(MME) [X1] 。移动网络由大量种类繁多的专用硬件设备组成。

由于NFV和SDN被引进于EPC,上面列出的一些组件正在成为虚拟化过程中,开放的API也正在被虚拟化元件之间引入。在下面的表格中,我们从最小的EPC开始,在随后的行中为最小的EPC添加越来越多的功能。最后一列显示了每个功能的3GPP架构组件:

No. EPC Functionality with Increasing complexity  (from 3GPP ref Architecture) Components (Additional)
1  Minimal EPC – LTE accesses only, no PCC (Policy and Charging control) MME, PDN-GW, S-GW, E-UTRAN, HSS (home subscriber server), EIR, (Optional IMS)
2 + PCC  for LTE accesses only PCEF, BBERF, PCRF, OCS, OFCS, SPR, AF.
3 + The legacy GPRS Packet Core  and its 2G/3G accesses (co-existence) 1. GERAN, CS_MGW, MSCS – PSTN.2. UTRAN, SGSN, GGSN – PDNs
4 + GERAN and UTRAN accesses via legacy SGSN and Gn (during transition to EPC) (No additional components)
5 + 2G/3G accesses via evolved SGSN and S4 (target EPC, for 2G/3G/4G accesses) S4-SGSN.
6 + Direct user path via S12, and control via S4 for UTRAN only (No additional components.)
7 + Voice services:  CS FallBack (CSFB) via SGs and SRVCC via IMS and Sv SCCAS
8 + Trusted non-3GPP accesses via S2a 3GPP-AAA-Proxy/Server
9 + Untrusted non-3GPP accesses via S2b ePDG
10 + Access Network Discovery Support Functions via S14 ANDSF

IP多媒体子系统(IMS)是一个用于提供IP多媒体服务的体系结构框架。

IMS Functionalities Components
PSTN gateway BGCF, IMS-MGW, MGCF
User-Profile HSS, SLF
IMS-Core (Call session management) S-CSCF, I-CSCF, P-CSCF, ECSCF
Application Server TAS, SCCAS, AS
Multimedia Resource Function MRFP, MRFC
Border Control IBCF, TrGW
Others (Media Resource Broker, Location Retrieval and Emergency access transfer) MRB, LRF, EATF

当前存在有相当数量的开源项目来实现EPC架构的各个组件。下表中列出了一些软件。然而,需要理解的是,不存在单一的软件解决方案可以实现完整的EPC。为了实现这一目标,不同的软件必须合作而且所谓的“胶”被发明出来从而使得这些软件可以共同实现EPC的功能。

EPC/IMS Component Open source Software
HSS OpenIMSCore, OpenHSS, Clearwater IMS
P-GW nwEPC
S-GW nwEPC
IMS Core OpenIMS core, Clearwater IMS,
PCRF FreePCRF
PCEF OpenIMS
BBERF –NA–
CDF OpenCDF
CGF Open-CGF
ePDG –NA–
AAA OpenDPS,  OpenBloX
MME OpenAirINterface
ANDSF Libdmclient , Funambol  DM Server and Client
eNB Openairinterface
UE Openairinterface
Network Management OpenNMS
Service Availability OpenSAF
 SS7, SIGTRAN, MGCP, VoIP OpenSS7
BI Pentaho
ERP+CRM OpenTaps
Enterprise Automation Ofbiz
Decision Support System OpenCDS
Billing jBilling
Service Accounting OpenPortal

虚拟交换和路由
两个最重要的网络功能是路由和交换功能。NFV的目标是通过运行于商业硬件或虚拟机上来支持各种标准协议,例如BGP & OSPF。下面,我们将介绍一些用于实现交换和路由功能流行的开源软件。

交换:
Linux网桥:这是一种通过IEEE 802.1D协议基于软件的交换机,自带的Linux发行版作为内核模块。它包括FDB (转发DB) , STP(生成树) ,混杂模式以接收所有数据包过滤和流量整形支持 - 这使得它比通过硬件实现的网桥功能更强大。

OpenVswitch ( OVS ) : OVS可能是目前最流行和广泛使用基于软件的交换机。它支持OpenFlow,并且可作为一个通用的交换机。它包括各种功能,例如asVLAN标记, VXLAN ,GRE ,粘接(bonding),基于流的转发(flow based forwarding),用户空间的控制台(user space control plane)等。

Lagopus:这是另外一种兼容OpenFlow 1.3的软件交换机。类似OVS 一般,它也与Intel DPDK非常匹配。,他们在他们的路线图中计划集成其他控制台方案,如Quagga和GoBGP ,对此我相信会非常有利于开放的各种用户解决方案。

Vale/Netmap:类似于Linux网桥和OVS,Vale连接了物理或虚拟网络接口。然而,较之其他软件的交换机,它拥有更高性能(高吞吐量和低CPU使用率)和可扩展性。更好的性能是通过Netmap的API来实现的,事实上,Vale 是作为Netmap分发(distribution)的一部分提供的。

路由:

Quagga:Quagga是个拥有许多小型后台进程的集合,每一个后台进程都有一个特定的任务。这个任务可能是运行一个OSPF或BGP等路由协议。Zebra后台进程负责与内核进行交互,并提供了一个简单的API (称为Zserv )供其他后台进程使用,所以它们并不需要直接调用内核。其他的后台进程运行各自的协议。用户可以配置Quagga,使所有这些后台进程从同一个位置查看它们的配置文件,或者单独配置每个后台进程。

BIRD:BIRD是一个由布拉格查理大学数学和物理学院教授们开发的项目。目前,它由CZ.NIC实验室开发和支持。BIRD项目旨在开发一个功能齐全的动态IP路由程序,主要是针对于(但不限于)Linux , FreeBSD和其他类UNIX系统和GNU通用公共许可证下发布的系统。它同时支持 IPv4和IPv6 (需要使用-enable - IPv6来进行配置)的, 多种路由表BGP ,RIP,OSPF ,静态路由及IPv6路由器公告等。

VYoS:VyOS是一款基于Linux的网络操作系统,它提供基于软件的路由功能,包括各种OSPF,BGP路由协议,集成了防火墙和VPN的支持功能。 VyOS其实是Vyatta(被博科通讯Brocade Communications收购)的一个分支。

虚拟商网元(个人网络设备)
研究人员认为,虽然核心路由器的虚拟化是不可行的,但是至少在不久的将来,由于高性能(吞吐量)的需求,骨干网边缘(PE)路由器的虚拟化将是一个更可行的选择。

虚拟专用网络的服务,如L3 VPN的IP (每个PE设备的作用就像一组虚拟路由器) ,L2 VPN, EVPN和伪线(pseudowires)在被当虚拟化时,这些功能会体现出灵活性和可扩展性,这将是对供应商的一个主要收益之处,许多供应商已经考虑通过执行在云中执行相同的虚拟化来实现例如PE的功能。

与PE路由器相类似,宽带远程接入服务器(B -RAS )是供应商网络将各种互联网流量来源,如DSL ,有线网络,无线宽带网络和以太网等,而汇聚于一个单一由从DSLAM设备出入的网络。它可以是一个简单的路由器从核心到客户端转发数据包(反之亦然),或一个复杂的路由器(通过每个用户)实现IP政策,Qos,包处理(packet manipulation),限制器等虚拟化功能. BRAS的虚拟化功能也被证明 无论是在成本和灵活性/可扩展性方面 都有益于 用于网络服务供应商。

开源个人网络设备
之前提到的大多数路由类开源软件如路由,如Quagga,VyOS和BIRD,都可以用来实现众多PE的功能。这些例如IPtables(netfilter)和Radius-server(freeRADIUS) 之类的软件都属于标准Linux发行版的一部分,可分别用于虚拟防火墙和虚拟AAA 。软件snort在一些NFV应用部署中被用于虚拟入侵检测系统(virtual IDS)。

此外,其他的软件如MPLS-Linux和xl2tp-daemon也可用于虚拟化的PE的功能。最近,AT&T和爱立信共同通过OpenDaylight控制器提出了基于SDN的L3VPN 。

虚拟CPE
客户端设备或CPE是指那些通常位于企业或住宅宽带用户端的网络终端设备,用于与电信服务运营商网络对接服务。通常情况下,服务运营商可以通过从不同的硬件厂商,企业用户和住宅用户来配置和管理客户端设备。

如果不使用虚拟化的CPE,每当任何新技术的应用,增加新的服务,或对安全性,保密性和计量功能的升级都可能会显著增加服务运营商的成本。

通过虚拟的CPE,大多数的CPE功能被拉出客户端并移入运营商的网络(可能是在其数据中心) 。这样产生了一个“简化”的CPE ,CPE充当了连接到服务运营商网络的简单Layer-2转发设备。通常情况下,如DHCP ,防火墙,NAT,路由,VPN等服务通过在运营商的数据中心作为一个虚拟机( VM)实例中运行的虚拟网络功能( VNFs )提供。

开源vCPE :
网络服务,如DHCP ,防火墙,NAT, DNS( vDHCP , VFW , vNAT , VDNS , ) ,都可以通过开源实现,并且可以作为许多标准的Linux发行版的一部分发行。例如, DNS和DHCP可以用dnsmasq来部署。而用于实现NAT和防火墙的IPtables,一直没有有针对于NFV 和致力于构建虚拟客户端设备的独立的开源项目,例如客户路由器,虚拟机顶盒和虚拟的家庭路由器。

虚拟访问网元
驻留在混合光纤的DSL “远程”节点,例如FTTcab和FTTdp ,通常位于街道或建筑物接入网络的功能,正逐渐成为虚拟化的热点。出于经济上的考量,这些节点应尽量紧凑,具有非常低的功率消耗和非常低的维护成本。对这些远程节点的简化可以通过对某些功能如 OLT , DSLAM ,ONU, ONT , MDU和DPU等的虚拟化,把复杂的工作转移到虚拟化环境来达到经济上的可行性。目前尽管还没有任何开源软件来实现这些用于虚拟化的网络功能,但一些大型电信运营商,如AT&T,正在朝着虚拟化这些功能的方向努力,我们期望他们在不久的将来也许会开放源码,但愿这个希望能够早日成为现实!

原文链接:http://thenewstack.io/opensource-virtual-network-functions-part3/

SDNLAB社区译者 正在火热招募中

成为译者的好处:

  • 优质的英文原材料,最直接的提升英语能力
  • 提高社区影响力,国内极具影响力的SDN交流平台
  • 最优的内容传播途径,认可才是硬道理
  • 社区福利免费拿,一手的学习资料
  • 分享推动SDN发展,提供国内新鲜的技术资料

什么样的人才能成为译者?
热爱分享、热爱社区;喜爱SDN等网络创新技术;

怎样成为译者?
1、添加微信:353176266  或点击识别二维码

2、进行自我介绍
3、阅读社区提供的翻译资料
4、翻译测试

 
编译类仅出于传递更多信息之目的,系SDNLAB对海外相关站点最新信息的翻译稿,仅供参考,不代表证实其描述或赞同其观点,投资者据此操作,风险自担;翻译质量问题请指正。


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/16444.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于16-04-07
0