NFV的开源软件包

本文系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架构组件:

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

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

虚拟交换和路由

两个最重要的网络功能是路由和交换功能。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,正在朝着虚拟化这些功能的方向努力,我们期望他们在不久的将来也许会开放源码,但愿这个希望能够早日成为现实!

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2016-04-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

使用第三方库进行软件开发的安全风险研究

如今,很多软件由于长期使用第三方库文件,导致了持续的安全问题。而在程序开发设计阶段,开发者又经常忽略了第三方库代码的漏洞审查,甚至有些资源库(repositor...

3187
来自专栏织云平台团队的专栏

Pick一下,工具上线前运维必备原则

一场突袭而来的大雨猛烈冲刷着 DBA 小 D 身侧宽大的玻璃窗。窗外原蓝天白云映照下的深南大道转眼陷入一片阴暗。

1912
来自专栏TEG云端专业号的专栏

「TEG+系列」破局者 - 腾讯金融级数据库TDSQL

一 背景 金融行业的数据库市场,尤其是银行的核心交易系统,一直是Oracle、DB2这类传统商业数据库的天下,但是: 2014年,微众银行选用TDSQL作为其核...

4025
来自专栏SDNLAB

菜鸟驿站:学习SDN/NFV路上遇到的术语(一)

SDN:软件定义网络(Software Defined Network,SDN),是一种新型的网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlo...

3645
来自专栏CSDN技术头条

【BDTC 2015】数据库分论坛:GBase 8t、PosgreSQL-X2核心技术解析

2015年12月10-12日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所、北京中科天玑科技有限公司与CSDN共同协办,...

2426
来自专栏北京马哥教育

为一般人解说什么是Linux

本文是为那些没有接触过Linux系统的人写的。了解Linux系统对于一个技术来人员可谓是必须的(即便不是和计算机直接相关的),而对于广大普通用户而言,只了解Wi...

4619
来自专栏大魏分享(微信公众号:david-share)

南沪艳阳谈U2L---我在金融行业座谈会上的分享

前言: 谈到U2L,顾名思义,就是UNIX to X86Linux。那么,我们为什么要做这件事呢?技术考量?成本考量?还是别的因素。本文将为您进行详细讲述。...

3536
来自专栏HBStream流媒体与音视频技术

DirectShow捕获+mencoder+ffmpeg+sox 打造小巧的音视频制作、加工软件

3607
来自专栏马哥教育

初学者怎么快速掌握Linux运维?

2018年里,Linux运维的职位数量和平均薪资水平仍然持续了去年的强劲增幅,比很多开发岗位涨的都快。从研究机构的数据来看,Linux职位数量和工资水平涨幅均...

4124
来自专栏马哥教育

学不好Linux?我们分析看看正确的学习方法是什么-马哥教育

2018年里,Linux运维的职位数量和平均薪资水平仍然持续了去年的强劲增幅,比很多开发岗位涨的都快。从研究机构的数据来看,Linux职位数量和工资水平涨幅均在...

3806

扫码关注云+社区

领取腾讯云代金券