(特价书)ODL技术内幕:架构设计与实现原理
深入分析ODL源码,洞悉ODL先进架构、设计思想和实现原理,实现高效SDN开发
基本信息
- 作者: 耿兴元
- 丛书名: 中兴通讯技术丛书
- 出版社:机械工业出版社
- ISBN:9787111635093
- 上架时间:2020-5-8
- 出版日期:2019 年8月
- 开本:16开
- 页码:256
- 版次:1-1
- 所属分类:通信 > 计算机网络通信/IP技术

编辑推荐
中兴通讯拥有15年以上通信类软件研发及系统设计经验的专家级工程师撰写SDNLAB强烈推荐
深入分析ODL源码,洞悉ODL先进架构、设计思想和实现原理,实现高效SDN开发
内容简介
通信书籍
内容简介
这是一本从源代码层面深入剖析ODL的著作,旨在帮助读者在透彻理解ODL的先进架构、设计思想和实现原理后,能更有高效地进行SDN开发。
作者是资深的ODL专家,是SDN领域的布道者,有在通讯类软件研发和系统设计领域有超过15年的经验对ODL及其源码有深入的研究和理解。ODL架构演进极快,核心模块和接口变动频繁,ODL子项目众多,功能和接口碎片化严重,学习门槛很高,面对数百万行的源代码更是无从下手。
作者根据自己的经验,对ODL的核心功能及其源代码(氟版本和氖版本)进行反复提炼、抽丝剥茧,不仅让读者理解ODL的系统架构、设计思想、实现原理,而其能让读者领略ODL实现源码中的优秀代码和设计模式,最终实现让读者更高效地使用SDN的目的,掌握SDL的精髓。
全书13章,分为三个部分:
第一部分 基础环境篇(第1-2章)
主要介绍了ODL的核心概念、架构、设计目标、编译构建环境的搭建、源码阅读的方法,以及ODL社区对众多子项目的管理实践。
第二部分 核心架构篇(第3-10章)
从源代码的角度详细分析了ODL的基本对象、数据树、MD-SAL DataStore、MD-SAL RPC、MD-SAL Notification、MD-SAL Mount、MD-SAL Cluster Service的工作机制与实现原理;
第三部分 公共组件篇(第11-13章)
从源代码角度详细分析了ODL的AAA、RESTCONF、Blueprint等公共组件的设计、实现与扩展。
作译者
耿兴元
资深ODL技术专家,目前就职于中兴通讯,是操作系统及支撑平台的软件专家级工程师,在通讯类软件研发及系统设计领域已有超过15年的工作经验。2015~2017年期间,负责基于ODL的商用SDN控制器平台的设计和研发管理工作。
在ODL领域有多年的研究和实践经验,曾与SDNLAB一起创建了开源项目Jaguar(基于ODL的Kubernetes网络解决方案),是该开源项目的主要管理者与贡献者。在SDNLAB上录制了ODL的系列课程,深受读者欢迎。
目录
第一部分 基础环境篇
第1章 阅读源代码前的准备 2
1.1 ODL项目介绍 2
1.1.1 ODL框架之争 3
1.1.2 SAL的演进 3
1.1.3 ODL的子项目及分类 4
1.1.4 ODL项目的管理 6
1.2 搭建ODL编译构建环境 6
1.2.1 安装JDK 6
1.2.2 安装及配置Maven 8
1.3 阅读和调试ODL源代码 9
1.3.1 ODL项目源码下载 9
1.3.2 IntelliJ IDEA安装 10
1.3.3 IntelliJ IDEA调试ODL的项目源码 11
1.4 ODL设计目标 12
1.5 ODL总体架构 13
1.6 本章小结 15
第2章 ODL项目管理设计详解 16
2.1 问题的提出 16
前言
ODL把被控制的网络看作是一个消息驱动的巨大状态机,因此该平台核心架构即其模型驱动的状态保存机制与消息转发机制,称为模型驱动的业务抽象层(MD-SAL)。该架构的魅力源于其架构的前瞻性、可塑性和长期演进能力。
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平台进行业务研发及应用都能有所裨益。
本书的读者对象
本书适合所有有志于解决现有网络问题并促进网络变革的通信、网络及计算机行业相关从业者,特别是希望掌握软件定义网络热门技术的开发人员,还适合具有一定工作经验、关注网络热门技术并希望查漏补缺继续成长的程序员,以及具备一定软件开发能力的网络技术领域从业者。
具备一定的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社区最新源代码有一定出入,请读者在阅读过程中务必注意。同时,由于作者写作和认知水平有限,问题在所难免,欢迎读者朋友们通过电子邮箱yfc@hzbook.com进行指正。
致谢
ODL官方社区的源代码是创作本书的原始素材,因此我首先感谢 ODL官方社区。
其次,我要感谢未来网络学院给予我与大家分享ODL技术的平台,以及在开源项目Jaguar的成立、运作管理和基础设施资源上的支持。
最后,感谢中兴通讯IT学院的闫林老师的鼓励和巨大帮助。
耿兴元
媒体评论
——George Zhao
Futurewei Technology, Inc
知识结构全面、论述准确、逻辑严密是本书的写作特点,是一本各层次开发人员都可以从中受益的书:对于ODL的初、中级开发人员,本书可以帮助你获得ODL全方位的知识,全面系统地帮你梳理关于ODL的知识结构;对于ODL的高级开发人员,本书既可以有效弥补你ODL相关知识结构中的盲点,又可以领略来自作者的关于自己熟悉的知识点的看法和理解。
——史伟强
中兴通讯有线研究院院长
耿兴元在SDNLAB上推出了ODL应用开发相关系列课程,帮助大家培养ODL开发实践能力。本书对ODL开源代码背后的设计原理和实现脉络有深刻的阐述。如果你想对ODL知其然并知其所以然,本书无疑是最好的选择!
——魏亮
江苏省未来网络创新研究院团队总监/SDNLAB联合创始人