ODL技术内幕:架构设计与实现原理

ODL技术内幕:架构设计与实现原理 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:耿兴元 著
出品人:
页数:247
译者:
出版时间:2019-9-3
价格:79.00元
装帧:平装
isbn号码:9787111635093
丛书系列:中兴通讯技术丛书
图书标签:
  • 好书,值得一读
  • 计算机
  • SDN
  • ODL
  • 分布式
  • ODL
  • OpenDaylight
  • SDN
  • 网络编程
  • 架构设计
  • 实现原理
  • 网络虚拟化
  • 开源网络
  • 数据平面
  • 控制平面
  • 网络自动化
想要找书就要到 小哈图书下载中心
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

这是一本从源代码层面深入剖析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网络解决方案),是该开源

目录信息

前言
第一部分 基础环境篇
第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
2.2 解决思路 17
2.3 实现详解 20
2.3.1 基础parent设计 20
2.3.2 模块构建 23
2.3.3 feature组织 24
2.3.4 版本打包 25
2.4 项目模板 26
2.4.1 项目目录布局设计 26
2.4.2 ODL模板项目 27
2.5 本章小结 28
第二部分 核心原理篇
第3章 ODL基本对象的设计与实现 30
3.1 QName 30
3.1.1 QName定义 30
3.1.2 QName对象比较 36
3.1.3 QName对象创建 37
3.2 YangInstanceIdentifier 38
3.2.1 Path接口定义 38
3.2.2 YangInstanceIdentifier的类定义 39
3.2.3 YangInstanceIdentifier的比较42
3.2.4 InstanceIdentifier类 44
3.3 NomalizedNode 44
3.3.1 NormalizedNode类的定义 45
3.3.2 NormalizedNode实例的创建48
3.4 本章小结 49
第4章 数据树的设计与实现 50
4.1 基本概念 50
4.1.1 配置树与状态树 51
4.1.2 标识与定位 51
4.1.3 快照与MVCC 52
4.2 数据树的设计与实现 52
4.2.1 Tree结构的设计 52
4.2.2 DataTree相关接口定义 55
4.2.3 DataTree的创建 57
4.3 数据树的读写过程 59
4.3.1 快照实现原理 61
4.3.2 数据校验的实现 61
4.4 MVCC机制与实现 63
4.4.1 版本号变更规则 63
4.4.2 并发控制 65
4.5 本章小结 67
第5章 MD-SAL DataStore接口设计 68
5.1 基本概念 69
5.1.1 事务和事务链 70
5.1.2 数据分片 70
5.1.3 三阶段提交 71
5.2 DataStore SPI设计 72
5.2.1 DOMStore 73
5.2.2 DOMStoreThreePhase-CommitCohort 75
5.2.3 DOMStoreTreePublisher 76
5.3 DataStore DOM API设计 77
5.3.1 DOMDataBroker 77
5.3.2 DOMDataTreeSharding-Service 78
5.3.3 DOMDataTreeChange-Service 80
5.4 DataStore Binding API设计 82
5.4.1 Binding基本对象接口 82
5.4.2 DataBroker 84
5.4.3 DataTreeChangeService 87
5.5 本章小结 87
第6章 MD-SAL DataStore的实现原理 88
6.1 概述 89
6.1.1 背景知识 89
6.1.2 实现原理 91
6.2 Raft算法及其实现 92
6.2.1 Raft算法介绍 93
6.2.2 RaftActor设计与实现 98
6.3 DataStore后端实现详解 106
6.3.1 Shard的实现 106
6.3.2 ShardManager 110
6.3.3 ShardStrategy及实现 112
6.4 DataStore前端实现详解 113
6.4.1 DOMStore的实现 113
6.4.2 DOMDataBroker的实现 121
6.4.3 事务链实现 124
6.5 Binding DataBroker的实现 125
6.5.1 Adapter设计 125
6.5.2 BindingDOMDataBroker-Adapter的初始化 126
6.6 本章小结 130
第7章 MD-SAL RPC的设计与实现 131
7.1 一个实例 131
7.1.1 RPC的YANG模型定义 131
7.1.2 RPC的生成接口 133
7.1.3 RPC的实现与调用 135
7.2 RPC机制的总体设计 136
7.2.1 Binding接口设计 136
7.2.2 DOM接口设计 137
7.2.3 总体实现流程 139
7.3 RPC机制实现详解 141
7.3.1 DOMBroker实现详解 141
7.3.2 BindingBroker实现详解 144
7.4 Remote RPC实现详解 149
7.4.1 Gossip协议的实现 150
7.4.2 远程RPC注册及调用 152
7.4.3 Actor设计实现总结 154
7.5 本章小结 155
第8章 MD-SAL Notification的设计与实现 156
8.1 一个实例 156
8.1.1 YANG模型定义 156
8.1.2 生成的接口 157
8.1.3 消息发布 157
8.1.4 消息订阅 158
8.2 MD-SAL Notification接口设计 158
8.2.1 DOM接口 159
8.2.2 Binding接口 160
8.3 MD-SAL Notification实现剖析 161
8.3.1 DOM层实现详解 161
8.3.2 Binding适配实现 169
8.4 本章小结 171
第9章 MD-SAL Mount机制与NETCONF 172
9.1 Mount服务接口设计 172
9.1.1 DOM接口 173
9.1.2 Binding接口 174
9.2 Mount机制的实现 175
9.2.1 DOM接口实现 176
9.2.2 NETCONF南向插件的实现 178
9.3 本章小结 186
第10章 MD-SAL Cluster Service 187
10.1 EntityOwnershipService 187
10.1.1 基本概念 187
10.1.2 接口设计 188
10.1.3 实现说明 192
10.2 ClusterSingletonService 195
10.2.1 接口设计 195
10.2.2 实现说明 196
10.3 本章小结 198
第三部分 公共组件篇
第11章 AAA 200
11.1 Shiro框架介绍 201
11.1.1 Shiro是什么 201
11.1.2 Shiro的架构 202
11.1.3 Shiro核心处理流程 204
11.2 AAA实现原理 210
11.2.1 Shiro配置优化 210
11.2.2 Realm的8个实现 212
11.2.3 Filter的实现 214
11.2.4 加解密服务 216
11.2.5 数字证书管理 218
11.3 本章小结 219
第12章 RESTCONF 220
12.1 RFC 8040解读 220
12.1.1 操作 221
12.1.2 消息 222
12.1.3 资源 223
12.2 RESTCONF的实现 226
12.2.1 Jersey框架简介 226
12.2.2 RESTCONF资源接口定义 228
12.2.3 Wrapper设计模式 231
12.2.4 初始化过程 233
12.2.5 客户端访问 235
12.3 本章小结 236
第13章 Blueprint及其扩展 237
13.1 Blueprint 238
13.1.1 基础知识 238
13.1.2 运行原理 240
13.1.3 命名空间扩展 241
13.2 Blueprint的使用 244
13.3 本章小结 247
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

我最近发现一个现象,很多新技术书籍往往只停留在介绍最新的API和框架特性上,却鲜少有人愿意去深挖这些特性的底层驱动力。这本书如果能打破这种“表面工程学”的怪圈,深入到操作系统、编译器甚至硬件层面对软件性能的影响,那就称得上是一本难得的佳作了。《ODL技术内幕》听起来就像是为那些不满足于停留在应用层调参的工程师准备的“武功秘籍”。我希望书中对性能瓶颈的分析是具有普适性的,而不是仅仅针对某个特定版本的软件。例如,如何通过内存屏障、缓存一致性协议等硬核知识来指导我们编写更高效的并发代码,或者如何根据不同的业务场景动态调整线程池的大小和调度策略。这种由内而外的理解,才是真正构建健壮系统的基石。

评分

最近我手头在做的一个项目恰好涉及到大规模服务的治理和性能调优,正愁找不到一本能够提供宏观视角同时又不失微观细节参考的书籍。《ODL技术内幕》这个名字听起来就很有针对性,感觉它不会泛泛而谈,而是直击痛点。我猜测,书中肯定会花大力气去阐述如何从零开始构建一个高可靠的系统,这中间必然会涉及到故障恢复策略、负载均衡算法的演进,以及不同数据分区策略的优缺点对比。我非常看重作者对“架构设计”的理解,因为架构决策往往是牵一发而动全身的,一个看似微小的选型错误,在系统规模扩大后可能会演变成灾难性的后果。如果这本书能提供一些实战案例,比如某个知名项目是如何在特定技术限制下做出取舍的,那就太有价值了,这比单纯的理论阐述更有说服力。

评分

从我个人的阅读偏好来看,一本好的技术书籍应该具备极高的可读性和逻辑自洽性。《ODL技术内幕》这个名字虽然听起来很专业,但我更关心的是它的叙事方式是否引人入胜。我希望作者能够像一位经验丰富的导师一样,引导读者一步步揭开复杂系统的面纱。如果内容组织得当,即便涉及再深奥的算法和数据结构,也能被清晰地阐述出来。对于“实现原理”的介绍,我期待它能做到既不遗漏关键步骤,又不陷入不必要的数学推导的泥潭。最好的情况是,读完之后,我对现有的系统设计不再感到神秘莫测,而是能用一种更加自信和批判性的眼光去审视和改进它们。这本书如果能点亮我思维中的某些盲区,那它就绝对值得反复研读。

评分

说实话,我对这种深入底层原理的书籍总是抱有一种既敬畏又好奇的心态。我个人是那种喜欢刨根问底的人,看到一个技术名词,总想知道它为什么这么设计,而不是仅仅停留在“会用”的层面。《ODL技术内幕》这个书名给我的第一印象就是“硬核”且“干货满满”。我推测作者一定是在某个核心技术栈中摸爬滚打了多年,才能将那些晦涩难懂的概念用清晰的脉络展现出来。我尤其关注那些关于“实现原理”的部分,比如一个高效的内存管理机制是如何在特定的硬件约束下被优化的,或者在网络I/O密集型应用中,异步编程模型是如何巧妙地解决阻塞问题的。如果这本书能用丰富的代码片段或流程图来佐证理论,那就太棒了。一本好的技术书,应该是能让你合上书本后,立刻就能在自己的项目中找到可以改进的方向,而不是读完之后依然感觉云里雾里。

评分

哇,最近在技术圈子里看到大家都在热议那本《ODL技术内幕》,虽然我还没来得及细读,但光看名字和一些零星的讨论,就能感受到它在业界的影响力。我猜想,这本书里一定对当前主流的分布式系统、云计算以及数据处理架构的底层逻辑做了深入的剖析,毕竟“内幕”二字可不是随便就能用的。从技术趋势来看,现在大家都在追求更高性能、更低延迟的解决方案,这本书如果能揭示那些隐藏在复杂框架背后的设计哲学和权衡取舍,那对于架构师和资深工程师来说,绝对是份宝贵的财富。我特别期待它能详细讲解如何在高并发场景下保持数据一致性,以及在海量数据面前,如何设计出既灵活又可扩展的存储和计算模型。很多时候,我们只是在用工具,但如果能理解工具背后的设计者是如何思考问题的,那种境界是完全不一样的。这本书如果真的能做到“技术内幕”的级别,那它就不只是一本技术手册,更像是一份行业智慧的结晶。

评分

一直在从事SDN方面的工作,最近工作需要开始接触ODL控制器,庞大的项目系统让我眼花缭乱,希望通过这本书慢慢学习ODL的基础框架,并应用到工作中!

评分

ODL开源控制器架构的确复杂,自己学习确实很难入门,官网的资料也是零零散散,耿老师的这本书为SDN爱好者和相关从业者带来了福音

评分

SDN网络的出现,可以说是网络世界的第二次工业革命,其中ODL作为目前两种高可用开源SDN控制器之一,担当了这次网络革命中的主要推手,但是ODL在国内的中文文档几乎没有,这本书的出现确实填补了这一空白。

评分

作为一个网络工程师,面对SDN这个历史性节点,想越过ODL不太现实。但是想了解、学习ODL,确实又一时无法入门,难得其法。个人感觉可以通过这本书,窥得一些门道进而登堂入室。

评分

ODL作为SDN应用最广泛的软件平台,几乎成为了各个场景的默认选择,项目经历了多个版本的迭代也逐渐趋于成熟和稳定,各个子项目也是百花齐放。但是对广大有志于投身网络变革大潮的从业者而言,这门技术依然具有很高的门槛,学习这本书,可以很好的帮助大家越过这个门槛。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 qciss.net All Rights Reserved. 小哈图书下载中心 版权所有