从原理到实践,深入浅出地介绍SDN及OpenDaylight的知识体系
通过丰富常见的应用案例,讲解OpenDaylight的开发流程
资深研发工程师多年项目经验分享
本书主要介绍SDN的基础原理,包括SDN的定义、架构、应用,涵盖SDN主流控制器的基础知识,包括概念、架构、主要模块说明;介绍虚拟交换机OVS、SDN仿真环境、SDN主流控制器的安装指南、操作指南、开发环境准备;介绍OpenDaylight的MD-SAL开发流程,以示例详解的方式使用YANG建模语言和Java语言进行MD-SAL相关开发;介绍使用OpenDaylight北向API接口进行北向开发的过程。书中利用大量的具体示例和实际案例来说明OpenDaylight的开发步骤,读者在阅读学习后既能够掌握基本的开发流程,又能够理解其框架原理。
本书适合所有SDN的爱好者和从业者,尤其是对OpenDaylight感兴趣的开发者,也适合培训机构及大中专院校教学使用。
第一篇 理论篇——SDN概述、OpenDaylight简介、Controller项目总述
第1章 什么是SDN 3
1.1 SDN的诞生 3
1.2 SDN的标准及组织机构 5
1.3 SDN的一些典型应用场景 6
1.3.1 SDN在数据中心的应用:Cisco的ACI和VMware的NSX 7
1.3.2 SDN在广域网的应用(SD-WAN):谷歌的B4 9
1.3.3 SDN与安全——一种基于SDN的云计算安全保护系统及方法 10
1.4 SDN的一些重要学习资源 12
1.5 本章总结 15
第2章 SDN架构简析 16
2.1 SDN架构总述 17
2.2 SDN控制器 18
2.3 SDN交换机 20
2.4 南向接口协议 21
2.4.1 OpenFlow 1.0 22
2.4.2 OpenFlow 1.3 27
2.5 北向接口协议 32
2.6 本章总结 32
第3章 现有SDN交换机简介 33
3.1 OVS简介 33
3.1.1 认识OVS 33
3.1.2 OVS常用的命令 35
3.1.3 OVS的学习参考 49
3.2 SDN硬件交换机简介 50
3.2.1 思科 50
3.2.2 博科 51
3.2.3 华为 51
3.2.4 瞻博网络 52
3.2.5 NEC 52
3.2.6 戴尔 53
3.2.7 Arista 53
3.2.8 新华三 54
3.2.9 锐捷网络 54
3.2.10 xNET网锐科技 55
3.2.11 盛科网络 55
3.3 本章总结 56
第4章 现有SDN控制器简述 57
4.1 OpenDaylight控制器 58
4.2 ONOS控制器 59
4.3 Floodlight控制器 63
4.4 Ryu控制器 65
4.5 思科的APIC控制器和Open SDN控制器 66
4.5.1 思科APIC控制器 66
4.5.2 思科Open SDN控制器 67
4.5.3 思科SDN控制器的学习参考资源 67
4.6 OpenContrail控制器 67
4.7 NOX控制器 69
4.8 POX控制器 70
4.9 Beacon控制器 70
4.10 Big Network控制器 71
4.11 博科的Brocade SDN控制器 72
4.12 Maestro控制器 73
4.13 IRIS控制器 74
4.14 Extreme公司的OneController控制器 75
4.15 本章总结 76
第5章 OpenDaylight综述 77
5.1 OpenDaylight项目介绍 77
5.2 OpenDaylight版本介绍 80
5.2.1 氢版本简介 80
5.2.2 氦版本简介 82
5.2.3 锂版本简介 83
5.2.4 铍版本简介 85
5.2.5 硼版本简介 85
5.3 OpenDaylight的子项目简介 89
5.3.1 子项目AAA(认证、授权、审计项目)简介 93
5.3.2 子项目Federation(联合体项目)简介 94
5.3.3 子项目Infrastructure Utilities(基础设施项目)简介 94
5.3.4 子项目MD-SAL(模块驱动项目)简介 95
5.3.5 子项目ODL Root Parent(父项目)简介 97
5.3.6 子项目OpenDaylight Controller(控制器项目)简介 97
5.3.7 子项目YANG Tools(YANG工具项目)简介 98
5.3.8 子项目BGP LS PCEP(BGP和PCEP项目)简介 99
5.3.9 NETCONF(NETCONF项目)子项目简介 100
5.3.10 子项目ODL Lisp Flow Mapping(LISP流映射项目)简介 100
5.3.11 子项目ODL OpenFlow Plugin(OpenFlow插件项目)简介 101
5.3.12 子项目OpenFlow Protocol Library(OpenFlow协议库项目)简介 101
5.3.13 子项目OVSDB Integration(OVSDB集成项目)简介 101
5.3.14 子项目USC(统一安全通道项目)简介 101
5.3.15 子项目FaaS(网络构造即服务项目)简介 102
5.3.16 子项目NeutronNorthbound(Neutron北向项目)简介 102
5.3.17 子项目ALTO(应用层流量优化项目)简介 103
5.3.18 子项目CAPWAP(无线接入点的控制和提供)简介 103
5.3.19 子项目Controller Core Functionality Tutorials(控制器核心功能向导项目)简介 104
5.3.20 子项目Controller Shield(控制器盾项目)简介 104
5.3.21 子项目DIDM(设备认证和驱动管理项目)简介 104
5.3.22 子项目Group Based Policy(GBP)/Project Facts(GBP项目)简介 105
5.3.23 子项目L2 Switch(L2层交换机项目)简介 106
5.3.24 子项目LACP(链接聚合控制协议项目)简介 106
5.3.25 子项目OF-CONFIG(OF-CONFIG项目)简介 106
5.3.26 子项目OpenDaylight DLUX(ODL的DLUX项目)简介 107
5.3.27 子项目Service Function Chaining(服务功能链项目)简介 107
5.3.28 子项目VTN(VTN项目)简介 108
5.4 OpenDaylight学习参考 108
5.5 本章总结 109
第6章 OpenDaylight的Controller项目综述 110
6.1 Controller简介 110
6.1.1 OpenDaylight项目的控制器能满足当今网络发展的需求 110
6.1.2 OpenDaylight项目的控制器及技术关键组成介绍 111
6.2 Controller架构 113
6.3 Controller项目的服务抽象层SAL 114
6.3.1 MD-SAL 119
6.3.2 AD-SAL 120
6.4 Controller项目的学习参考 121
6.5 本章总结 121
第二篇 实操篇——控制器的安装指南、操作指南、开发环境准备
第7章 SDN底层架构的搭建指南 124
7.1 OVS安装指南 125
7.1.1 使用系统内置命令直接安装OVS 125
7.1.2 下载包并手动安装OVS 126
7.2 仿真环境Mininet安装指南 129
7.2.1 Mininet的介绍 129
7.2.2 下载Mininet虚拟机文件进行安装 131
7.2.3 在本地下载源代码以安装Mininet 133
7.2.4 使用包安装Mininet 135
7.2.5 Mininet的升级 136
7.2.6 升级Mininet的OVS版本 137
7.2.7 Mininet常用命令 140
7.3 Xen环境部署SDN网络的安装指南 147
7.3.1 安装Xen 147
7.3.2 安装OVS 149
7.3.3 创建虚拟机 151
7.3.4 对虚拟机文件进行修改 151
7.3.5 启动虚拟机 153
7.4 KVM环境部署SDN网络的安装指南 153
7.4.1 安装KVM 153
7.4.2 安装OVS 154
7.4.3 在KVM上进行相关的配置 156
7.4.4 创建虚拟机并将其连接到OVS网桥上 157
7.5 OpenStack环境部署SDN网络的安装指南 157
7.5.1 在现有的OpenStack的基础上安装OpenDaylight 158
7.5.2 使用DevStack以同时安装OpenStack和OpenDaylight 164
7.6 硬件环境部署SDN网络的安装指南 165
7.6.1 配置硬件交换机 165
7.6.2 配置硬件交换机所连接的控制器 166
7.7 本章总结 167
第8章 控制器OpenDaylight安装指南、操作指南和开发环境准备 169
8.1 Controller项目的源码安装指南 169
8.1.1 基础安装环境要求 170
8.1.2 项目编译和运行的软件环境要求 170
8.1.3 下载Controller项目的源码 173
8.1.4 编译Controller子项目的源码 174
8.1.5 Controller项目更新 176
8.1.6 启动运行Controller项目 176
8.1.7 安装参考 177
8.2 Controller项目的快速安装指南 177
8.3 OpenDaylight的Controller项目的开发环境准备 179
8.3.1 设置Gerrit账户 179
8.3.2 Eclipse的安装和设置 183
8.3.3 参考链接 184
8.4 OpenDaylight的Controller项目的使用指南 185
8.4.1 使用Controller和Mininet搭建一个简单的SDN环境 185
8.4.2 控制器OpenDaylight之Controller控制台界面介绍 186
8.4.3 通过Postman下发、删除、更新流表的操作 189
8.4.4 相关参考 200
8.5 OpenDaylight的通用项目源码安装指南 200
8.5.1 下载OpenDaylight子项目的源码 201
8.5.2 编译OpenDaylight子项目的源码 202
8.5.3 编译OpenDaylight子项目更新 203
8.5.4 启动运行OpenDaylight子项目 203
8.5.5 安装参考 204
8.6 OpenDaylight的通用项目快速安装指南 204
8.7 OpenDaylight的通用开发环境准备 206
8.8 控制器OpenDaylight的学习参考 206
8.9 本章总结 206
第9章 控制器ONOS安装指南 208
9.1 控制器ONOS简介 208
9.1.1 ONOS简述 208
9.1.2 ONOS的使命 210
9.1.3 ONOS创建组织简介 211
9.2 控制器ONOS源码安装指南 212
9.2.1 安装前提环境的准备 212
9.2.2 ONOS源码的下载和安装 216
9.2.3 在本地的开发机器上运行控制器ONOS 219
9.2.4 安装参考 220
9.3 控制器ONOS下载包的安装指南 221
9.4 控制器ONOS通过下载虚拟机进行部署的安装指南 222
9.5 控制器ONOS的使用指南 225
9.5.1 控制器ONOS的控制台界面介绍 225
9.5.2 使用ONOS和Mininet搭建一个简单的SDN环境 227
9.6 控制器ONOS的学习参考 228
9.7 本章总结 229
第10章 控制器Floodlight安装指南 230
10.1 控制器Floodlight源码安装指南 230
10.1.1 安装前提环境的准备 230
10.1.2 安装Floodlight 231
10.1.3 Floodlight的更新升级 231
10.2 控制器Floodlight通过下载虚拟机进行部署的安装指南 232
10.3 控制器Floodlight的使用指南 233
10.3.1 控制器Floodlight的常用命令介绍 233
10.3.2 控制器Floodlight的启动 235
10.3.3 控制器Floodlight的界面介绍 237
10.3.4 使用Floodlight和Mininet搭建一个简单的SDN环境 240
10.3.5 使用Floodlight和硬件交换机连接以搭建一个简单的SDN环境 245
10.4 控制器Floodlight的学习参考 245
10.5 本章总结 246
第11章 控制器Ryu安装指南 247
11.1 控制器Ryu源码安装指南 247
11.1.1 安装前提环境的准备 247
11.1.2 安装Ryu 248
11.1.3 安装参考 248
11.2 使用系统内置命令直接安装控制器的安装指南 249
11.2.1 安装前提环境的准备 249
11.2.2 使用系统内置命令直接安装Ryu 249
11.2.3 安装参考 249
11.3 控制器Ryu通过下载虚拟机进行部署的安装指南 249
11.4 控制器Ryu连接Mininet的实验 250
11.4.1 实验环境设计 250
11.4.2 控制器Ryu的启动 251
11.4.3 启动Mininet创建仿真网络 251
11.5 控制器Ryu的学习参考 254
11.6 本章总结 254
这是一本令人惊喜的书!我之前接触过一些 SDN 的入门资料,但总感觉不够深入,或者过于理论化。而《SDN环境部署与OpenDaylight开发入门》则完美地平衡了理论与实践。作者对 OpenDaylight 的各个模块的讲解非常透彻,让我对 SDN 控制器的内部运作有了更清晰的认识。尤其令我印象深刻的是,书中详细阐述了如何利用 OpenDaylight 进行网络可视化和监控,这对于理解网络状态和进行故障排查至关重要。此外,书中关于如何开发自定义的网络应用,以及如何将 SDN 集成到现有的 IT 基础设施中,也提供了非常宝贵的指导。我特别喜欢作者在讲解每个功能点时,都会给出相应的命令行指令或者 API 调用示例,这让我能够立刻动手尝试,验证所学知识。读完这本书,我感觉自己对 SDN 的理解不再停留在概念层面,而是能够真正地将其应用到实际的网络管理和开发中。
评分这本书真是让我大开眼界!我一直对 SDN 的概念很感兴趣,但总觉得隔着一层窗户纸,看不真切。这本《SDN环境部署与OpenDaylight开发入门》就像一把钥匙,瞬间为我打开了新世界的大门。我最喜欢的部分是它对 OpenDaylight 的剖析,不仅仅是简单地罗列功能,而是深入浅出地解释了其架构设计、核心组件以及它们之间的协作方式。从最基础的控制器安装配置,到复杂的网络拓扑发现,再到如何利用 REST API 进行网络编程,书中提供了非常详实的操作步骤和代码示例。我尤其赞赏作者在解释诸如 OVS (Open vSwitch) 集成、策略管理以及流规则下发等关键技术时,所采用的循序渐进的方式。每一个概念都配有清晰的图示和直观的比喻,让我这个初学者也能轻松理解。书中的案例也很有代表性,涵盖了从简单的二层转发到更复杂的流量工程应用,让我能够亲手实践,将理论知识转化为实际操作。感觉读完这本书,我不再是那个对 SDN 望而却步的旁观者,而是可以真正上手,去探索和构建自己的 SDN 网络了。
评分这次阅读体验简直是颠覆性的!我一直以为 SDN 是一个非常高大上的概念,离我的日常工作很遥远,但这本书让我看到了它的实际应用和易用性。作者的写作风格非常接地气,用一种非常友好的方式引导读者一步步进入 SDN 的世界。特别是关于 OpenDaylight 的部分,他没有直接灌输复杂的 API,而是从最基本的概念入手,比如如何理解 SDN 控制器、南向接口和北向接口的作用,以及如何利用现有的网络设备与控制器进行交互。我非常喜欢书中关于“用代码控制网络”的理念,它让我看到了 SDN 带来的巨大灵活性和自动化潜力。书中的一些小技巧和注意事项,比如如何排查常见的部署问题,如何优化控制器性能,都非常实用,能够帮助读者避免走很多弯路。我还会时不时地翻阅其中的一些章节,就像在和一位经验丰富的老师交流一样,总能获得新的启发。这本书不仅仅是一本技术手册,更像是一份通往 SDN 开发者之路的地图,为我指明了方向。
评分这本书给我带来了全新的视角!我一直认为 SDN 是一种非常前沿的技术,但对于如何实际部署和开发却感到茫然。这本书的出现,恰好弥补了这一空白。作者从最基础的环境搭建开始,一步步引导读者完成 SDN 控制器的安装和配置,并提供了非常详尽的步骤说明。我特别欣赏书中对 OpenDaylight 的介绍,它不仅仅是罗列了各种功能,而是深入讲解了各个模块的设计理念和实现方式,比如南北向接口的设计、数据存储机制、以及如何进行模块间的通信。书中的实战案例也非常丰富,涵盖了从网络拓扑发现到流量控制等多个方面,让我能够通过实际操作来加深理解。我还会时不时地回头看书中的一些图示和流程图,它们非常直观,帮助我梳理复杂的概念。总而言之,这是一本非常值得推荐的 SDN 入门书籍,它为我打开了通往 SDN 世界的大门。
评分这次阅读经历非常充实!我对 SDN 的理解一直停留在理论层面,这本书让我有机会亲手实践,将概念转化为实际操作。书中对 OpenDaylight 的介绍非常细致,从最基础的安装部署,到各个模块的讲解,都做到了深入浅出。我尤其喜欢书中关于利用 OpenDaylight 进行网络编程的部分,它让我看到了 SDN 在自动化和智能化网络管理方面的巨大潜力。书中的代码示例也非常实用,我能够直接复制代码并进行修改,快速实现自己的需求。我还会时不时地翻阅书中的一些章节,就像在与一位经验丰富的技术导师交流一样,总能获得新的启发。这本书不仅仅是一本技术书籍,更像是一份通往 SDN 开发之路的指南,它为我指明了方向,让我不再感到迷茫。
评分还没看完,讲的有点杂吧…
评分还没看完,讲的有点杂吧…
评分不错
评分纸张太差,感觉是盗版的,边角还磨掉一点,这钱花的有点不值的!
评分纸张太差,感觉是盗版的,边角还磨掉一点,这钱花的有点不值的!
评分纸张太差,感觉是盗版的,边角还磨掉一点,这钱花的有点不值的!
评分纸张太差,感觉是盗版的,边角还磨掉一点,这钱花的有点不值的!
评分纸张太差,感觉是盗版的,边角还磨掉一点,这钱花的有点不值的!
评分内容比较全面,部署的实例和开发的实例较多。书中实际部署、开发、实验的实图和代码都不少。由浅入深,方便入门。这几年SDN发展的不错,ODL比较火,用在数据中心比较适合。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有