设为首页 收藏本站
查看: 1477|回复: 0

[经验分享] SDN控制平面发展历史及趋势

[复制链接]

尚未签到

发表于 2015-11-5 15:09:08 | 显示全部楼层 |阅读模式
  SDN的特点之一就是控制平面与数据平面分离,其主张通过集中式的控制器平台实现网络的控制。在SDN架构中,控制平面是逻辑集中的,通过某种协议将控制信息下发至底层的数据平面去执行。所以,控制平面被称为SDN的大脑,指挥整个数据网络的运行。
DSC0000.jpg


得益于集中控制的优势,控制平面的存在使得网络的部署和配置更加智能和简化。支持编程的SDN控制平面使得网络更加智能,更加灵活和易于拓展。控制器通过SDN的南向协议的API可以对数据层面的网元设备下发指令,完成控制平面与数据平面的控制传输。目前,在SDN领域中,OpenFlow协议是最流行的南向协议之一。2008年,SDN和OpenFlow一起诞生于斯坦福大学。
SDN出现初期,控制平面的表现形式更多的是以单实例的控制器出现。实现SDN的协议也是以OpenFlow为主,所以在SDN发展初期,SDN控制器更多指的是OpenFlow控制器。SDN出现之后,ONF[1]成立。ONF(OpenNetworkFoundation),中文名为“开放网络基金会”,是致力于推进SDN标准化的一个用户驱动的组织。在ONF的白皮书中,提出了SDN的架构标准,SDN架构1.0版本和1.1版本分别如图1和 图2所示。
DSC0001.jpg

图1 SDN网络架构1.0版本

DSC0002.jpg

图2 SDN网络架构1.1版本

第一款SDN控制器是NOX,目前NOX的社区状态已经不再活跃。在早期的SDN论文中,NOX作为唯一的控制器,发挥了重要的作用。NOX给后来的控制器开发提供了很好的范例,高层级的编程架构。然而,由于其使用C语言编写,给开发SDN应用带来了许多困难,逐渐在控制器竞争中失去优势。在NOX出现不久之后,其兄弟版本POX面世。POX的内部机制和NOX一样,但是采用Python语言开发。在SDN发展初期,POX也扮演了相当重要的角色,许多SDN学习者都接触过POX。POX因其简单,易入门而得到广泛的关注和使用,成为SDN入门,学习SDN控制器的很好选择。然而,随着技术的发展,更多优秀的控制器,如2012年采用Python语言开发的控制器代表Ryu,2013年采用Java语言开发的控制器代表FloodLight等纷纷涌现。他们具有更加成熟的架构,更加优秀的性能,相比之下,POX不具有优势,慢慢在控制器的竞争中处于下风。目前POX的开源社区还是活跃状态,由MurphyMcCauley继续运营社区。
Ryu是日本NTT公司开发的模块化的控制器。Ryu因其架构清晰,支持OpenFlow全部版本,有社区的Plug-in集成到OpenStack,性能良好和文档齐全等优点获得了许多SDN研究者的关注。同样,在Beacon上改进而来的FloodLight,以其企业级别的优秀性能,开发效率更高的Java语言,模块化的设计等优点得到了喜欢Java语言的SDN研究者的青睐。此时的SDN控制器侧重于提升单例性能,支持的南向协议也是以OpenFlow为主。笔者认为可以称之为OpenFlow式SDN的控制器发展中期。然而这个时期非常短。
SDN经过几年的发展,成为趋势的势头逐渐浮出水面。SDN控制器的发展也因一个重要的SDN“控制器”而展开新的篇章。2013年,由LinuxFoundation和多家网络巨头如Cisco、Juniper和Broadcom等公司一起创立的开源项目OpenDaylight。其赞助商、发起者多为设备厂商而非运营商等消费者,其目的在于推出一个通用的SDN控制平台。OpenDaylight不仅仅是一个SDN控制器,它更是一个庞大的开源项目,其中包含许多子项目,而Controller只是其中的一个子项目。OpenDaylight支持多种南向协议,包括OpenFlow(支持1.0和1.3版本)、Netconf和OVSDB等,是一个广义的SDN控制平台,而不是OpenFlow系的狭义SDN控制器。
OpenDaylight的诞生意味着SDN进入一个崭新的时期。此时SDN的概念发生了改变。SDN控制器应支持多南向协议,而不仅仅局限于OpenFlow,当然这给我们带来了很多想象空间,会被巨头引导走向不够开放的另一端吗?SDN控制器应该支持分布式集群,即单实例的控制器变成了分布式的控制平台。分布式的控制平台不仅可以管理更大的网络,性能更好,还可以相互容灾备份,提升系统的可靠性。在分布式系统盛行的今天,SDN控制器虽逻辑集中但也需要架构上分布。
OpenDaylight的社区的会员很多,早期的会员多为设备商。各个厂商均竭尽所能得把自己的思想,产品放到OpenDaylight项目中,如Cisco的OpFlex。虽然多家厂商参与社区的维护和OpenDaylight的开发,但是大多数项目还是Cisco在主导开发。在角力的过程中,有的企业就会有其他的打算,如BigSwitchNetworks推出OpenDaylight, Juniper将经历转向了自己的Open Contrial。 OpenContrial是Juniper的商业控制器Contrial的开源版本,其使用C++语言编写,支持OpenFlow协议和Netconf等南向协议。不过相比之下也有跟进的企业,如HP,就增加了对OpenDaylight的投入,将自己升级到了铂金会员。Huawei则兵分多路,一部分人开发OpenDaylight,另一部分人则参与了新生代的控制平台ONOS的开发,还有其他很大一部分人在进行华为敏捷智能网络控制器SNC的开发。虽然OpenDaylight社区势力众多,各自想法也不一样,但是这并不影响OpenDaylight的性能和在SDN研究者心目中的地位,OpenDaylight依然凭借自己社区强大的技术,在SDN控制器的竞争中成为最具有影响力的控制器之一。许多企业在自己的产品中或者网络中使用到了OpenDaylight,比如Brocade一直推基于OpenDaylight的商业控制器Vyatta。腾讯也在最新的技术分享中提到使用了OpenDaylight管理自己的数据中心网络。
从2013年底到2014年底这段时间内,OpenDaylight可谓风光无限,提到SDN几乎都会提到OpenDaylight,仿佛OpenDaylight就是SDN控制器的最终形态和最终归属。这一局面,在2014年12月5日被打破了。由On.Lab开发的ONOS面世了。ONOS(OpenNetwork Operating System)是一款同样采用Java语言编写,采用OSGi架构,同样分布式的控制平台产品。其目标是打造一个开放的SDN网络操作系统,市场定位在运行商级别网络市场。ONOS底层模块直接借用FloodLight优秀的模块如Switch模块,不使用YANG语言建模,最新版本使用Raft作为分布式框架。突然之间,OpenDaylight遇到了竞争对手。虽然截至2015年之前,并没有使用ONOS的案例,但是在未来,凭借自身的优秀性能,ONOS可以取得一部分市场。
SDN开源控制器除了这些比较出名的之外,也有其他用户比较少的控制器,如Trame,FlowER,LOOM等。笔者参考SDxCentral最新的SDN控制器的数据,将目前SDN开源控制器是否活跃情况列举如下表,先后顺序无关。
DSC0003.jpg

  然而目前最神秘,最出名的控制应该不是以上提到的任何一个控制器,而是Google的分布式控制器ONIX,ONIX目前没有开源,相关资料非常少。目前由Nicira、NTT和Google共同开发。2013年,Google在SIGCOMM上发表了论文《B4: Experience with a Globally-Deployed Software Defined WAN》[3],论文介绍了Google的WAN加速SDN方案,其中使用的控制器就是ONIX。论文发布时,B4已经运行了3年,除了发生过Datapath_id相同导致的错误以外,基本正常运行。该方案将带宽利用率提升到了接近100%的恐怖利用率。也即2010年Google已经开发出了整套方案,然后上线运行,很明显,Google和整个技术发展不在一个时期,这个案例也是SDN支持者心中的最有力的论据。
  除了ONIX之外,还有许多闭源的商业控制器,如HP的VAN(Virtual Applications Networks)控制器,武汉绿网的GNflush等,更多商业控制器的内容可参考SDxCentral的SDN-Controller-Report 2015B[4]。
  影响SDN控制器发展的因素除了技术因素以外,还有重要的非技术因素,如行业企业对技术的态度等。企业在制定SDN战略时都是从自身的利益出发的,这些战略很大程度上影响着SDN的发展。在一项技术的发展过程中,行业巨头等企业的战略等非技术因素会对技术的发展曲线,发展方向产生非常大的影响。
  自SDN发展以来,业界声音不一。支持者声称这将改变传统网络,打破目前固化的网络架构,带来更灵活,更智能的网络;而反对者则认为这并没有良好的发展前途,因为分布式的优点足以支撑目前的网络运行,而SDN所提倡的集中式虽有优点,但劣势多于优势。这些声音代表了不同利益阵营,所以处于不同利益阵营的企业对SDN的态度也不一而足。如传统巨头Cisco,态度就很微妙。对于Cisco而言,如果不支持SDN,那么万一SDN真成为下一个潮流,那么市场损失过大,影响行业地位。如果完全支持,那么在SDN这个崭新的战场,市场重新布局,门槛降低,更多竞争者进入,且追赶者Huawei等企业也会趁机大力发展SDN,最终SDN格局还无法明朗。所以Cisco一方面投入研发精力研究SDN,另一方面,剑走偏锋,推出自己的ACI(ApplicationCentric Infrustructure),企图另辟蹊径占领SDN市场。ACI也是一种广义上的SDN。其控制器为APIC(Application Policy Infrastructure Controller),但他区别于我们所理解的之前提到的控制器,他并不负责指挥数据层面如何转发流量,所以在ACI中,底层设备Nexus9000才是重点,而非控制器。其使用的南向协议也避开了OpenFlow,而使用了私有协议OpFlex。如此一来,成功避开了SDN白牌交换机的冲击,成功将战场引到了拥有技术壁垒的数据层面产品上。
  对于传统网络行业巨头而言,目前稳定市场布局对自己有利,自然不希望新技术打破这一平衡,所以他们对于SDN的态度往往是不够积极。但是为了防止新技术的冲击,他们一定会跟进,也一定会想办法推出兼容产品或者竞争产品,力图在新技术市场上占据有利地位。除了投入研发精力跟进外,还会对有希望的创业公司进行技术收购。若创业公司成长壮大,那么收购是成功的,如果创业公司失败,那也没有太大关系,这笔投资对于巨头而言并不是大事。技术收购的策略在技术发展过程经常被使用,所以近些年关于SDN创业公司被收购的新闻屡见不鲜,相信在SDN发展的道路上,技术收购还会继续发生。
  对于第二阵营或者新技术公司而言,必然大力支持SDN的发展。如Huawei大力投入研发精力研发SDN相关产品。不仅在开源项目方面参与OpenDaylight项目,还参与ONOS项目,一方面,跟进OpenDaylight项目不落后,另一方面,企图通过ONOS项目来争取更多的市场。此外,Huawei也大力发展SNC控制器等SDN产品。和Huawei类似的,HP也在投入精力发展SDN,不仅推出了自己的SDN控制器产品,也推出了SDN交换机等数据平面产品。新技术公司方面,国内的盛科,国外的PICA8等交换机厂家已经抓住SDN发展的机会,推出了许多数据平面产品,占据了一定的SDN市场。配套的数据平面产品的推出必将推动SDN控制平面的发展及落地。
  SDN的发展也给更多的其他领域的竞争者入足的机会,虚拟化产品巨头VMware就是一个很好的例子。瞄准SDN的市场之后,VMware收购了创业公司Nicira,在其Network Virtualization Platform(NVP) 的基础之上,结合自己的vCloud Networking and Security(vCNS) 推出了NSX,从而占据了数据中心网络虚拟化的一部分市场,加入了SDN市场的竞争。新的SDN产品的推出,也给业界推动SDN发展的信心,从而促进SDN控制平面的发展。
  笔者认为,随着技术的发展,网络规模的扩大,SDN控制器将出现分级分域的概念,多控制器之间将出现协同工作的功能。即管理不同网络的控制器运行对应的应用,而不同控制器之间通过东西向接口进行信息同步,从而完成全网的管理。目前在OpenDaylight中实现的SDNi协议即是一种SDN东西向协议的实现方法。未来的SDN控制平面应该是局域集群,全局分级的架构。此外,未来的SDN控制平台会成为网络操作系统形式的存在,目前ONOS就是网络操作系统的示范。除此之外,SDN控制平台将和OpenStack等云管理平台整合运作,这也是当下控制器的一个趋势之一。虽然开发者可以在SDN控制平面上开发部署很多应用,但是未来的SDN控制器将面对特定的网络运行特定的应用,而不会运行全部的应用,甚至于根据不同场景,出现不同的版本的控制平台。
  SDN控制器的竞争最终会优胜劣汰,剩下几款经典的控制器分别占领不同的市场,正如当下的计算机操作系统一般。即不会有任何一款控制器垄断整个市场,不同的控制器将会相互竞争相互促进。此外,短期之内OpenFlow不会失去竞争力,但最终同样会存在多种南向协议相互竞争,竞争是常态,是技术发展的源泉。
作者简介:李呈,2014/09-至今,北京邮电大学网络技术研究院网络与交换技术国家重点实验室攻读硕士研究生

本文转载自SDNLAB,原文链接:http://www.sdnlab.com/13306.html


         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-135535-1-1.html 上篇帖子: FreeBSD历史 下篇帖子: Network virtualization, management silos and missed opportunities
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表