SDNLAB技术分享(十二):ONOS:面向运营商网络的SDN操作系统

【编者的话】本文系ONOS研究群(群号:454644351)分享整理而成,分享者江睿分享的是《ONOS:面向运营商网络的SDN操作系统》。

--------------------------------------------------------------------------------------------------

江睿,毕业于北京理工大学,现为华为公司SDN平台部软件工程师,市场技术经理,投入ONOS开源工作两年左右,先后参与了ONOSFW项目,SFC以及PCEP等南向协议项目
--------------------------------------------------------------------------------------------------

大家好,ONOS从14年12月份开源以来,取得了很多成绩,但是在国内,了解ONOS的人并不多,因为工作关系这两年我一直在从事开源ONOS的工作,今天我们一起从不同的视角来看,为什么说ONOS是面向运营商网络的SDN操作系统。


首先介绍一下ONOS的基本情况


这里我先引用AT&T副总裁的一段对ONOS的评价,AT&T是ONOS最大的支持者,每年的会费是100万美元,从运营商的视角,AT&T对ONOS提了很多的需求,最核心的是性能,扩展性和可靠性。这也是ONOS在做设计时的Top Concern。


ON.LAB和斯坦福大学渊源颇深,也是ONOS诞生的地方,正是图中这四位SDN与Openflow的创始人推出了ONOS,大家也清楚,院士在美国不仅仅从事学术工作,更多是工业界的顶层规划师,在业界已经有了众多控制器的情况下,为什么他们还是要推出开源的ONOS?个人觉得他们也是希望自己对SDN的理解以及产业未来的发展能够通过ONOS来引导


ONOS在2015年10月份正式成为Linux基金会项目,借助Linux基金会多年的开源运作经验,ONOS会成为一个越来越成熟的开源项目。


ONOS目前13家合作伙伴,43家协作伙伴,年总赞助费700万$+ ,运营商队伍里有北美的两艘巨型航母AT&T和Verizon,另外还有中日韩的三艘核潜艇 联通,NTT和SKT,设备商囊括业界前几名的大厂,协作伙伴中包括众多的大学以及教育科研机构。开发者方面,目前参与ONOS代码贡献的开发者超过130人,Twitter 订阅者超过1000人。分工方面,在社区内部形成ON.LAB负责架构看护,运营商提供应用场景,设备商负责方案落地的良性循环。


ONOS采用小步快跑的迭代策略,每三个月一个版本,在快速迭代理念支持下的产品研发是“上线-反馈-修改-上线”这样反复更新内容的过程,通过收集数据或用户反馈迅速知道改进的结果,用快速迭代的方式可以立即在用户之间找到平衡点。


目前ONOS在全球的部署基本都在教育和科研网络,主要部署的应用是SDN-IP,在天津联通有部署ONOS第一个商用局点敏捷VPN,另外欧洲的GEANT和Aarnet在没有厂商参与的情况下基于ONOS开发了适用于自己的SDX-L2/L3和Castor应用并部署,意义重大。



ONOS把运营商的诉求放在设计理念的第一位,在ONOS的B版本ON.LAB没有新增任何特性而是专注于性能提升。Keep it simple,本身在ONOS上有很好的体现,ONOS对新用户而言很简单,很容易上手。关注点分离和模块化,这个是软件设计的通用准则。协议和设备行为不感知,是希望在应用层,用户不需要感知协议和设备的差异。这几点是ONOS贯穿始终的原则。


本页讲述ONOS的系统层次以及子系统架构


ONOS集群间通信分为两种,一种基于Gossip协议,是数据弱一致性的通信方式;一种基于Raft算法,是保证数据强一致性的通信方式。使用哪种通信方式取决于对不同资源的一致性要求,关于RAFT的介绍参见(http://thesecretlivesofdata.com/raft/


ONOS的Cluster机制能够保障节点失效对业务无影响,当ONOS节点宕机时,其他节点会接管该节点对网元的控制权,当节点恢复后,通过loadbalance命令恢复节点对网元的控制并使整体的控制达到负载均衡


我们内部对ONOS做过一些测试,发现单台ONOS实例可以管理1024台设备和4096个链路


在多个ONOS实例组成集群的情况下测试,ONOS的流表下发性能和Intent操作性能和实例数量呈现线性增长关系


综合前面的材料,我们总结以下ONOS五点核心特质:
1. ONOS 是主要由运营商和斯坦福ONLAB实验室发起的开源控制器平台,主要成员为运营商/TOP电信设备商以及学术机构
2. 架构专注于电信运营商领域控制器关键需求:高可扩展性,高性能,高实时性,高可靠性
3. ONOS 统一的网络资源和网元模型奠定了第三方SDN应用程序互通的基础,使得运营商可以做灵活的业务协同和低成本业务创新。
4. ONOS北向接口的标准化可以帮助运营商可以集成大量第三方SDN应用,其统一的南向API接口可以帮助运营商引入第三方设备的驱动程序,避免厂家锁定。
5. 多种南向协议,既支持现有设备,也支持未来白盒设备,既保护现有投资,又确保架构面向未来


这个是ONOS最新的ONOS模块图,绿色部分是南向插件,主要分为三大类,第一类是拓扑收集型,包括OSPF,BGPLS,ISIS,第二类是配置协议,包括NETCONF,SNMP,OVSDB,第三类是指导转发型,包括Openflow以及PCEP。红色和黑色部分是ONOS Core部分,分别表示网元资源管理模块和通用机制模块,蓝色部分是应用层,包括WAN场景的SDNIP,SR,VPLS,Packet/Optical等,有安全领域的AAA,NFV的 vRouter,VTN,OLT与SFC,以及运维的Flow Analyzer和Fault Management



ONOS目前在运营商领域有五个典型的WAN应用场景: IP+Optical、SDNIP、 分段路由、CORD、IPRAN,在CORD里面又使用了IP+Optical的技术(E-CORD)和SR的技术(leaf-spine fabric)


运营商网络实质上是复杂的多层网络组成。每一层,包括IP和光,其配置和管理都是独立的。有时增加新的服务需要很多天甚至数月。SDN控制平面集中式的管理IP和光网络可以帮助解决效率低下的问题。运营商可以优化跨IP层和光层的实时可用性和经济性。他们可以根据流量和其他因素在几分钟内添加新的服务,而不是几天或数月。

典型的光传送网是由ROADM设备组成,对波长的配置是一个劳动密集型的任务,并且所有的配置必须是事先规划好的,有很高的运营费用,而且最后配出来的是一个静态的不灵活的网络

在ONS2015大会上演示了ONOS使用不同协议控制由不同厂商组成的多层网络,这证明了ONOS Core的厂家中立性,而厂家的多样性则体现在南向协议侧,本次演示中对Ciena和Fujisu的设备使用了TL1协议管理,而华为的光设备和IP设备使用了PCEP协议管理,对Corsa的IP设备使用了OF协议管理。具体演示可以见相关视频(https://wiki.onosproject.org/display/ONOS/Packet+Optical+Resources


CORD是一个将SDN,NFV与云化的商业基础设施结合把数据中心云化敏捷的能力引入到运营商网络的端到端解决方案;
CORD致力于将现有的大量CO站点的设备(RODAM,OLT等)结构成可以被通用的白盒设备以及VNF所替代,而这些资源都被ONOS、OpenStack等开源软件搭建的CORD平台所管理并对外提供云化的服务,CORD在不同场景提供不同的服务,有面向企业的E-CORD,面向移动领域的M-CORD,还有面向住宅区的R-CORD。总体上CORD计划2017年进行商用部署。


2015年11月27日,全球首个基于ONOS开源架构的SDN IPRAN企业专线业务在天津联通成功开通,从而正式拉开了ONOS商用帷幕。

让企业专线业务更具有互联网以及IT思维,这是ONOS为电信运营商的行业应用市场率先带来的新气象。基于现网,天津联通SDN IPRAN商用局开通了由天津绍兴道局到小树林局的二层VPN专线,实现了IPRAN承载专线业务的快速部署和发放,带宽分配可实时调整,可按带宽日历进行策略定时,并且各类用户权限可按需调整。该项目的成功落地有助于提升中国联通企业专线业务的竞争力,并为下一步加载更多增值类服务打下良好的基础。值得注意的是,该商用局未来还可继续升级,结合SDN技术打造“电商化”的精品企业专线。

具体材料请见(http://info.3g.qq.com/g/index5/ttnews/chinamobile.jsp?id=digi_20160112043609&g_f=23748&g_ut=3


2016年二月二十五日发布的OPNFV Brahmaputra版本,ONOS支持的场景有多租户的Layer 2 和 Layer 3特性,已经具备了DC领域的基本网络能力,在后续的C Release规划中,ONOS会支持DC领域的杀手级应用业务链(Service Function Chaining)以及Cloud VPN,前者使OPNFV具备基于业务资源池快速构建业务链的能力,后者为企业提供类似传统MPLS VPN的专线连接能力,同时简化VPN部署复杂度,实现企业专线随时随地连接,可见在下一个版本,ONOS 把WAN与数据中心拉通,逐步成为在虚拟化平台的重要控制器组件,业务领域也在向DC内部进军。



下面是ONOS的性能测试,有六个延迟评估场景,都是出于ONOS的Blackbird版本的性能测试白皮书,我就不一一介绍了。大家可以看一下(https://wiki.onosproject.org/display/ONOS11/Blackbird+Performance+Evaluation






最后我打一个广告:ONOS近期会在中国区启动大使计划,和User Group类似,后面会在中国区组织一系列的活动,ON.LAB的David和William也是委托我在中国区征召一些小伙伴加入,具体信息请关注https://wiki.onosproject.org/display/ONOSST/Community+Steering+Team

Q&A

Q1:“用户不需要感知协议和设备的差异”,这句话能有个例子解释下么?
A1: 就是对应用而言,比如下配置,我只用抽象的下配置接口,但是到了南向具体调用Netconf下还是OVSDB下应用不需要关心,如果在应用层需要感知协议的差异和设备的差异,只会让应用的开发复杂化

Q2:在上述天津联通的案例中,带宽分配实时调整, 是在ONOS这个系统界面中完成的吗?
A2:是的,这个不是开源ONOS的方案,是ONOS的商用版本

Q3:集群间接口有尝试标准化 ?
A3:这个暂时没有,主要看需求,需不需要标准化

Q4:这个onos系统是图形化界面还是命令行界面
A4:两个都有,图形化界面也支持下流表和配置

Q5:这个系统是内置在某特定型号设备还是某系列设备都可以进入且使用?
A5:目前支持Suse,Ubuntu,CentOS,其他的还没听说

Q6:ONOS和ODL哪个入门容易?优缺点是什么?
A6:ONOS入门容易,ONOS的优点PPT中总结了 5个,ODL的优点是烟囱式的架构,MDSAL是最大的亮点,其提供三个主要功能Routed RPC,Yang Data Store,Notification都是抽象的通用机制,很多软件都需要这三种机制,所以说基于MDSAL可以实现的东西很多,不仅仅是控制器。

Q7:M-CORD最新进展是怎样的?
A7:这个不太了解了,上次ONS峰会上做过演示,效果不错,youtube上有视频

Q8:能否在透露下上面说的“带宽事实调整”,“根据用户权限进行分配”,说的再详细点吗?
A8:转发面用的是路由器,主要是做配置分解

Q9:ONOS在CORD的应用上, 除了ONOS controller还有需要其他开源的软件吗?
A9:XOS和OpenStack

Q10:ONOS能在OTN上部署吗?
A10:可以啊,IP+光的Case你可以研究一下

Q11:ONOS是如何在广域网中实际部署的?难道域内、域间控制器?
A11:这个问题有点大,级联控制器是一个方案,ONOS目前正在做,但是实际上ONOS还有一个集群间通信的方案https://wiki.onosproject.org/display/ONOS/ONOS+Multi-Clusters+Peering+Provider

Q12:所有测试都是switch都是OVS吗, 以后switch会不会sw趋势,还是hw最终还是会出来?
A12:不是,有硬件设备,Dell Huawei Corsa Ciena都有

Q13:基于JAVA好,还是基于C开发好
A13:开发效率方面JAVA开发比较快,不仅仅体现在JAVA第三方库更多,而且JAVA有成熟的思想和设计模式,但是性能方面C更好

Q14:能详细介绍onos的架构吗?更加详细的,如存储的实现,实倒的加入,退出等等问题
A14:最近有几个视频会被翻译成中文,SDNLAB应该近期会发出来

Q15:ONOS商用版本现在商用情况如何
A15:Ciena也推出了一款ONOS商业控制器 blue planet,这个就代替了传统的otn、ptn、数通的控制平面吗 这个是CORD的目的,但是用ONOS管理传统设备也是可以的

Q16:看了一下, CORD除了在OpenStack Neutron会加ONOS plugin之外,是否还有其他要整合的地方?以及XOS是如何与openstack結合?
A16:XOS是很薄的一层,是一个协同层,下面分别对接OpenStack和ONOS,ONOS主要负责网络侧部分,leaf-spine fabric,openstack管理VNF

Q17:如果onos用在Ubuntu内,那就是说,这个“Ubuntu电脑”带着onos,再用一个控制线链接网络设备了对吧?
A17:不需要啊,南向协议如果是TCP的只需要联网即可

Q18:ONOS南向流表下发性能多少?
A18:这个刚刚发的胶片里面是有的,ONOS发布了性能测试白皮书,马上会有中文版推送给大家

Q19:华为基于SDN主要有哪些研究产品
A19:研究产品是吧,之前有AC(敏捷控制器)

Q20:ONOS是如何实现操作系统中隔离租户的
A20:ONOS还是只管网络侧部分,租户隔离可以通过转发面实现,租户的管理可以通过协同层实现

Q21:在CORD里, 租戶是通过XOS做隔离还是通过openstack?
A21:https://wiki.onosproject.org/display/ONOS/CORD+VTN

-----------------------------------------------------------------------------------------------------
ONOS研究群(群号:454644351)定位为面向ONOS相关技术的初学者进行交流、学习、分享,吸引了来自高校、云服务提供商、互联网厂商、设备厂商、运营商等单位的从业人员近千人,每周会组织定向的技术及业界动态分享,如果你有需要分享的请加Q:117511567联系。


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

登录后才可以评论

SDNLAB君 发表于16-05-26
8