SDN环境部署与OpenDaylight开发入门PDF电子书下载
- 电子书积分:19 积分如何计算积分?
- 作 者:程丽明编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2018
- ISBN:9787302493471
- 页数:680 页
第一篇 理论篇——SDN概述、OpenDaylight简介、Controller项目总述 3
第1章 什么是SDN 3
1.1 SDN的诞生 3
1.2 SDN的标准及组织机构 5
1.3 SDN的一些典型应用场景 6
1.3.1 SDN在数据中心的应用: Cisco的ACI和VMwart的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子项目ODLOpenFlow Plugin (OpenFlow插件项目)简介 101
5.3.12子项目OpenFlow Protocol Libra (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.4OpenDaylight学习参考 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
第二篇 实操篇——控制器的安装指南、操作指南、开发环境准备 124
第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启动运行Conttrller项目 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
第三篇 实操篇———OpenDaylight之MD-SAL开发指南 256
第12章MD-SAL开发的一些必备知识 256
12.1 OSGi 257
12.2 Karaf 259
12.3 Maven 260
12.3.1 Maven的安装和配置 261
12.3.2 Maven常用的命令 261
12.3.3 POM及pom.xml文件的简要介绍 263
12.3.4 Maven项目的配置文件settings.xml介绍 283
12.3.5 Maven的学习参考 291
12.4 MD-SAL 291
12.4.1 MD-SAL的基本概念 292
12.4.2 MD-SAL的消息类型 292
12.4.3 MD-SAL的数据事务 293
12.4.4 MD-SAL的RPC路由 297
12.4.5 OpenDaylight控制器MD-SAL:RESTCONF 299
12.4.6 WebSocket变化事件通知订阅 300
12.4.7配置子系统 302
12.4.8 MD-SAL的学习参考 305
12.5 YANG 305
12.5.1 YANG的重要术语说明 307
12.5.2 YANG的语法规则 308
12.5.3 YANG的声明介绍 309
12.5.4 YANG Java Binding:映射规则 345
12.5.5 YANG的学习参考 363
12.6本章总结 364
第13章 从简单的Hello World开始 366
13.1项目开发环境准备 366
13.2使用Maven原型opendaylight-startup-archetype创建项目 367
13.3实现Hello World功能 374
13.3.1在API目录下编写YANG模型 374
13.3.2在impl目录下写实现功能代码——实现HelloService接口 375
13.3.3注册RPC 376
13.4项目hello的测试 378
13.4.1使用HTTP协议通过API浏览器进行测试 379
13.4.2使用OpenDaylight自带的YANG UI工具进行测试 380
13.4.3使用REST客户端工具Postman进行测试 382
13.4.4使用REST客户端curl命令行工具进行测试 382
13.5本章总结 384
第14章 创建一个简单的项目:myproject 385
14.1创建项目 385
14.1.1使用Maven原型创建项目 385
14.1.2编译项目 387
14.1.3将项目导入IDE中 387
14.2项目创建的关键目录和文件介绍 388
14.2.1子项目myproject-api介绍 390
14.2.2子项目myproject-artifacts介绍 391
14.2.3子项目myproject-features介绍 392
14.2.4子项目myproject-impl介绍 394
14.2.5子项目myproject-it介绍 395
14.2.6子项目myproject-karaf介绍 395
14.3 YANG常用的定义及其自动转化的Java代码 396
14.3.1 identity声明实例及其生成的Java文件 396
14.3.2 container声明实例及其生成的Java文件 399
14.3.3 typedef声明实例及其生成的Java文件 412
14.3.4 leaf声明实例及其生成的Java文件 415
14.3.5 leaf-list声明实例及其生成的Java文件 419
14.3.6 list声明实例及其生成的Java文件 423
14.3.7 choice声明和case声明实例及它们生成的 Java文件 437
14.3.8 grouping声明实例及其生成的Java文件 450
14.3.9 uses声明实例及其生成的Java文件 454
14.3.10 augment声明实例及其生成的Java文件 464
14.3.11 YANG创建模型的一些实验 475
14.4本章总结 481
第15章RPC的开发 482
15.1 RPC开发过程的简要说明 482
15.2 RPC的YANG文件定义 483
15.2.1 RPC的YANG文件示例 483
15.2.2 RPC的YANG文件映射的包和Java文件 487
15.2.3运行测试 517
15.3 RPC的实现 519
15.4注册RPC并处理相应的关闭工作 526
15.4.1 MyprojectProviderjava的初始代码 526
15.4.2在MyprojectProvider类中完成注册工作 527
15.4.3编译 528
15.5项目测试 528
15.5.1启动myproject项目测试 528
15.5.2 my-rpc0功能测试 529
15.5.3 my-rpc1功能测试 530
15.5.4 my-rpc2功能测试 531
15.5.5 my-rpc3功能测试 532
15.5.6 my-rpc4功能测试 533
15.6本章总结 535
第16章DataStore相关的开发 536
16.1 DataStore相关开发过程的简要说明 536
16.1.1使用DataBroker实现对DataStore的操作 537
16.1.2完成Data Change事件的实现 539
16.2利用DataBroker实现对DataStore的操作 540
16.2.1实现对DataStore的异步读写操作 540
16.2.2传递DataBroker参数 543
16.2.3测试验证 544
16.3 Data Change事件的实现 546
16.3.1实现DataChangeListener接口完成onDataChange函数 546
16.3.2将数据树变动的监听注册到MD-SAL 547
16.3.3测试验证 548
16.4本章总结 550
第17章Notification的开发 551
17.1 Notification开发过程的简要说明 551
17.1.1通知提供的实现 552
17.1.2通知接收处理的实现 552
17.2在Yang Model中实现定义 553
17.2.1 notification的YANG文件示例 553
17.2.2 notification的YANG文件映射的包和Java文件 555
17.3通知提供的实现 577
17.3.1实现通知的提供 577
17.3.2注册提供通知并传递NotificationProviderService参数 579
17.4通知接收处理的实现 580
17.4.1实现通知的接收 580
17.4.2注册接收通知 584
17.5项目测试 584
17.6本章总结 587
第18章 使用Eclipse进行项目开发的介绍 588
18.1使用Eclipse创建项目 588
18.2使用Eclipse导入项目 594
18.3使用Eclipse编辑项目 598
18.3.1使用Eclipse编辑YANG文件 598
18.3.2使用Eclipse编辑其他普通文件 600
18.3.3在Eclipse工具之外对项目进行修改后的处理 600
18.4使用Eclipse调试运行项目 601
18.4.1使用Eclipse调试在其中编辑的项目 601
18.4.2使用其他工具调试在Eclipse中编辑的项目 607
18.5一些可能出现的错误及其解决方法 609
18.5.1新建项目中出现mavenarchiver相关错误及解决方法 609
18.5.2 Maven的Lifecycle Mapping相关问题的解决方法 611
18.5.3项目导入Eclipse后无法显示的解决方案 616
18.4.4其他的一些错误和解决方法 617
18.6本章总结 618
第四篇 实操篇——OpenDaylight之北向开发指南 620
第19章OpenDaylight北向开发的基础知识 620
19.1 RestConf协议简介 621
19.1.1 RestConf的HTTP方法 623
19.1.2 RestConf的工作原理 625
19.2 NetConf协议简介 627
19.2.1 NetConf的协议层 627
19.2.2 NetConf的内容层 627
19.2.3 NetConf的操作层 627
19.2.4 NetConf的消息层 628
19.2.5 NetConf的安全传输层 628
19.2.6 NetConf的参考资料 629
19.3 OpenDaylight主要的北向接口 630
19.4北向开发的官方参考资料 631
19.5本章总结 631
第20章 利用Java实现OpenDaylight北向下发流表的功能 632
20.1 OpenDaylight北向下发流表开发的基础依据 632
20.1.1模块opendaylight-action-types介绍 632
20.1.2模块opendaylight-match-types介绍 639
20.2获取流表的功能实现 646
20.2.1代码展示 646
20.2.2实验验证 648
20.3添加流表的功能实现 652
20.3.1代码展示 652
20.3.2实验验证 662
20.4删除流表的功能实现 666
20.4.1代码展示 666
20.4.2实验验证 668
20.5 本章总结 670
第21章 使用OpenDaylight北向接口的通用应用 671
21.1获取北向接口的信息并进行开发 671
21.2使用API进行北向编程 674
21.3本章总结 676
参考资料 677
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《你好,生态环境部!》生态环境部编 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《长江口物理、化学与生态环境调查图集》于非 2019
- 《环境影响评价公众参与理论与实践研究》樊春燕主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019