OpenDaylight研究的一些感受

前阵子研究了OpenDaylight的发布前的版本,主要是AD-SAL模型和OF1.0的支持以及SNMP4SDN项目。最近正在研究release版本的Yang工具相关的MD-SAL模型,兼容OF1.0和OF1.3的OpenflowPlugin项目及其相关流程,也基本上搞懂了里面的来龙去脉。结合研究过程和遇到的一些问题谈一些个人感受。

OpenDaylight的主要优点(主要的设计原则和开源项目)

  • OSGi体系结构:采用OSGi体系结构,做到了功能的隔离,解决了可扩展性、热部署等等问题。
  • SAL(Service Abstract Layer):整个架构中引入了业务抽象层(思科的贡献),使得上层(北向)和下层(南向)之间的调用相互隔离,这个设计模式中的Dependence Inversion Principle 原则一致。
  • MD(Model Drive):使用Yang工具,使用业务模型驱动来设计接口、实现业务功能,根据yang文件,Yang工具直接生成业务管理的“骨架”,使开发者真正专注于具体业务。
  • Infinispan :用开源的数据网格平台实现Controller的集群。
  • Netty:南向使用Netty来管理底层的并发IO。
  • Jersey:北向使用Jersey提供REST接口。

OpenDaylight目前感觉存在的一点问题

  • 版本演进过程没有清晰的说明,并且存在很多废弃的代码。
  • 版本功能较多,没有如何定制、“瘦身”的相关说明,这样整个ODL给人“大象”的感觉。
  • 文档不够完善,我曾开玩笑的抱怨“凡是文档不齐全的开源都是耍流氓”,看代码非常累。
  • 相关的测试环境、工具还不够成熟。
  • 目前还没有基于该平台的Demo或者原型,基本上还是处于研究阶段,我们很难感受到直观的SDN,当然这也是研究的目的。

OpenDaylight学习、研究建议

  • 背景技术要掌握,Java、Maven、OSGi等核心技术要掌握
  • 对里面的项目或者开源项目学习要基于“需求驱动”,不可能把里面开源项目的所有代码都研究清楚,应该结合研究的重点,有针对的去看代码。
  • 多关心OpenDaylight 相关组织和论坛的动向,和小伙伴们多交流。

文章作者:@ITCamera SDN Q群:#南京-ITCamera,CSDN 博客:http://blog.csdn.net/ictcamera/


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

登录后才可以评论

SDNLAB君 发表于15-11-16
0