新書推薦:
《
冯友兰和青年谈心系列
》
售價:HK$
171.8
《
利他主义的生意:偏爱“非理性”的市场(英国《金融时报》推荐读物!)
》
售價:HK$
79.4
《
认知行为疗法:心理咨询的顶层设计
》
售價:HK$
102.4
《
FANUC工业机器人装调与维修
》
售價:HK$
102.4
《
吕著中国通史
》
售價:HK$
64.4
《
爱琴海的光芒 : 千年古希腊文明
》
售價:HK$
204.7
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:HK$
67.9
《
SDGSAT-1卫星热红外影像图集
》
售價:HK$
457.7
|
編輯推薦: |
从原理到实践,深入浅出地介绍SDN及OpenDaylight的知识体系通过丰富常见的应用案例,讲解OpenDaylight的开发流程资深研发工程师多年项目经验分享
|
內容簡介: |
本书主要介绍SDN的基础原理,包括SDN的定义、架构、应用,涵盖SDN主流控制器的基础知识,包括概念、架构、主要模块说明;介绍虚拟交换机OVS、SDN仿真环境、SDN主流控制器的安装指南、操作指南、开发环境准备;介绍OpenDaylight的MD-SAL开发流程,以示例详解的方式使用YANG建模语言和Java语言进行MD-SAL相关开发;介绍使用OpenDaylight北向API接口进行北向开发的过程。书中利用大量的具体示例和实际案例来说明OpenDaylight的开发步骤,读者在阅读学习后既能够掌握基本的开发流程,又能够理解其框架原理。 本书适合所有SDN的爱好者和从业者,尤其是对OpenDaylight感兴趣的开发者,也适合培训机构及大中专院校教学使用。本书配书资源下载地址https:pan.baidu.coms1BMnl1lYZSvZde_ymUJh8rA 本书联系E-mail地址:booksaga@126.com 本书联系QQ地址:3113088@qq.com
|
關於作者: |
程丽明中山大学计算机软件与理论硕士,目前就职于蓝盾信息安全技术股份有限公司,担任前沿技术高级研究员一职,主要从事软件定义网络、云安全、虚拟化领域的研究和产品开发工作,拥有多年的项目开发经验,研究兴趣包括SDN、虚拟化、云计算、移动办公安全等,发表国内外专利和论文十余篇。
|
目錄:
|
目 录
目 录
第一篇 理论篇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
第三篇 实操篇OpenDaylight之MD-SAL开发指南
第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 MyprojectProvider.java的初始代码 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之北向开发指南
第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
|
內容試閱:
|
前 言
SDN(Software Defined Network,软件定义网络)近年在网络部署,特别是在互联网企业的应用不断扩展,OpenDaylight作为其最出名的控制器,也一同名声大噪,引起了各大IT公司和众多编程语言爱好者的注意。OpenDaylight会员俱乐部已经吸引思科、VMware、微软、因特尔、AT&T、华为、阿里、腾讯等几十家国际一流的硬件商、互联网厂商、虚拟化厂商、新兴技术厂商的加入。
本书是作者在OpenDaylight学习、实际工作实践及培训过程中的心得体会和系统总结,内容涵盖SDN原理介绍、常用控制器部署指南、OpenDaylight控制器MD-SAL开发和使用北向API接口开发入门等内容,也是国内第一部介绍OpenDaylight开发的技术书籍。
本书由理论篇SDN概述、OpenDaylight简介、Controller项目总述(第1~6章)、实操篇控制器的安装指南、操作指南、开发环境准备(第7~11章)、实操篇OpenDaylight之MD-SAL开发指南(第12~18章)、实操篇OpenDaylight之北向开发指南(第19~21章)组成。
第1章主要介绍SDN的起源、SDN的标准及组织机构、SDN的一些典型应用场景和SDN的一些重要学习资源。
第2章对SDN架构进行介绍,内容包括SDN应用层、SDN控制器层、SDN基础架构层(SDN交换机)、SDN北向接口和SDN南向接口。
第3章对OVS交换机和11家SDN硬件交换机厂商(思科、博科、华为、瞻博网络、NEC、戴尔、Arista、H3C新华三、锐捷网络、xNET网锐科技、盛科网络)及其主打产品进行介绍。
第4章对于当前市场上最为出名的14种控制器进行简要介绍,包括开源的SDN控制器和商用的SDN控制器。
第5章对OpenDaylight项目的起源、目标、特性、发展过程、子项目组成进行基本的介绍。
第6章对OpenDaylight项目中的核心子项目Controller(控制器项目)进行介绍,包括其简介、技术关键组成、架构和重点组件(特别是MD-SAL)。
第7章是SDN底层架构的搭建指南,包括SDN虚拟交换机OVS(Open vSwitch)的两种安装方法、仿真环境Mininet的3种安装方法、在Xen环境中安装OVS、在KVM环境中安装OVS、OpenStack环境部署SDN网络的安装指南和硬件环境部署SDN网络。
第8章是OpenDaylight项目的安装指南,介绍下载、编译、启动运行OpenDaylight子项目的方法,OpenDaylight的通用项目快速安装指南和OpenDaylight的通用开发环境准备介绍。
第9章是控制器ONOS安装指南,包括控制器ONOS简介、控制器ONOS的3种安装方式的指南和控制器ONOS的使用指南。
第10章是Floodlight控制器的安装和使用指南,包括Floodlight控制器的两种安装方法和控制器Floodlight的使用指南。
第11章是Ryu控制器的安装和使用指南,包括Ryu控制器的3种安装方法和Ryu控制器的使用指南。
第12章介绍MD-SAL开发的一些必备的知识,包括OSGi框架、Karaf容器、软件项目管理和理解工具Apache Maven、OpenDaylight项目中核心的组成服务抽象层SAL、建模工具YANG语言。
第13章是一个简单的项目开发过程示例,从简单的Hello World开始,使用Maven工具基于opendaylight-startup-archetype原型创建一个简单的项目。
第14章使用Maven原型opendaylight-startup-archetype的1.1.4-SNAPSHOT版本创建myproject项目并介绍myproject项目的关键目录的文件结构,在此项目上以示例说明YANG常用的定义及其自动转化的Java代码。
第15章主要介绍RPC的开发过程,包括创建使用YANG语言对RPC进行建模、完成RPC的具体实现、创建RPC实例并将完成其注册和其关闭的相应工作。
第16章主要介绍DataStore相关的开发,包括利用DataBroker实现对DataStore的操作和Data Change事件的实现。
第17章主要介绍通知Notification的开发过程,包括利用YANG语言实现通知Notification的定义、通知提供的实现和通知接收处理的实现。
第18章使用Eclipse进行项目开发的介绍,主要包括使用Eclipse创建项目、导入项目、编辑项目、调试运行项目,以及使用Eclipse进行开发时可能出现的错误及其解决方法。
第19章介绍OpenDaylight北向开发的基础知识,主要包括RestConf协议、NetConf协议、OpenDaylight主要的北向接口和OpenDaylight北向开发的官方参考资料。
第20章介绍利用OpenDaylight北向接口实现下发流表的简单实例,具体包括利用Java语言实现获取流表、添加流表和删除流表的操作。
第21章介绍使用ODL北向接口的通用应用,包括获取北向接口的信息并进行开发、使用API进行北向编程。
书中利用大量的具体示例和实际案例来说明OpenDaylight的开发步骤,在阅读学习后既能够掌握基本的开发流程,又能够理解其框架原理。本书适合所有SDN的爱好者和从业者,尤其是对OpenDaylight感兴趣的开发者,也适合培训机构及大中专院校教学使用。
由于编者学识有限,且本书涉及的知识点较多,书中难免有不妥和错误之处,敬请广大读者批评指正。愿这本书能够抛砖引玉,共同促进SDN的发展。
最后感谢我的外公姚文榕先生,MJ、Asher在我人生中的陪伴和鼓励,感谢其他的家人和朋友,感谢一起为SDN奋斗的朋友们,感谢SDN社区的伙伴们,是你们的支持和鼓励让我能坚持做自己相信和热爱的事,最终完成这本书。再次感谢你们!
本书配书资源下载地址https:pan.baidu.coms1BMnl1lYZSvZde_ymUJh8rA
本书联系E-mail地址:booksaga@126.com
本书联系QQ地址:3113088@qq.com
程丽明
2017年5月31日
|
|