《ODL技术内幕-架构设计与实现原理》
您当前访问的的浏览器版本过低,为了给您带来更好的体验,建议您升级至Edge浏览器或者推荐使用Google浏览器
取消

中兴通讯技术丛书

丛书概述
《ODL技术内幕-架构设计与实现原理》
作者:耿兴元
基本内容:
书名:《ODL技术内幕:架构设计与实现原理》 出版社:机械工业出版社 页数或字数:247 出版日期:2019-08-26
章节框架
前言 OpenDaylight(简称ODL)项目是Linux基金会旗下的一个开源合作项目,致力于推进软件定义网络和网络功能虚拟化的发展,寻求一个更透明化的方式以促进该领域的创新。该组织由行业领先者建立,旨在制定一个统一、开放的平台,驾驭合作开发的力量,以驱动产业和生态圈的创新。ODL是针对企业,服务提供商,数据中心,WAN的模块化开放的SDN平台,其基于OSGi的微服务架构让用户能够按需部署网络服务、应用、协议和插件。ODL平台基本每半年发布一次大的版本,从2013年开始,项目经历了多个版本的迭代已逐渐趋于成熟和稳定,几乎成为了网络创新应用场景的默认选择。 ODL把被控制的网络看作是一个消息驱动的巨大的状态机,因此该平台核心架构即其模型驱动的状态保存机制与消息转发机制,称为模型驱动的业务抽象层(MD-SAL)。该架构的魅力源于其架构的前瞻性、可塑性和长期演进能力。 正因为ODL在架构设计上的先进性和灵活性,因此ODL成为了SDN领域最有影响力的开源平台。其灵活的插件机制与在规模上弹性扩展,使ODL可应用于智慧城市和其他IoT应用等涉及多种设备类型以及多种网络技术的场景,包括光交换,IP / MPLS、LTE或5G无线网络,ODL对这些技术的可编程性可以做到设备无关。如今,ODL在各场景的网络创新中的应用越来越广泛,利用和贡献ODL项目的中国公司数量也在不断增长,包括华为、联想、瑞斯康达、腾讯、Zenlayer、中兴,阿里巴巴和百度等,其中,2017年3月份,中兴通讯成为国内首家ODL白金会员。
为什么写这本书 ODL不仅仅是一个SDN控制器平台,它还是一个优秀的模型驱动架构的实现,一个典型的分布式系统的设计范例。通过ODL,我们能学习的不仅仅是SDN,其通用的编程技术及软件架构设计也非常值得我们学习,还有其分布式系统设计实现也值得我们借鉴。 但是,ODL作为一个开源项目,也有令人诟病的地方,主要有两点:一是虽然ODL架构设计比较先进,代码实现也比较优秀,但ODL系统性的文档比较缺乏,而且仅有的一些文档还更新滞后,内容陈旧,容易误导新手,再加上语言和文化背景的差异,这足以让大量国内ODL?初级玩家望而却步;二是ODL的架构演进非常快,核心模块和接口频繁变动,再加上ODL子项目众多,导致ODL功能和接口碎片化严重,开发者一开始面对几百万行代码,确实有点老虎吃天,无从下口的感觉。 我作为一个一直从事软件研发工作的工程师,深知学习与应用ODL的不易,如何才能够帮助到大家呢?我想是不是可以把我之前学习ODL的笔记,对ODL源码的分析,对ODL架构设计的理解整理成篇,帮助大家深入理解ODL设计原理和思想,把握其核心源码实现,以不变应万变。这无疑对于大家基于ODL这个平台进行业务研发及使用ODL都能有所裨益。
本书的读者对象 本书适合所有有志于解决现有网络问题并促进网络变革的通信、网络及计算机行业相关从业者,特别是希望掌握软件定义网络热门技术的开发人员;具有一定工作经验,关注网络热门技术并希望查漏补缺继续成长的程序员;以及具备一定软件开发能力的网络技术领域从业者。 具备一定的Java语言开发基础,了解网络基础知识及分布式系统基础知识将有助于更好的理解本书中的内容。
本书的主要内容 对于广大有志于投身网络变革大潮的从业者而言,ODL依然具有很高的门槛,100多个子项目,几百万行源代码,OSGi、Maven、Akka、YANG等背景知识,都成了大家应用ODL平台的拦路虎。面对这些障碍,我们仍然需要抓住ODL平台框架的本质与核心:MD-SAL,只有真正理解ODL的这个核心框架设计,理解MD-SAL的核心源码实现及其设计思想,才能基于ODL进行高效的SDN开发实战,就如同习武练功,招式是外壳,内功心法是核心,二者要相辅相成。本书结合作者15年的通信软件研发从业经验,从ODL核心框架MD-SAL的实现源码入手进行解构,剖析代码中的设计模式,总结ODL中的软件架构设计思想,本书是一本重在讲授内功心法,并指导内功和招式结合的武功秘籍。 本书能帮助入门级程序员深入、直观的理解ODL技术原理,构建精准的知识框架;帮助有一定工作经验的程序员填补知识漏洞,打通知识体系;帮助正在应用ODL构建商用产品和应用的同仁客观的认识并分析ODL中现存的问题,本书还分享了作者在基于ODL进行商用开发时总结的若干实战经验。
勘误与支持 本书主要内容来源于本人研究学习ODL源码的笔记和在应用ODL开发项目过程中的实践经验。我们知道ODL社区非常活跃,版本发布频繁,架构调整及源码变动也比较大,这不可避免的会导致书中所引用源代码可能与ODL社区最新源代码有一定出入,这个请大家在阅读过程中必须要注意。同时,由于作者写作和认知水平有限,问题仍然在所难免,欢迎读者朋友们通过以下电子邮箱继续进行指正: geng.xingyuan@zte.com.cn
致谢 ODL官方社区的源代码是创作本书的原始素材,因此我首先感谢?ODL官方社区。 其次,我要感谢未来网络学院给予我与大家分享ODL技术的平台,以及在开源项目Jaguar的成立,运作管理和基础设施资源上的支持。 最后,感谢?IT?技术学院的闫林老师对于出版《ODL技术内幕-架构设计与实现原理》给予的鼓励和巨大帮助。
第1章 介绍ODL的总体框架与编译构建环境的搭建
第2章 介绍ODL社区对众多子项目的管理实践
第3章 介绍了ODL中定义的基本的Java对象
第4章 介绍ODL中基本数据结构DataTree的设计与实现
第5章 章重点讨论MD-SAL DataStore的接口设计
第6章 结合源码对其实现原理进行分析
第7章 介绍MD-SAL RPC机制的设计与实现
第8章 介绍MD-SAL Notification的工作机理
第9章 介绍了MD-SAL Mount机制的设计及该机制在NETCONF南向协议插件中的应用实现
第10章 关注ODL中与集群相关的服务,包括了EntityOwnershipService和ClusterSingletonService
第11章 介绍了ODL的基于Shiro的认证鉴权框架的设计实现
第12章 介绍ODL的北向接口RESTCONF组件的设计实现
第13章 介绍ODL中Blueprint扩展实现,其负责ODL中的模块初始化及加载
序言
推荐序
我从2013年开始参与SDN的开源旗舰项目OpenDaylight, 先后在ODL社区中担任过发布经理,社区经理和TSC成员,同时也是本书图1-1的原始作者,我非常高兴,也非常荣幸能够在第一时间看到 《ODL技术内幕-架构设计与实现原理》这本书的书稿。跟随SDN的浪潮,ODL也经历了发展,扩大,成熟,商用等几个阶段, 本书对ODL的发展历史也有详细的介绍, 目前ODL项目已经在国内外得到了广泛的应用, 但是国内这方面的资料却非常少,迄今为止还没有一本ODL的架构原理方面的中文书籍。 本书作为国内第一本介绍ODL技术内幕与架构设计与实现原理的书籍,内容涵盖了ODL核心架构的设计原理, 并具有大量的ODL源码示例, 本书客观的阐述ODL的发展过程以及深刻分析了ODL作为网络开源先锋项目的利与弊, 是希望掌握软件定义网络的技术人员不可缺少的参考书籍。
George Zhao
Futurewei Technology,Inc
专家推荐
——史伟强
中兴通讯 有线研究院院长
知识结构全面、论述准确逻辑严密是本书的写作特点,是一本各个层次开发人员都可以从中受益的书:对于ODL的初、中级开发人员,这本书可以帮助你获得ODL全方位的知识,全面系统地帮你梳理关于ODL的知识结构;对于ODL的高级开发人员,这本书即可以有效弥补你ODL相关知识结构的中盲点,又可以领略关于自己熟悉知识点的来自作者的看法和理解。
——魏亮

最佳国际实践联盟主席
EXIN国际信息考试学会亚太区总经理

耿兴元在SDNLAB上推出了ODL应用开发相关系列课程,帮助大家培养ODL开发实践能力。本书是在视频课程基础上进行了充实加深,促进大家对ODL开源代码背后的设计原理和实现脉络有更加深刻的理解。对于想对ODL知其然并知其所以然的同仁,这本书无疑是最好的选择!
作者介绍
耿兴元
毕业于浙江大学,目前就职于中兴通讯,中兴通讯操作系统及支撑平台软件专家级工程师,2015年-2017年,负责基于ODL的商用SDN控制器平台的设计和研发管理工作。2017年-2018年在SDNLAB上录制了ODL的系列网上课程。2018年,与SDNLAB一起创建开源项目Jaguar(基于ODL的Kubernetes网络解决方案),是该开源项目的主要管理者与贡献者。
在京东、当当等网站都有销售