SDN生态系统

根据自己的理解介绍SDN生态系统。

1 SDN由来

根据SDN先驱的一些演讲和文章,可以发现他们是在推行一种理念,即把控制模块和数据模块分开来,以促使数据转发的硬件、网络操作系统及其上层应用分别发展。这样就把网络设备分成三个层次,每个层次之间通过开放接口对接,客户自己选择哪家厂商的解决方案。就像今天的PC产业,客户可以自己选择PC硬件(intel或AMD),操作系统(Windows或Linux),应用(notes还是exchange)。当前SDN硬件提供商有Arista、HP等,SDN操作系统提供上有Nicira、Big switch、opendaylight等,SDN应用有虚拟交换机,网络可视,负载均衡,流量优化等。

为什么要这么做?Martin给联邦政府维护网络,遇到很多头痛的问题:网络复杂、设备繁多、需要分别进入不同网络进行管理;斯坦福老师Nick认为现有的网络体系制约了网络的发展,如果想试验新网络服务,可能需要网络厂商在设备上提供的某种功能,而这个时间很长,而且这种方式用于教学不现实。为了便于管理,加快网络发展速度,他们提出了SDN概念,这样每个层次可以独立分别发展,使得网络能像之前PC一样的创新和发展速度。SDN白皮书还是那篇用openflow管理校园网络的论文。

他们定义了openflow接口,用于网络硬件和网络操作系统的通信,类似于PC里的CPU指令。但没有定义网络操作系统和上层应用的接口,就像PC操作系统间系统接口不一样,但很类似。当前的几个网络操作系统也一样,提供给上层应用不同但类似的网络API。

2 SDN的三个层次

在SDN硬件层次,由传统硬件厂商主导,他们在原有交换机上支持openflow协议,或者用SDN的概念去改进原有的解决方案。目前简单的在交换机上支持openflow是很难让客户买单,因为上层的网络控制系统和应用不全也不成熟。用SDN改进原有解决方案我看不是很懂,比如华为、NEC,Juniper等,因为他们原有的解决方案就比较复杂,SDN加上去之后更看不懂。不过这些厂商有钱,声音最大,让大家感觉你买个openflow交换机回去就有SDN了。硬件层次的芯片提供商做了很有意义的事情,比如Intel、6wind、freescale等在硬件上提供更多针对SND的指令使得SDN解决方案的性能更好,就像之前intel为PC虚拟化提供的虚拟化指令一样。

在SDN的网络操作系统上,有开源、startup、以及IBM、NEC、cisco和NTT等商业机构提供解决方案,4月份刚成立的opendaylight最受关注,估计会成为网络操作系统的Linux。

在SDN的应用上,首要应用就是交换机功能,其次是网络可视、网络负载等功能,这上面的应用还很少。但这部分才是真正能为客户带来价值的部分,在硬件性能足够,SDN网络系统稳定之后,理论上SDN上层应用会像PC应用一样百花齐放。投资Nicira的LightSpeed ventures也看好这点,在Nicira被收购后投资了3家做SDN APP的公司。

3 SDN和网络虚拟化

当SDN没有遇到PC虚拟化。在SDN酝酿的那几年,PC虚拟化刚刚开始,PC大量虚拟化之后遇到的问题如网络问题并不明显,因此SDN在开始时并没有考虑到去解决网络虚拟化的问题,而是按照PC的体系结构去发展,解决管理和快速创新问题。但这个发展会比较缓慢,因为即使现在网络复杂,创新慢,它依然能够解决问题,用户用SDN的动机不大。另外Cisco等也不愿意按照ONF的方向走,因为那样会削弱它整体解决方案的核心竞争力。

但SDN遇到了PC虚拟化。大量PC虚拟化之后,虚拟化数据中心的网络管理出现了新的刚性需求,要配合虚拟机的快速部署去快速部署网络和网络服务,并且要支持虚拟机到处迁移。这个需求和前面的需求不一样,虽然SDN理论上可以解决大量PC虚拟化的问题,但当前SDN的硬件、网络操作系统和上层应用都不成熟。因此SDN转向做网络虚拟化,以解决PC虚拟化后出现的问题。在做网络虚拟化过程中,openflow给交换机做配置太麻烦,他们又开发了OVSDB的方式配置虚拟交换机,因此openflow这一套在网络虚拟化用处并不明显,而vmware则根本没有用openflow。

网络虚拟化通过VXLAN,NVGRE和STT等隧道技术做network overlay来实现。网络虚拟化的目的就是在一个物理网络上,虚拟出多个虚拟网络及相应的服务。现实案例如Rackspace,单一简单的交换网络上通过Nicira提供许多相互隔离的网络。

SDN和网络虚拟化的发展可以类比PC的发展。IBM通过兼容机完成了把PC硬件和OS分离,Nick和Martin想通过SDN/openflow做同样的事情。Vmware实现了PC虚拟化,Nicira实现了网络虚拟化。PC体系结构和PC虚拟化时间分得很开,技术很不一样,大家容易理解和区分。但SDN和网络虚拟化由同一小批人在短短几年内给出解决方案,加上技术有重叠,还有厂商的噪音,很多人都被搞模糊了。当前,网络虚拟化会给客户带来很大价值并给厂商带来销售额,但SDN还需要若干年去成熟,第一批商业用户会是ISP。为什么SDN这么火,估计是占了网络虚拟化的光。IDC预计2016的SDN市场大20亿美金估计包括了网络虚拟化部分。

PC虚拟化运行在PC体系结构上,网络虚拟化数据同样会跑在SDN网络上。比如ISP们用SDN管理他们的骨干网络,上面跑多个数据中心之间的的网络虚拟化数据。

4 网络功能虚拟化network function virtualization(NFV)

在网络虚拟化之后,每个用户都有了自己的虚拟网络,但虚拟网络里面的网络功能如负责均衡、防火墙、网络可视、网络优化不能再由原来物理设备提供,因此就有了NFV。当前NFV主要还是表现在在一个虚拟机上面跑网络功能,如vmware定义的virtual appliance,还有Amazon market place上面的各种网络功能。Vmware提供vmsafe api让一些安全厂商可以直接挂钩子获取虚拟机的数据流,这样可以很方便部署,不用把虚拟网络设备串在网络中。

刚刚被Brocade收购的vyatta专门做这一块,他们在软件上做了很多优化,据说他们的软路由比思科在某些情况下快10倍。传统的网络厂商如F5,Checkpoint,Riverbed也纷纷把自己的主打功能虚拟化。

5 初创企业

SDN的初创企业主要集中在做网络虚拟化以及SDN的controller。网络虚拟化解决方案竞争激烈,有One convergence, nuage, Big switch等,都支持openstack这个平台,除了Nicira,估计单独在openstack提供网络虚拟化解决方案的很难赚钱了。要赚钱的还是vmware在自己平台上构建的网络虚拟化解决方案,别人进不来。

应该还有一些小公司再做SDN的controller及其上面的APP,估计现在时间还早,很难看到他们的影子。

6 厂商

在2013展会中了解到的一些信息。

l  Cisco

Cisco什么都做,SDN方向上让原有的交换机通过升级固件支持openflow,并在2013年3季度推出自己的controller,但有哪些应用没有透露,意味着客户还需要时间才能享受到Cisco的SDN带来的价值。在网络虚拟化方向Cisco给VMware做了1kv虚拟交换机,但感觉只做了网络虚拟化的一部分,即交换功能。还没有搞清楚Cisco在这两条路上的策略。

l  Vmware

在收购nicira前,vmware通过虚拟交换机提供简单的网络虚拟化解决方案。但没能像nicira那样提供接口去定义网络和数据流,或支持多个虚拟化平台。在收购nicira后,今年3月份推出vmware推出了NSX,通过NSX可以给云管理平台如openstack、vcloud提供网络虚拟化接口对网络进行管理,这样vmware有能力给所有平台提供网络虚拟化功能。同事NSX提供了原来vcloud提供的网络安全和优化功能,如防火墙和负载均衡。

在ONS2013上,vmware的人也明确指出:SDN != 网络虚拟化。

l  Big switch

Big switch在opendaylight出来之后显得很尴尬,因为Big switch有的东西opendaylight都能提供并且开源,不知道以后Big switch会朝哪个方向走,但无论哪个方向,都有比它强大的对手领导市场。虽然同时提供SDN和网络虚拟化解决方案,但还没看到能拿得出手的实际客户案例。

l  NTT

日本在SDN还是走得比较前面,还有好几个日本人用很破的英文在台上演讲。主要是NTT下面的项目,有自己的controller和应用,但没有说明是否用在实际网络中并解决什么问题。

l  IBM、NEC、HP

这几个传统厂商都在推硬件为主,软件为辅的SDN解决方案。而且同时包括网络虚拟化解决方案。但方案看起来很复杂,自己看不清楚他们的定位。

l  On.LAB

这是一个由多个大厂商支持的开源社区,有20多个工程师,主要是把SDN的controller做成分布式,多个controller之间共享信息,只有有一个controller存活网络就可以正常运行,而不是传统的单一controller控制所有需要管辖的网络设备。这种设计模式vmware和nicira也在用。

l  高校

-- 清华大学展示了一个流表优化的技术。

-- EstiNet是台湾一所大学的项目发展出来的公司,模拟网络和openflow交换机,验证controller功能和性能。

-- 另外还有美国其他大学在SDN上面的各种研究成果,但没有看到网络虚拟化方面的,也许网络虚拟化没有什么可以研究的,直接解决客户需求就行了。

l  One convergence

这家在做几乎和Nicira一模一样的东西,即为云管理平台如openstack等提供网络虚拟化方案。

l  Freescale

为数不多的芯片厂商,直接在硬件支持应用识别、加密等指令,可以使得用freescale做的openflow交换机支持更复杂的指令,并且更高性能的执行。

l  Intel

DPDK是为网络虚拟化,而不是SDN服务的。DPDK可以让利用它接口的虚拟交换机跑得更快,像VT让PC虚拟化跑得更快一样。这样虚拟交换机就不会耗CPU资源并且性能高。

l  Centec

硬件提供商,提供高性能的openflow芯片或openflow交换机,在ONS2013获得ONS IDOL第一名奖项。

l  Nuage

阿尔卡特朗讯下面的SDN公司,除了分布式交换机,还提供了分布式路由功能。

***技术交流到新浪微博@darwin23


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

登录后才可以评论

SDNLAB君 发表于15-11-16
0