首页 > 代码库 > A Guide to NFV and SDN 笔记

A Guide to NFV and SDN 笔记

这篇NFV和SDN的paper来自于Metaswitch Networks的CTO Martin Talylor,链接引用自valleytalk,链接如下:A Guide to NFV and SDN

趁着出差的机会,将这篇文章细细的读了下,由于该文章的作者所在的公司对NFV业务比较熟悉,所以该文章整体倾向于NFV,但是SDN也是写的很棒。

该文章的组织是以问答的方式组织的,所以我在本文中依然沿用这样的方式来组织。这篇笔记大致记录了下这篇文章的keypoint以及自己的一些思考和疑问。

 

Q:什么是NFV?

A:NFV专注于将多基于多厂家专有硬件的网络迁移到可以运行在工业标准硬件(X86架构)的软件组件这样一种组织形式,由于传统网络,每一个特有的功能都是基于厂家私有的硬件以及专有的软件基础之上的,而且彼此在功能的角度上不可分割。NFV专注于例如CDN,firewall,load balancers,..这样的网络单元与设备。

NFV是基于这些能够运行在Intel X86的网络功能软件的。例如,如果一个session border controller来说,operator需要的安装一个该功能的软件到标准的DC环境中即可。

 

Q:在技术上,什么使NFV成为可能的?

A:近些年来的x86 CPU在带宽以及包处理吞吐量的质的改变以及CPU多核数量的快速增长使得我们可以使用比较廉价的CPU方案来构建路由器以及交换机。

大部分网络功能均包括CP(控制平面)以及DP(转发平面)两个主要方面,一般来说CP对CPU占用率比较明感,而DP对带宽相对明感。CP使用通用CPU来处理相应的协议交互上面的业务,而DP使用专有硬件来处理报文的转发等业务,x86 CPU并不在报文转发以及路由查表方面有比较大的优势,但是最近有些改变使得这些得以改进:

  1.CPU可以集成进更多的内核,CPU内的多内核可以并行的处理更多的报文,吞吐量得以提高,而且CPU处理报文的吞吐量得以每年30%-40%增速增长。

  2.越来越大的cache集成进CPU,使得路由以及flow查表的速度能够与最好的硬件相当。

  3.在CPU周边的chip能够支持的最大带宽在最近的几代x86架构上大幅提高。

 

Q:为什么说使用x86架构是比较合适的?

A:专用处理器开发周期长,费用高,需要市场占用率达到20%以上的公司能够负担得起,这些公司由于占用大部分的市场份额,那么就会降低创新的速度,进而不能满足客户需要。

相比较而言,工业标准的服务器硬件通过大规模的经济活动以及充满竞争力的市场变得高容量以及较低的价格。

 

Q:基于软件的网络功能(software-based network functions)的益处是什么?

A:1.软件远不如硬件那样对资本投资敏感。

   2.软件产品本身就是可以是一个持续改进的过程。

   3.更多的提供商投入到这样的一个市场,可以加速和蓬勃NFV。

   4.NFV可以在小范围的沙盒(sandbox)中验证新功能以及相关概念,可以更快的获得验证和反馈,这样可以更早的投入的市场使用。

 

Q:虚拟化在其中角色是什么?

A:1.使用hypervisor来支持虚拟化。

     2.分配虚拟机给指定网络功能。

     3.而且是基于标准的(x86)硬件。

Q:什么是SDN?

A:  1.SDN关注的是实现由物理成(L1)到网络层(L3)的网络传输功能。

     2.SDN中有着清晰的控制平面(CP)以及数据平面(DP)定义。

     3.SDN的控制平面是可以运行在x86结构的系统中的,一个SDN控制平面可以管理多个SDN数据平面。

     4.SDN有着与传统SDN不同的功能那就是可编程性,例如能够将到同一目的地址的流量在网络中平衡分配,而传统的路由协议只能通过单一路径转发。(这里想说的是SDN是可以根据更细粒度的组合进行flow识别和转发的,而BGP/OSPF只能通过目的地址进行转发)

 

 Q:什么使SDN成为可能的?

 A: 1.2007-2008年,斯坦福的研究这门想出一个新奇的想法,想要一种可以使用远程编程的方法来设置网络中的流表,这个就是OpenFlow。

     2.一些网络组织意识到OpenFlow可以提供标准化的分割控制平面软件以及转发平面硬件的方法,并且带来更多的有趣的机会 (open up some interesting new opportunities).

     3.另外的重要的因素是,可以以非常低的价格并能够媲美中端主流路由器性能的Merchant Silicon的出现。

 

Q:SDN带来了什么益处?

A: 1.降低网络基础框架代价 - 通过廉价芯片而不是使用专有硬件。

     2.通过NBI接口暴露不同的service。

     3.分离了控制平面和转发平面。

 

Q:SDN和NFV之间的关系是什么样子的?

A: 1.SDN技术经常用来管理云平台的网络,以便VNFs得以互通。(SBC可以认为是一种VNF)。

    2.SDN控制平面元素可以作为一个单独的VNF存在与NFV的框架中 (也就是说SDN控制平面可以存在与一个单独的VM中)

    3.SDN和NFV有很多的共通之处,主要思想都是要分离网络中的硬件和软件,SDN使用之前路由协议不能够解决的限制,并能够优化网络。

 

Q:具体说实际情况下NFV看起来是什么样子的?

A: 用于NFV的云环境使用如下几个主要功能:off-the-shelf servers, hyporvisor (KVM, ESXi, Docker?), 以及云管理软件例如OpenStack, VMware vSphere.

 

Q:什么样的数据平面吞吐量问题需要指出?

A:vSwtich尚未经过优化,作为data plane的一部分,vSwitch无法满足高性能应用的要求,目前有两种方法可以改进:

    1.不要将vSwitch放在转发路径上,而是使用host NIC映射到guest application上,这个做法叫做Single Root I/O Virtualization (SR-IOV).

    2.将继续优化或重新设计vSwitch,较少或消除data copying operation。

 

Q:自动化在NFV中的角色是什么样子的? 

A:Orchestration关注NFV生存周期管理的自动化相关的方向。NFV生存性监视(monitoring the health)以及VNF错误自动修复功能是非常重要的。

 

Q:NFV对OSS/BSS有什么影响?

A:由于传统设备是硬件和软件强耦合的,所以OSS不存在对硬件资源的管理。当NFV出现后,OSS需要添加对硬件资源的管理功能,以及继承新的的VNF功能。

 

Q:哪些网络功能可以虚拟化?

A:CDN,DPI,Firewall等,详见NFV white paper

 

Q:SDN会首先出现在网络的什么位置上?

A: 虽然SDN提供了更为简单的方式来配置网络服务,例如VPN。但是对于VPN业务来说,如何协调SDN与传统路由器比较困难。同时传统路由器厂商开发和暴露了类SDN接口的北向API,因此可以通过使用这些新的接口来实现服务的自动化部署。另外随着二三层白盒交换机进入市场,这些交换机可以使用OpenFlow来作为路由器和交换机的控制平面,由于白盒交换机的经济性,能够给企业节省投入和运营成本。

 

Q:在SDN和NFV上,有那些标准化组织在工作?

A:虽然OpenFlow是SDN的一种主要协议,但并不是所有的SDN实现都是基于OpenFlow的,OpenFlow Spec是ONF来起草和维护的,截至到2014年初,共发布了6个版本的OpenFlow Spec,新的版本仍然在制定中。NFV是ETSI来起草和维护的,NFV ISG制定了一些NFV的标准(需求,术语,框架,用户用例,PoC框架,...),截至到2014年初,这些标准仍然是草案阶段。

 

 

参考链接:OpenFlow, Merchant Silicon, and the Future of Networking

              SR-IOV

              NFV

A Guide to NFV and SDN 笔记