- 首頁
- >
- 書籍詳目頁
- 作者: 程丽明 (著)
- 學科分類: 科學類
- 書籍分類: 工具軟體 ; 電機資訊學院
- 出版社: 清华大学出版社(崧博)
- 出版地:中國大陸
- 出版日期:2018/03/01
- 語文:簡體中文
- ISBN/識別號:9787302493471
SDN环境部署与OpenDaylight开发入门
可使用:0人
線上閱讀中:0人
下載閱讀中:0人
借閱天數:0天

推薦採購不提供QR CODE
線上閱讀
本書提供兩種檔案格式,請選擇開啟:
EPUB彈性排版,可依載具大小自動斷行或換頁,較適合小螢幕閱讀。
書籍內容
TOP
本書主要介紹SDN的基礎原理,包括SDN的定義、架構、應用,涵蓋SDN主流控制器的基礎知識,包括概念、架構、主要模塊說明;介紹虛擬交換機OVS、SDN仿真環境、SDN主流控制器的安裝指南、操作指南、開發環境准備;介紹OpenDaylight的MD-SAL開發流程,以示例詳解的方式使用YANG建模語言和Java語言進行MD-SAL相關開發;介紹使用OpenDaylight北向API接口進行北向開發的過程。書中利用大量的具體示例和實際案例來說明OpenDaylight的開發步驟,讀者在閱讀學習后既能夠掌握基本的開發流程,又能夠理解其框架原理。
- 目錄
-
封面页
-
书名页
-
版权页
-
作者简介
-
内容简介
-
前言
-
目录
-
第一篇 理论篇 SDN概述、OpenDaylight简介、Controller项目总述
-
第1章 什么是SDN
-
1.1 SDN的诞生
-
1.2 SDN的标准及组织机构
-
1.3 SDN的一些典型应用场景
-
1.3.1 SDN在数据中心的应用:Cisco的ACI和VMware的NSX
-
1.3.2 SDN在广域网的应用(SD-WAN):谷歌的B4
-
1.3.3 SDN与安全——一种基于SDN的云计算安全保护系统及方法
-
1.4 SDN的一些重要学习资源
-
1.5 本章总结
-
第2章 SDN架构简析
-
2.1 SDN架构总述
-
2.2 SDN控制器
-
2.3 SDN交换机
-
2.4 南向接口协议
-
2.4.1 OpenFlow 1.0
-
2.4.2 OpenFlow 1.3
-
2.5 北向接口协议
-
2.6 本章总结
-
第3章 现有SDN交换机简介
-
3.1 OVS简介
-
3.1.1 认识OVS
-
3.1.2 OVS常用的命令
-
3.1.3 OVS的学习参考
-
3.2 SDN硬件交换机简介
-
3.2.1 思科
-
3.2.2 博科
-
3.2.3 华为
-
3.2.4 瞻博网络
-
3.2.5 NEC
-
3.2.6 戴尔
-
3.2.7 Arista
-
3.2.8 新华三
-
3.2.9 锐捷网络
-
3.2.10 xNET网锐科技
-
3.2.11 盛科网络
-
3.3 本章总结
-
第4章 现有SDN控制器简述
-
4.1 OpenDaylight控制器
-
4.2 ONOS控制器
-
4.3 Floodlight控制器
-
4.4 Ryu控制器
-
4.5 思科的APIC控制器和Open SDN控制器
-
4.5.1 思科APIC控制器
-
4.5.2 思科Open SDN控制器
-
4.5.3 思科SDN控制器的学习参考资源
-
4.6 OpenContrail控制器
-
4.7 NOX控制器
-
4.8 POX控制器
-
4.9 Beacon控制器
-
4.10 Big Network控制器
-
4.11 博科的Brocade SDN控制器
-
4.12 Maestro控制器
-
4.13 IRIS控制器
-
4.14 Extreme公司的OneController控制器
-
4.15 本章总结
-
第5章 OpenDaylight综述
-
5.1 OpenDaylight项目介绍
-
5.2 OpenDaylight版本介绍
-
5.2.1 氢版本简介
-
5.2.2 氦版本简介
-
5.2.3 锂版本简介
-
5.2.4 铍版本简介
-
5.2.5 硼版本简介
-
5.3 OpenDaylight的子项目简介
-
5.3.1 子项目AAA(认证、授权、审计项目)简介
-
5.3.2 子项目Federation(联合体项目)简介
-
5.3.3 子项目Infrastructure Utilities(基础设施项目)简介
-
5.3.4 子项目MD-SAL(模块驱动项目)简介
-
5.3.5 子项目ODL Root Parent(父项目)简介
-
5.3.6 子项目OpenDaylight Controller(控制器项目)简介
-
5.3.7 子项目YANG Tools(YANG工具项目)简介
-
5.3.8 子项目BGP LS PCEP(BGP和PCEP项目)简介
-
5.3.9 NETCONF(NETCONF项目)子项目简介
-
5.3.10 子项目ODL Lisp Flow Mapping(LISP流映射项目)简介
-
5.3.11 子项目ODL OpenFlow Plugin(OpenFlow插件项目)简介
-
5.3.12 子项目OpenFlow Protocol Library(OpenFlow协议库项目)简介
-
5.3.13 子项目OVSDB Integration(OVSDB集成项目)简介
-
5.3.14 子项目USC(统一安全通道项目)简介
-
5.3.15 子项目FaaS(网络构造即服务项目)简介
-
5.3.16 子项目NeutronNorthbound(Neutron北向项目)简介
-
5.3.17 子项目ALTO(应用层流量优化项目)简介
-
5.3.18 子项目CAPWAP(无线接入点的控制和提供)简介
-
5.3.19 子项目Controller Core Functionality Tutorials(控制器核心功能向导项目)简介
-
5.3.20 子项目Controller Shield(控制器盾项目)简介
-
5.3.21 子项目DIDM(设备认证和驱动管理项目)简介
-
5.3.22 子项目Group Based Policy(GBP)/Project Facts(GBP项目)简介
-
5.3.23 子项目L2 Switch(L2层交换机项目)简介
-
5.3.24 子项目LACP(链接聚合控制协议项目)简介
-
5.3.25 子项目OF-CONFIG(OF-CONFIG项目)简介
-
5.3.26 子项目OpenDaylight DLUX(ODL的DLUX项目)简介
-
5.3.27 子项目Service Function Chaining(服务功能链项目)简介
-
5.3.28 子项目VTN(VTN项目)简介
-
5.4 OpenDaylight学习参考
-
5.5 本章总结
-
第6章 OpenDaylight的Controller项目综述
-
6.1 Controller简介
-
6.1.1 OpenDaylight项目的控制器能满足当今网络发展的需求
-
6.1.2 OpenDaylight项目的控制器及技术关键组成介绍
-
6.2 Controller架构
-
6.3 Controller项目的服务抽象层SAL
-
6.3.1 MD-SAL
-
6.3.2 AD-SAL
-
6.4 Controller项目的学习参考
-
6.5 本章总结
-
第二篇 实操篇 控制器的安装指南、操作指南、开发环境准备
-
第7章 SDN底层架构的搭建指南
-
7.1 OVS安装指南
-
7.1.1 使用系统内置命令直接安装OVS
-
7.1.2 下载包并手动安装OVS
-
7.2 仿真环境Mininet安装指南
-
7.2.1 Mininet的介绍
-
7.2.2 下载Mininet虚拟机文件进行安装
-
7.2.3 在本地下载源代码以安装Mininet
-
7.2.4 使用包安装Mininet
-
7.2.5 Mininet的升级
-
7.2.6 升级Mininet的OVS版本
-
7.2.7 Mininet常用命令
-
7.3 Xen环境部署SDN网络的安装指南
-
7.3.1 安装Xen
-
7.3.2 安装OVS
-
7.3.3 创建虚拟机
-
7.3.4 对虚拟机文件进行修改
-
7.3.5 启动虚拟机
-
7.4 KVM环境部署SDN网络的安装指南
-
7.4.1 安装KVM
-
7.4.2 安装OVS
-
7.4.3 在KVM上进行相关的配置
-
7.4.4 创建虚拟机并将其连接到OVS网桥上
-
7.5 OpenStack环境部署SDN网络的安装指南
-
7.5.1 在现有的OpenStack的基础上安装OpenDaylight
-
7.5.2 使用DevStack以同时安装OpenStack和OpenDaylight
-
7.6 硬件环境部署SDN网络的安装指南
-
7.6.1 配置硬件交换机
-
7.6.2 配置硬件交换机所连接的控制器
-
7.7 本章总结
-
第8章 控制器OpenDaylight安装指南、操作指南和开发环境准备
-
8.1 Controller项目的源码安装指南
-
8.1.1 基础安装环境要求
-
8.1.2 项目编译和运行的软件环境要求
-
8.1.3 下载Controller项目的源码
-
8.1.4 编译Controller子项目的源码
-
8.1.5 Controller项目更新
-
8.1.6 启动运行Controller项目
-
8.1.7 安装参考
-
8.2 Controller项目的快速安装指南
-
8.3 OpenDaylight的Controller项目的开发环境准备
-
8.3.1 设置Gerrit账户
-
8.3.2 Eclipse的安装和设置
-
8.3.3 参考链接
-
8.4 OpenDaylight的Controller项目的使用指南
-
8.4.1 使用Controller和Mininet搭建一个简单的SDN环境
-
8.4.2 控制器OpenDaylight之Controller控制台界面介绍
-
8.4.3 通过Postman下发、删除、更新流表的操作
-
8.4.4 相关参考
-
8.5 OpenDaylight的通用项目源码安装指南
-
8.5.1 下载OpenDaylight子项目的源码
-
8.5.2 编译OpenDaylight子项目的源码
-
8.5.3 编译OpenDaylight子项目更新
-
8.5.4 启动运行OpenDaylight子项目
-
8.5.5 安装参考
-
8.6 OpenDaylight的通用项目快速安装指南
-
8.7 OpenDaylight的通用开发环境准备
-
8.8 控制器OpenDaylight的学习参考
-
8.9 本章总结
-
第9章 控制器ONOS安装指南
-
9.1 控制器ONOS简介
-
9.1.1 ONOS简述
-
9.1.2 ONOS的使命
-
9.1.3 ONOS创建组织简介
-
9.2 控制器ONOS源码安装指南
-
9.2.1 安装前提环境的准备
-
9.2.2 ONOS源码的下载和安装
-
9.2.3 在本地的开发机器上运行控制器ONOS
-
9.2.4 安装参考
-
9.3 控制器ONOS下载包的安装指南
-
9.4 控制器ONOS通过下载虚拟机进行部署的安装指南
-
9.5 控制器ONOS的使用指南
-
9.5.1 控制器ONOS的控制台界面介绍
-
9.5.2 使用ONOS和Mininet搭建一个简单的SDN环境
-
9.6 控制器ONOS的学习参考
-
9.7 本章总结
-
第10章 控制器Floodlight安装指南
-
10.1 控制器Floodlight源码安装指南
-
10.1.1 安装前提环境的准备
-
10.1.2 安装Floodlight
-
10.1.3 Floodlight的更新升级
-
10.2 控制器Floodlight通过下载虚拟机进行部署的安装指南
-
10.3 控制器Floodlight的使用指南
-
10.3.1 控制器Floodlight的常用命令介绍
-
10.3.2 控制器Floodlight的启动
-
10.3.3 控制器Floodlight的界面介绍
-
10.3.4 使用Floodlight和Mininet搭建一个简单的SDN环境
-
10.3.5 使用Floodlight和硬件交换机连接以搭建一个简单的SDN环境
-
10.4 控制器Floodlight的学习参考
-
10.5 本章总结
-
第11章 控制器Ryu安装指南
-
11.1 控制器Ryu源码安装指南
-
11.1.1 安装前提环境的准备
-
11.1.2 安装Ryu
-
11.1.3 安装参考
-
11.2 使用系统内置命令直接安装控制器的安装指南
-
11.2.1 安装前提环境的准备
-
11.2.2 使用系统内置命令直接安装Ryu
-
11.2.3 安装参考
-
11.3 控制器Ryu通过下载虚拟机进行部署的安装指南
-
11.4 控制器Ryu连接Mininet的实验
-
11.4.1 实验环境设计
-
11.4.2 控制器Ryu的启动
-
11.4.3 启动Mininet创建仿真网络
-
11.5 控制器Ryu的学习参考
-
11.6 本章总结
-
第三篇 实操篇 OpenDaylight之MD-SAL开发指南
-
第12章 MD-SAL开发的一些必备知识
-
12.1 OSGi
-
12.2 Karaf
-
12.3 Maven
-
12.3.1 Maven的安装和配置
-
12.3.2 Maven常用的命令
-
12.3.3 POM及pom.xml文件的简要介绍
-
12.3.4 Maven项目的配置文件settings.xml介绍
-
12.3.5 Maven的学习参考
-
12.4 MD-SAL
-
12.4.1 MD-SAL的基本概念
-
12.4.2 MD-SAL的消息类型
-
12.4.3 MD-SAL的数据事务
-
12.4.4 MD-SAL的RPC路由
-
12.4.5 OpenDaylight控制器MD-SAL:RESTCONF
-
12.4.6 WebSocket变化事件通知订阅
-
12.4.7 配置子系统
-
12.4.8 MD-SAL的学习参考
-
12.5 YANG
-
12.5.1 YANG的重要术语说明
-
12.5.2 YANG的语法规则
-
12.5.3 YANG的声明介绍
-
12.5.4 YANG Java Binding:映射规则
-
12.5.5 YANG的学习参考
-
12.6 本章总结
-
第13章 从简单的Hello World开始
-
13.1 项目开发环境准备
-
13.2 使用Maven原型opendaylight-startup-archetype创建项目
-
13.3 实现Hello World功能
-
13.3.1 在API目录下编写YANG模型
-
13.3.2 在impl目录下写实现功能代码——实现HelloService接口
-
13.3.3 注册RPC
-
13.4 项目hello的测试
-
13.4.1 使用HTTP协议通过API浏览器进行测试
-
13.4.2 使用OpenDaylight自带的YANG UI工具进行测试
-
13.4.3 使用REST客户端工具Postman进行测试
-
13.4.4 使用REST客户端curl命令行工具进行测试
-
13.5 本章总结
-
第14章 创建一个简单的项目:myproject
-
14.1 创建项目
-
14.1.1 使用Maven原型创建项目
-
14.1.2 编译项目
-
14.1.3 将项目导入IDE中
-
14.2 项目创建的关键目录和文件介绍
-
14.2.1 子项目myproject-api介绍
-
14.2.2 子项目myproject-artifacts介绍
-
14.2.3 子项目myproject-features介绍
-
14.2.4 子项目myproject-impl介绍
-
14.2.5 子项目myproject-it介绍
-
14.2.6 子项目myproject-karaf介绍
-
14.3 YANG常用的定义及其自动转化的Java代码
-
14.3.1 identity声明实例及其生成的Java文件
-
14.3.2 container声明实例及其生成的Java文件
-
14.3.3 typedef声明实例及其生成的Java文件
-
14.3.4 leaf声明实例及其生成的Java文件
-
14.3.5 leaf-list声明实例及其生成的Java文件
-
14.3.6 list声明实例及其生成的Java文件
-
14.3.7 choice声明和case声明实例及它们生成的Java文件
-
14.3.8 grouping声明实例及其生成的Java文件
-
14.3.9 uses声明实例及其生成的Java文件
-
14.3.10 augment声明实例及其生成的Java文件
-
14.3.11 YANG创建模型的一些实验
-
14.4 本章总结
-
第15章 RPC的开发
-
15.1 RPC开发过程的简要说明
-
15.2 RPC的YANG文件定义
-
15.2.1 RPC的YANG文件示例
-
15.2.2 RPC的YANG文件映射的包和Java文件
-
15.2.3 运行测试
-
15.3 RPC的实现
-
15.4 注册RPC并处理相应的关闭工作
-
15.4.1 MyprojectProvider.java的初始代码
-
15.4.2 在MyprojectProvider类中完成注册工作
-
15.4.3 编译
-
15.5 项目测试
-
15.5.1 启动myproject项目测试
-
15.5.2 my-rpc0功能测试
-
15.5.3 my-rpc1功能测试
-
15.5.4 my-rpc2功能测试
-
15.5.5 my-rpc3功能测试
-
15.5.6 my-rpc4功能测试
-
15.6 本章总结
-
第16章 DataStore相关的开发
-
16.1 DataStore相关开发过程的简要说明
-
16.1.1 使用DataBroker实现对DataStore的操作
-
16.1.2 完成Data Change事件的实现
-
16.2 利用DataBroker实现对DataStore的操作
-
16.2.1 实现对DataStore的异步读写操作
-
16.2.2 传递DataBroker参数
-
16.2.3 测试验证
-
16.3 Data Change事件的实现
-
16.3.1 实现DataChangeListener接口完成onDataChange函数
-
16.3.2 将数据树变动的监听注册到MD-SAL
-
16.3.3 测试验证
-
16.4 本章总结
-
第17章 Notification的开发
-
17.1 Notification开发过程的简要说明
-
17.1.1 通知提供的实现
-
17.1.2 通知接收处理的实现
-
17.2 在Yang Model中实现定义
-
17.2.1 notification的YANG文件示例
-
17.2.2 notification的YANG文件映射的包和Java文件
-
17.3 通知提供的实现
-
17.3.1 实现通知的提供
-
17.3.2 注册提供通知并传递NotificationProviderService参数
-
17.4 通知接收处理的实现
-
17.4.1 实现通知的接收
-
17.4.2 注册接收通知
-
17.5 项目测试
-
17.6 本章总结
-
第18章 使用Eclipse进行项目开发的介绍
-
18.1 使用Eclipse创建项目
-
18.2 使用Eclipse导入项目
-
18.3 使用Eclipse编辑项目
-
18.3.1 使用Eclipse编辑YANG文件
-
18.3.2 使用Eclipse编辑其他普通文件
-
18.3.3 在Eclipse工具之外对项目进行修改后的处理
-
18.4 使用Eclipse调试运行项目
-
18.4.1 使用Eclipse调试在其中编辑的项目
-
18.4.2 使用其他工具调试在Eclipse中编辑的项目
-
18.5 一些可能出现的错误及其解决方法
-
18.5.1 新建项目中出现mavenarchiver相关错误及解决方法
-
18.5.2 Maven的Lifecycle Mapping相关问题的解决方法
-
18.5.3 项目导入Eclipse后无法显示的解决方案
-
18.4.4 其他的一些错误和解决方法
-
18.6 本章总结
-
第四篇 实操篇 OpenDaylight之北向开发指南
-
第19章 OpenDaylight北向开发的基础知识
-
19.1 RestConf协议简介
-
19.1.1 RestConf的HTTP方法
-
19.1.2 RestConf的工作原理
-
19.2 NetConf协议简介
-
19.2.1 NetConf的协议层
-
19.2.2 NetConf的内容层
-
19.2.3 NetConf的操作层
-
19.2.4 NetConf的消息层
-
19.2.5 NetConf的安全传输层
-
19.2.6 NetConf的参考资料
-
19.3 OpenDaylight主要的北向接口
-
19.4 北向开发的官方参考资料
-
19.5 本章总结
-
第20章 利用Java实现OpenDaylight北向下发流表的功能
-
20.1 OpenDaylight北向下发流表开发的基础依据
-
20.1.1 模块opendaylight-action-types介绍
-
20.1.2 模块opendaylight-match-types介绍
-
20.2 获取流表的功能实现
-
20.2.1 代码展示
-
20.2.2 实验验证
-
20.3 添加流表的功能实现
-
20.3.1 代码展示
-
20.3.2 实验验证
-
20.4 删除流表的功能实现
-
20.4.1 代码展示
-
20.4.2 实验验证
-
20.5 本章总结
-
第21章 使用OpenDaylight北向接口的通用应用
-
21.1 获取北向接口的信息并进行开发
-
21.2 使用API进行北向编程
-
21.3 本章总结
-
参考资料
-
推荐阅读