专家观察 | 肖宏辉:“OpenStack中的SDN现状和简介”
《专家观察 | 肖宏辉:“OpenStack中的SDN现状和简介”》要点: 由工业和信息化部指导,中国信息通信研究院主办,业界知名组织云计算开源产业联盟(OSCAR)承办的2017全球云计算开源大会于4月19日-20日在北京国家会议中心顺利召开.本文为本届大会嘉宾分享的大会演讲速记内容,敬请浏览. 嘉宾介绍:肖宏辉 公司职务:华为软件工程师 大会演讲速记 大家好,很高兴能跟大家分享这个主题,我先自我介绍一下,我叫肖宏辉,来自华为. OpenStack是非常出名的开源云平台,在云计算里面主要资源是计算、存储和网络,今天我们这个主题是讲SDN,也就是OpenStack网络. OpenStack不用介绍了,我们先来看看SDN.SDN总结起来可以说有两个特点,一个是网络资源可编程规制,具体来说是把网络设备做成软件可控,因为在传统机房里,如果我们要改动一个网络设备,需要到机房里面插拔一个设备,但是通过SDN我们可以通过软件控制实现这个功能.第二是控制层面和转发层面的分离,通过这样的分离,能够提升网络整体的管控能力. 说到SDN,不得不说OpenFlow,它是OpenStack里面最具代表性的协议,是斯坦福大学提出的协议,有些时候可能会说OpenFlow和SDN是等同的,我个人认为基于OpenFlow的SDN是狭义的SDN.广义的SDN包括更多的协议,例如OVSDB,NETCONF等. 我们首先看一下OpenStack ?Neutron,Neutron大体上可以分为两部分:Neutron server 和Neutron agent.Neutron server包含了API和DB,也就是说,整个OpenStack环境里所有网络信息,都是存在Neutron server中,包括网络可达信息还有统计数据的运算都是在Neutron server进行的.Neutron agents可以看作是网络实现.需要说一下的是,Neutron除了自身提供一套网络实现之外,还考虑到第三方兼容. Neutron项目是OpenStack社区最活跃的项目之一,它集中了大量工程师参与开发,在OpenStack场景下它的稳定性和一定规模下的可靠性也是别的SDN所不能比拟的. 另一方面,再看看Neutron的定位,Neutron致力于提供2—3层网络服务,4—7层服务由Neutron子项目提供. 开源社区开发有一个大的特点,开发有一定的碎片性,Neutron的这样的定位首先能够提高核心代码的质量,降低核心代码的管控难度,但是同时增加碎片的程度,很多分离出去的子项目大家如果参与的话,会发现它的活跃度会大大降低. 总体来说,在OpenStack中,不像Ceph对于存储来说有压倒一切的网络实现方案,包括Neutron的实现方案也不能胜过其他SDN方案.所以在目前Neutron社区里面可以发现主要活跃的工程师都是来自于HP和Mirrantis,不是传统的网络厂商,HP因为最近的策略,工程师都分流到了别的公司.而传统网络厂商,包括做SDN的厂商,他们热衷于是推自己的SDN,这样反过来又分散Neutron开发的力量. 接下来说一下OpenDayLight,这是基于Java + OSGI的平台,总的来说OpenDayLight项目功能是完善的,而且现在有基于ODL的商业版在售,也有数据中心基于ODL提供服务.不过思科对ODL贡献较多,一定程度掌握了ODL项目.另外OpenDayLight项目比较庞大,子项目也很多,如果说一个公司想要采用这个项目的话,建议由一个专业团队维护这个项目. 第二是ONOS,这是2014年由ON.Lab发起的,这个组织去年跟ONF合并了,所以以后看ONOS会看到是ONF支持的项目.ONOS定位是SDN system.但是ONOS项目在OpenStack里应用不是特别好,它与ODL有很多相似的地方,ONOS更偏向于数据中心的底层SDN控制器. 第三是OpenContrail,它的前身是2012年成立的创业公司Contrail,同年就被Juniper收购,并作为Juniper的SDN方案出售.OpenContrail比较有意思的是开源版本和商业版本同时存在,并且代码是一致的,区别是商业版本支持更好一些. OpenContrail定义是支持Cloud ?networking和NFV场景,经过这几年发展已经比较成熟了,而且本身架构是参考MPLS VPN,架构上比较可靠. 在Mirrantis新发布的OpenStack版本里,OpenContrail是作为默认的构成在里面,用户可以选择.但是对于开源用户来说,因为存在商用版本的客观原因,落地有一定额困难. 再看Midonet,它是来自于日本创业公司Midokura.它跟OpenContrail类似,也是开源版本和商业版本存在,但是区别是Midonet开源版本和商业版本代码不一样,它的控制和运维方面的工具,商业版更先进一些. Midonet通过entworking+Midonet与OpenStack集成,并且Midonet定位不像ODL,作为大而全的SDN,它主要的定位是云计算网络,整个项目是比较可控的,适合大规模部署.而且在与OpenContrail竞争Mirrantis第三方SDN时失败了,这对Mirrantis有一定的冲击.另外,同样的问题也存在,因为背后有商业版,开源版落地存在困难.总之,背后有开源商业版的话,本身不是完全开源的,因为这种开源是为了更好的售卖商业. 下一个是OVN,OVN是OVS社区2015年1月发起的OVS子项目.OVS社区想在网络设备上多做一层虚拟网络管控,所以提出了OVN项目,他们想做虚拟网络可能,但是又不想做太靠上,所以OVN定义是轻量级的SDN. (编辑:ASP站长网) |