软件定义网络核心原理与应用实践

软件定义网络核心原理与应用实践
作 者: 黄韬 刘江 魏亮
出版社: 人民邮电出版社
丛编项: 学术中国·院士系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 计算机/网络 网络配置与管理 网络与数据通信
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  黄韬,北京邮电大学副教授,江苏省未来网络创新研究院院长助理。2002年毕业于南开大学获学士学位,2007年毕业于北京邮电大学获博士学位,2007~2009年在中国联通从事博士后科研工作。国家“863”课题“面向服务的软件定义网络体系架构与关键技术研究”负责人,并主持或参与多项未来网络相关的国家自然基金、“973”、“863”、江苏省科技成果转化等科研项目。在国内外重要期刊和国际会议上发表学术论文60余篇,获得技术发明专利10余项,提交国际标准提案8篇,出版个人专著3部。目前主要研究方向为未来网络体系架构、软件定义网络、网络融合与演进等。刘江,北京邮电大学讲师,2005年毕业于北京理工大学获学士学位,2012年毕业于北京邮电大学获博士学位。国家自然科学基金项目“基于SDN特征的虚拟网络映射问题研究”负责人,并参与了多项未来网络相关的国家级和省部级科研课题。在国内外重要期刊和国际会议上发表学术论文30余篇,申请技术发明专利10余项。目前主要研究方向为未来网络体系架构、网络虚拟化、软件定义网络、信息中心网络等。魏亮,北京邮电大学博士,现任江苏省未来网络创新研究院CDN团队副总监。参与了面向服务的未来互联网体系结构及机制研究(973项目)为代表的多项未来网络领域科研课题。目前正带领团队从事SDN创新实验平台、网络虚拟化平台、SDN控制器、基于云架构的网络资源管理平台等方面的研发工作。获得软件著作权9项,申请技术发明专利6项。目前主要研究方向为软件定义网络、云计算、网络试验床等。张娇,北京邮电大学讲师,2008年毕业于北京邮电大学获学士学位,201 4年毕业于清华大学获博士学位,博士期间于2012年8月至2013年8月受国家留学基金委资助赴美国UC Berkeley作为联合培养博士生学习一年。目前已在重要的国内外期刊和国际会议上发表学术论文15篇,其中SCI检索论文7篇,EI检索论文7篇,撰写专利1项。目前主要研究方向为未来网络体系架构、数据中心网络、软件定义网络等。刘韵洁,1968年毕业于北京大学获学士学位。现任中国联通科技委主任、北京邮电大学信息与通信工程学院院长、江苏省未来网络创新研究院院长。曾获国家科技进步一等奖1项,部级科技进步一等奖2项,国家发明专利10余项。从事网络技术工作近40年,在数据网、互联网以及网络融合等方面做出了开拓性工作,2005年当选中国工程院院士。目前主要研究方向为未来网络、网络体...

内容简介

《软件定义网络核心原理与应用实践》分为核心原理和应用实践两大部分,对软件定义网络(SDN)技术进行了全面剖析和深入解读。第一部分首先阐述了SDN的设计思想与体系架构,详细分析了软件定义网络的控制转发分离和可编程性两个突出属性,其次介绍了以OpenFlow为代表的SDN南向接口协议,以及北向和东向接口协议,接下来根据SDN的层次化架构,依次介绍了SDN数据平面、控制平面以及SDN应用案例,最后梳理总结了SDN标准化进展以及学术发展情况。第二部分着重讲述SDN应用实践,从系统架构、代码解析等方面详细介绍了虚拟交换机、开源控制器、仿真测试实验工具的基本知识,并结合模拟网络环境搭建、虚拟网络设备部署、实际业务开发等具体应用实践场景,深入讲解了利用SDN技术进行创新研发的过程。《软件定义网络核心原理与应用实践》涉及的内容广泛、技术思想凝练,突出核心原理和基本概念的阐述,同时力图深入浅出地讲解SDN的业务应用开发过程。《软件定义网络核心原理与应用实践》对从事SDN技术研发的专业人士、网络运营管理人员、相关专业高校学生以及对SDN技术感兴趣的读者,都具有一定的参考价值。

图书目录

目 录

第一部分 SDN核心原理

第1章 SDN概述 3

第2章 SDN基本原理 9

2.1 SDN定义与架构 9

2.1.1 SDN定义 9

2.1.2 SDN架构 11

2.2 数据控制分离 15

2.2.1 基本概念 15

2.2.2 数据控制分离历史 18

2.2.3 SDN数据控制分离 22

2.3 网络可编程 25

2.3.1 基本概念 25

2.3.2 网络可编程历史 26

2.3.3 SDN可编程 29

2.4 本章小结 32

参考文献 32

第3章 SDN接口协议 34

3.1 OpenFlow协议 34

3.1.1 OpenFlow v1.0协议 35

3.1.2 OpenFlow协议的演进 45

3.1.3 OpenFlow协议面临的问题 54

3.2 OF-CONFIG协议 55

3.2.1 协议框架 55

3.2.2 设计需求 56

3.2.3 数据模型 58

3.2.4 协议演进 60

3.3 其他SDN南向接口协议 61

3.3.1 XMPP 61

3.3.2 PCEP 62

3.3.3 I2RS 64

3.3.4 OpFlex 65

3.3.5 OVSDB Mgmt 66

3.4 SDN北向接口 67

3.4.1 ONF北向接口 68

3.4.2 SDN其他北向接口 70

3.4.3 SDN北向接口的前景 71

3.5 SDN东西向接口协议 72

3.6 本章小结 76

参考文献 76

第4章 SDN数据平面 78

4.1 数据平面架构 78

4.2 SDN芯片 81

4.3 SDN硬件交换机 85

4.3.1 基于ASIC芯片的SDN品牌交换机 86

4.3.2 基于ASIC芯片的SDN白盒交换机 92

4.3.3 基于NP的SDN交换机 96

4.3.4 基于NetFPGA的SDN交换机 97

4.4 SDN软件交换机 99

4.4.1 Open vSwitch 99

4.4.2 Pantou 100

4.4.3 Indigo 101

4.4.4 LINC 101

4.4.5 OpenFlowClick 102

4.4.6 OF13SoftSwitch 103

4.5 本章小结 104

参考文献 104

第5章 SDN控制平面 107

5.1 SDN控制器 107

5.1.1 SDN控制器体系架构 107

5.1.2 SDN控制器评估要素 110

5.2 开源控制器 112

5.2.1 NOX/POX 112

5.2.2 Ryu 114

5.2.3 Floodlight 116

5.2.4 OpenDaylight 118

5.2.5 OpenContrail 120

5.2.6 其他开源控制器 124

5.3 商用控制器 126

5.3.1 Big Network Controller 126

5.3.2 XNC 128

5.3.3 Contrail 129

5.3.4 SOX 131

5.4 本章小结 133

参考文献 133

第6章 SDN应用案例 135

6.1 SDN在网络试验平台中的应用 135

6.1.1 GENI OpenFlow 136

6.1.2 OFELIA 139

6.1.3 RISE 141

6.1.4 TWAREN 143

6.1.5 FINE 145

6.1.6 C-Lab 146

6.2 SDN在网络虚拟化中的应用 148

6.2.1 基于SDN的网络虚拟化简介 149

6.2.2 网络虚拟化工具FlowVisor 150

6.2.3 网络虚拟化平台CNVP 154

6.3 SDN在流量工程中的应用 158

6.3.1 概述 159

6.3.2 B4的设计思路 160

6.3.3 B4的核心网络功能 163

6.3.4 基于SDN的流量工程实现 167

6.3.5 B4的部署与成效 170

6.4 本章小结 173

参考文献 174

第7章 SDN标准化与学术进展 175

7.1 SDN标准化进展 175

7.1.1 开放网络基金会 175

7.1.2 互联网工程任务组 178

7.1.3 国际电信联盟 179

7.1.4 欧洲电信标准化协会 181

7.1.5 中国通信标准化协会 184

7.2 SDN学术进展 186

7.2.1 控制平面可扩展性 186

7.2.2 交换机/数据平面设计 188

7.2.3 SDN编程语言 189

7.2.4 测试、调试及管理 189

7.2.5 数据中心应用 190

7.2.6 校园网应用 191

7.2.7 其他 191

7.3 本章小结 192

参考文献 192

第二部分 应用实践

第8章 Open vSwitch应用实践 197

8.1 OVS系统架构 197

8.2 OVS代码解读 200

8.2.1 代码结构 200

8.2.2 代码解析 201

8.3 OVS安装使用 208

8.3.1 软件安装 208

8.3.2 使用说明 210

8.3.3 常用命令 211

8.4 OVS应用实例 212

8.4.1 实例介绍 212

8.4.2 实例开发 213

8.4.3 实验结果 216

8.5 本章小结 217

参考文献 217

第9章 Mininet应用实践 218

9.1 Mininet系统架构 218

9.2 Mininet代码解读 220

9.2.1 代码结构 220

9.2.2 代码解析 222

9.3 Mininet安装使用 224

9.3.1 软件安装 224

9.3.2 使用说明 226

9.3.3 添加OpenFlow 1.3支持 228

9.4 Mininet应用实例 230

9.4.1 实例介绍 231

9.4.2 实例开发 232

9.4.3 实验结果 234

9.5 本章小结 235

参考文献 236

第10章 POX应用实践 237

10.1 POX代码解读 237

10.1.1 代码结构 237

10.1.2 代码解析 238

10.2 POX安装配置 249

10.2.1 软件安装 249

10.2.2 系统配置 250

10.3 POX应用实例 252

10.3.1 实例介绍 252

10.3.2 实例开发 253

10.3.3 实验结果 261

10.4 本章小结 261

参考文献 262

第11章 Ryu应用实践 263

11.1 Ryu代码解读 263

11.1.1 代码结构 263

11.1.2 代码解析 264

11.2 Ryu安装配置 269

11.2.1 软件安装 269

11.2.2 系统配置 270

11.3 Ryu应用实例 271

11.3.1 实例介绍 271

11.3.2 实例开发 275

11.3.3 实验结果 281

11.4 本章小结 282

参考文献 283

第12章 Floodlight应用实践 284

12.1 Floodlight代码解读 284

12.1.1 代码结构 284

12.1.2 代码解析 285

12.2 Floodlight安装配置 291

12.2.1 软件安装 291

12.2.2 系统配置 292

12.3 Floodlight应用实例 292

12.3.1 实例介绍 292

12.3.2 实例开发 293

12.3.3 实验结果 296

12.4 本章小结 297

参考文献 297

第13章 OpenDaylight应用实践 298

13.1 OpenDaylight代码解读 298

13.1.1 代码结构 298

13.1.2 依赖技术 299

13.1.3 代码解析 300

13.2 OpenDaylight安装配置 309

13.2.1 软件安装 309

13.2.2 系统配置 310

13.3 OpenDaylight应用实例 311

13.3.1 实例介绍 311

13.3.2 实例开发 312

13.3.3 实验结果 315

13.4 本章小结 315

参考文献 316

第14章 FlowVisor应用实践 317

14.1 FlowVisor代码解读 317

14.1.1 代码结构 317

14.1.2 代码解析 318

14.2 FlowVisor安装使用 328

14.2.1 软件安装 328

14.2.2 系统配置 328

14.2.3 常用命令 329

14.3 FlowVisor应用实例 330

14.3.1 基于交换机的虚网划分 331

14.3.2 基于传输层的虚网划分 332

14.4 本章小结 335

参考文献 335

第15章 扩展实验工具 336

15.1 功能测试工具OFTest 336

15.1.1 工具简介 336

15.1.2 安装配置 337

15.1.3 应用实例 338

15.2 性能测试工具Cbench 340

15.2.1 工具简介 340

15.2.2 安装配置 341

15.2.3 应用实例 343

15.3 拓扑生成工具VND 345

15.3.1 工具简介 345

15.3.2 应用实例 345

15.4 报文分析工具Wireshark 347

15.4.1 工具简介 347

15.4.2 安装配置 347

15.4.3 应用实例 348

15.5 流量监控工具sFlow 350

15.5.1 工具简介 350

15.5.2 安装配置 351

15.5.3 应用实例 352

15.6 本章小结 354

参考文献 354

第16章 微控制器Miracle开发实践 355

16.1 Miracle简介 355

16.2 Miracle实现详解 356

16.2.1 环境准备 356

16.2.2 网络通信 357

16.2.3 协议解析 361

16.2.4 核心应用 376

16.3 运行Miracle 381

16.4 本章小结 382

参考文献 382

附录A 缩略语 383

附录B SDN资源网站 390

名词索引 391