您的位置: 网界网 > 网络通信 > 正文

漫谈SDN,NFV与NV

2015年01月29日 14:22:24 | 作者:佚名 | 来源:SDN联合播报 | 查看本文手机版

摘要:SDN(Software Defined Network),NFV(Network Function Virtulizaiton),NV(Network Virtulization),三个网络名词是电信界与IT界的热点词汇,它们与运营商网络、云计算,虚拟化密切相关,所以频繁的在不同领域,不同场合出现,...

标签
NFV
SDN思考
SDN与NV
SDNAP原创

SDN[注](Software Defined Network[注]),NFV[注](Network Function Virtulizaiton),NV(Network Virtulization),三个网络名词是电信界与IT界的热点词汇,它们与运营商网络、云计算[注]虚拟化密切相关,所以频繁的在不同领域,不同场合出现,以致于很多人对它们混为一谈,在此,就自己前一段的学习与体会,谈谈所理解的SDN,NFV与NV。

漫谈SDN

SDN即软件定义网络[注],开放网络基金会(ONF)将软件定义网络定义为三个特征:

  • 控制平面与转发平面分离
  • 控制平面集中化
  • 网络可编程

了解现有网络的人一看就明白,我们现在的网络无论运营商骨干网,城域网,接入网,数据中心网络[注]以及企业的园区网[注],办公网,都是非SDN的,即硬件定义的网络,特点是:

  • 控制部件与转发部件一体化,形态上体现为厂家专用的、封闭的、控制与转发平面紧耦合的设备;
  • 控制平面工作方式是分布式的,每台设备独立通过二层,三层的协议学习网络拓扑,形成转发表与路由表,报文转发自主决定。
  • 不可编程,网络的部署通过设备厂家的特有命令行,命令行各家不一,没有标准。

SDN描绘的理想网络应该是这样的:

  • 转发平面通用化(Openflow的目标),转发设备的研发,生产,制造不再有门槛,制造商仅需要将通用芯片组装成设备即可,厂家设备差异化消失。转发设备受控于控制器,转发信息由控制器下发。
  • 控制器即Controller,要性能强(控制相当规模的网络),可部署复杂业务(高级服务),支持高可用。Controller能形成集群组,支持更大规模网络。
  • 公开的北向接口,应用或云平台可以通过这个接口调用控制器,实现业务所需的网络服务。

在这里啰嗦大家熟悉的SDN的定义以及SDN实现的理想网络,是因为业界对SDN有不同的解读,有种说法是SDN重在第三项特征可编程,第一,二特征没这么重要。我的看法是,如果控制不集中,在现有设备商上是可以实现一定程度的可编程,可其带来的好处是有很大局限的,局限之处在于:

  • 无全局拓扑
  • 配置上下文一致性没保证
  • 无统一的网络运行状态信息

因此,SDN的三个特征是互为补充的,只有这三者之间的有机结合才能真正解决硬件定义网络的束缚,上层业务才能随心所欲调用网络,使其为之服务。

Google的B4以及Facebook最新的数据中心都证明了这一点,其核心建设思想都在强调Controller对网络的全面掌控。可见,强调满足一、二特征还是必须的。

谈SDN需提及Openflow(尽管它表面上只是一个南向接口协议),因为它们被同时提出并紧密相关,在此,说说我理解的Openflow。

从SDN提出第一天起,以斯坦福大学Nick教授为代表的学术界就一直在致力于转发平面的通用化,Openflow充分体现了这一设想。但大家都了解,Openflow的进展到目前为止并不顺利,原因有三点:一:目前的商业芯片无法有效支持Openflow定义的多字段匹配;二:商业芯片对匹配、动作多级流水线的支持也很有限;第三点倒是与Openflow没有直接关系,业界各厂家推出的controller switch方案与现网的互通性过于简单,不满足生产要求,使得所建的网络成为孤岛,只能用于特定场合(如研究与测试),并非可以全面推广的通用方案。

尽管现状如此,但Openflow实现转发层面通用化的努力还是有非常大的意义。假设Openflow的标准固定下来,基于Openflow的商业芯片量产,对于网络界的意义不亚于x86对于服务器行业的意义。

漫谈NFV

NFV是ETSI(即欧洲电信标准化协会)旨在通过采用通用硬件及在其上流行的虚拟化技术,来取代目前由电信设备厂商给运营商提供的专用硬件设备,从而降低网络建设的昂贵成本支出。NFV背后的支持者是电信业界的各大巨头。

IT业者不大了解电信网络,以为NFV的目标是拿通用服务器代替数据中心的交换机、路由器等设备。实际上,NFV所涵盖的范围要广泛的多,电信网络中除了数据网络外还有固定网络,移动网络以及传输网络,涉及的网元类型达百十种之多(电信业内的专家都难准确说出电信网络究竟有多少种网元),都在NFV所涵盖的范围。

既然NFV的目标是通用服务器替代专用电信设备,那就需要了解它们各自的特点。专用电信设备的特点是性能强,可靠性高,有较强的可扩展能力。而通用服务器的长处是计算能力强,标准化,有成熟、开放的虚拟化技术支持。

上面讲到电信网络中的网元类型很多,功能上有侧重计算密集型的(以处理信令为主),也有侧重转发性能的。NFV应该发挥通用服务器的强项,目标先锁定那些计算密集型的网元,之后再随着CPU处理网络报文性能的提高,再逐步覆盖那些侧重转发的网元。

这里以数据通信设备为例,讲讲NFV可能的发展路径。数据通信中的常见设备有交换机,路由器,防火墙,深层监测及应用交付设备等。交换机与路由器基本工作在OSI定义的二层到三层,而深层监测与应用交付设备工作在OSI定义的四层到七层。越往上层走,芯片需要处理的报文字段就越多,计算的工作负荷就越大;越往下层,芯片需要处理的字段就越少,计算资源的需求就越校

拿业界最有代表性的三类芯片CPU,NP(Network Processor)与ASIC(Application Specific Integrated Circuit)作性能分析:NP比CPU快一个数量级,ASCI又比NP快一个数量级。拿最新的数据参考,NFV领先的某公司刚发布了性能测试报告,采用的双路服务器实现的最大三层转发性能为80Gbps(注意:该服务器工作在裸设备模式,还没作虚拟化,虚拟化后必然有一定程度的性能降低),可是,交换机领域量产的单颗芯片的转发性能已经是1.28T。

所以,NFV如果要大行其道的话,CPU必须在性能方面大大缩短与NP及ASIC之间的差距。

漫谈NV

随着云数据中心[注]里计算虚拟化的趋势,数据中心中业务快速部署、自动化以及自服务成了必然的需求,这在公有云[注],大规模私有云[注]里体现的最为明显。对网络提出了以下几个方面新的要求:

  • 云平台无法操纵现有网络设备,无法根据应用的要求配置网络。
  • 多租户之间要实现隔离。
  • 单租户的不同应用之间安全性要保障。
  • 虚拟机迁移的要求打破了原有网络的边界,配置的网络策略需要随动迁移。

上述要求使得现有网络无所适从,所以NV应运而生。

NV的方法是在现有网络之上构建了一个叠加(Overlay)的,虚拟的网络,这个网络直接支持业务,由云平台操控。而现有网络只作为传输通道,只在特定情况下支持业务(如需要虚机与物理机之间互通)。

NV的体系架构大致如下:

  • 服务器Hypervisor上安装转发部件,接收Controller下发的转发指令,形成转发表,转发数据报文。
  • Controller控制其下的Hypervisor们,准确的说是控制其上的转发部件;管理整个虚拟网络。
  • Controller提供API接口给云平台,云平台部署业务时只跟Controller打交道。

对于东西向流量,由Controller控制下的Hypervisor之间(以下称虚拟机集群)转发实现,而南北向流量,需要部署专门的虚拟路由器或物理网络设备作为虚拟机集群的出口。

南北向流量处理需要多提一点的是,不论专门的虚拟路由器还是物理设备,上面运行的是传统路由协议,Controller要与其互通,需要支持相同的协议。

叠加网络是这样形成的,Hypervisor之间建立隧道,通用的协议是VXLAN或NVGRE(隧道协议后续还有发展,这里不作探讨)。虚拟机之间的流量封装在Hypervisor地址内传送。物理网络设备只看到Hypervisor地址,不会看到虚拟机地址。

了解传统网络设备的就会意识到,这个架构似曾相识(+微信关注网络世界),虚拟机集群像一台机架式路由器或交换机,Controller就是主控,Hypervisor就是接口卡,每台虚拟机连接到接口卡上。Hypervisor之间通过VXLAN连接,VXLAN相当于机架式设备的背板或交换引擎(当然VXLAN报文不能跑在空气中,由物理网络设备转发)。这里,Controller负责控制平面,Hypervisor们组成转发平面。

在此回答NV是如何解决前面提到的计算虚拟化挑战问题的:

  • 云平台通过Controller控制虚拟网络,满足应用部署要求。
  • 隧道建立时,有隧道标识,VXLAN封装有VNI字段,24位,1千6百万个。每个VXLAN就是一个广播域,VXLAN之间二层隔离。为单个租户建立独有的虚拟路由器,租户VXLAN终结到自己的路由器,自然也实现了三层隔离。
  • Hypervisor上的转发部件可以为虚拟机配置ACL实现安全控制,也可以与第三方安全模块集成,实现更复杂的安全功能。
  • 云平台在迁移虚拟机时同时调用Controller接口,配置的网络策略实现随动迁移。

最后谈谈SDN,NFV,NV三者之间的关系:

就之前对三者的描述,大家可以了解到,三者间绝不等同,但又互有交集。

SDN, NFV, NV之间的区别:

三者各自提出的背景不同,解决的问题也不同。SDN解决的是加快网络部署的问题,面向的是整张网。而NFV的诉求是通用服务器对专用网元的替代,针对的是单个的网元。形象的说,SDN关注的是面的问题,NFV关注的是点的问题。有电信界专家称SDN注重降低OPEX,NFV注重降低CAPEX,不无道理(当然,SDN的推动转发平面通用化成为现实,CAPEX也会大大降低)。

再讲讲SDN与NV的区别,相比SDN,NV解决的只是虚拟化数据中心的网络问题,SDN面向的网络更广泛,只要有网络灵活多变,业务部署复杂,就是SDN的目标所在。NV采用叠加网络解决虚拟化数据中心的方案只能用在数据中心,没法用到园区网,运营商城域网,骨干网等其他网络。所以,NV相比SDN,所针对的只是虚拟机网络,只适用于数据中心内,面向的网络范围要小的多。上一段将SDN与NFV比作面与点的关系,那NV针对的就是整个网络版图里的一块块小角。

总结一下,SDN,NV,NFV分别对应网络的面,角,点。

SDN, NFV, NV之间的交集:

NV是虚拟机世界的网络解决方案,我的理解是它采用了SDN的思想,NFV的方式满足数据中心云化的特定网络需求。之前的NV架构中,Controller与Hypervisor转发部件之间就是控制与转发分离,控制平面集中化的体现,Controller又有接口供云平台调用,实现可编程,不是完全符合SDN的三个特征吗?

在介绍NV时提到的处理南北向流量的虚拟路由器,与物理路由器功能上没有什么不同,只是运行在物理服务器上的一台虚拟机,实现了路由器功能,这不就是NFV的实际应用!

SDN与NFV诉求不同,前者面向面,后者面向点,但它们尽管不同,但有关联,而且关联关系会随着这两项技术的发展会越来越密切。先抛开SDN说NFV,现网中如果拿通用服务器替代专用网络设备,就是NFV的实现。而网络中实现SDN可以通过现有的专用设备,只要满足开篇提到的三特征即可。这么说,好像SDN与NFV无关。那为什么又说SDN与NFV会越来越密切?通用服务器替换专用设备,可能会更便于实现SDN定义的三特征,而且SDN与NFV都是大势所趋,未来会出现在Controller控制下用通用服务器作为网元形成的网络,既实现了SDN,又是NFV。如果发展到这一步,SDN与NFV就是完美的融合了。

关于作者:薛保平,曙光信息产业公司网络架构师,分别在曙光,爱立信,世纪互联从事网络架构,网络设计与设施等工作,在数据通信行业有超过15年的从业经验。文章摘自:IT168

参考资料

1.NFV:(Network Function Virtualization,网络功能虚拟化)的目标是通过基于行业标准的服务器、存储和网络设备,来取代私有专用的网元设备。由此带来的好处是主要有两个,其一是...详情>>

2.SDN:(Software Defined Network,软件定义网络)是一种新型的开放网络创新架构。最初是由美国斯坦福大学研究组提出,OpenFlow通过将网络设备控制面与数据面分离开来,从而实现...详情>>

3.园区网:(Campus Network)泛指企业或机构的内部网络,路由结构完全由一个机构来进行管理,组网上与广域互联、数据中心相连接,其核心是员工、合作伙伴等访客的网络接入、数据交换...详情>>

4.数据中心网络:(Data Center Network)是应用于数据中心内的网络,因为数据中心内的流量呈现出典型的交换数据集中、东西流量增多等特征,对数据中心网络提出了进一步的要求:大规模、高扩...详情>>

5.云计算:(Cloud Computing)描述了一种基于互联网的新的IT服务增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展而且经常是虚拟化的资源。云计算是继1980年代大型计算机到...详情>>

6.私有云:(Private cloud)是将云基础设施与软硬件资源建立在防火墙内,以供机构或企业内各部门共享数据中心内的资源。私有云完全为特定组织而运作的云端基础设施,管理者可能是组织...详情>>

7.公有云:(Public Cloud)是第三方提供一般公众或大型产业集体使用的云端基础设施,拥有它的组织出售云端服务,系统服务提供者借由租借方式提供客户有能力部署及使用云端服务。它能...详情>>

8.云数据中心:一种为提供云计算服务而建设的数据中心。与传统IDC(互联网数据中心)和EDC(企业数据中心)区别在于区别所应对的业务模式不同。传统IDC多数是支撑电信运营商数据业务,并有明...详情>>

[责任编辑:孙可 sun_ke@cnw.com.cn]