第1章 引言 1
第2章 集中式与分布式的控制平面和数据平面 9
2.1引言 9
2.2控制平面和数据平面做什么 11
2.2.1控制平面 11
2.2.2数据平面 15
2.2.3在控制平面和数据平面之间传递信息 18
2.2.4为什么控制平面与数据平面分离变得重要 19
2.3分布式控制平面 26
2.3.1 IP和MPLS 27
2.3.2建立IP承载网 28
2.3.3收敛时间 30
2.3.4负载均衡 31
2.3.5高可用性 31
2.3.6建立MPLS叠加 31
2.3.7组播复制 34
2.4集中式控制平面 34
2.4.1逻辑上的集中式与字面含义上的集中式 35
2.4.2 ATM/LANE 36
2.4.3路由服务器 38
2.5小结 41
第3章 OpenFlow 43
3.1引言 43
3.2 OpenFlow线路协议 45
3.2.1复制 49
3.2.2 FAWG(转发抽象工作组,Forwarding Abstraction Workgroup) 49
3.2.3配置和扩充性(Extensibility) 52
3.2.4体系结构 56
3.3混合方案 57
3.3.1午夜行船模型 58
3.3.2双功能交换机 59
3.4小结 62
第4章 SDN控制器 65
4.1引言 65
4.2基本概念 65
4.2.1 VMware的控制器 68
4.2.2 Nicira的控制器 73
4.2.3 VMware/Nicira的控制器 76
4.2.4 OpenFlow相关的控制器 77
4.2.5 Mininet仿真器 78
4.2.6 NOX/POX控制器 80
4.2.7 Trema控制器 81
4.2.8 Ryu控制器 84
4.2.9 Big Switch公司/Floodlight控制器 85
4.3以网络三层为中心的架构 87
4.3.1三层VPN的控制器 88
4.3.2路径计算单元(PCE)服务器 92
4.4 Plexxi公司的控制器 99
4.5 Cisco公司的OnePK控制器 101
4.6小结 103
第5章 网络可编程性 107
5.1引言 107
5.2管理接口 108
5.3应用程序与网络之间的鸿沟 108
5.3.1命令行界面(CLI) 111
5.3.2 NETCONF和NETMOD 113
5.3.3 SNMP 115
5.4现代的编程接口 119
5.4.1发布和订阅接口 120
5.4.2 XMPP 122
5.4.3谷歌公司的Protocol Buffers 124
5.4.4 Thrift 127
5.4.5 JSON 129
5.4.6 I2RS 130
5.5现代的服务编排 133
5.5.1 OpenStack 133
5.5.2 CloudStack 137
5.5.3 Puppet 139
5.6小结 141
第6章 数据中心的概念与结构 143
6.1引言 143
6.2多租户数据中心 146
6.3虚拟化多租户数据中心 149
6.3.1服务编排 152
6.3.2连接租户到互联网/VPN 153
6.3.3虚拟机迁移与弹性 154
6.3.4数据中心互连(DCI) 159
6.3.5关于数据中心分布式计算的谬误 160
6.3.6数据中心分布式计算的陷阱 161
6.4数据中心网络的SDN解决方案 167
6.4.1网络承载层 167
6.4.2叠加网络 178
6.5小结 183
第7章 网络功能虚拟化 185
7.1引言 185
7.2虚拟化与数据平面I/O 186
7.2.1数据平面I/O 188
7.2.2 I/O小结 191
7.3服务工程路径(Service Engineered Path) 191
7.4服务位置与服务链 193
7.4.1元数据 195
7.4.2一种应用层方法 196
7.4.3规模 197
7.5 ETSI NFV 199
7.6非ETSI NFV 203
7.6.1 Middlebox研究 203
7.6.2 Embrane/LineRate 205
7.6.3平台虚拟化 207
7.7小结 211
第8章 网络拓扑结构与拓扑信息抽象 213
8.1引言 213
8.2网络拓扑结构 214
8.3传统方法 216
8.4 LLDP 219
8.5 BGP-TE/LS 222
8.6 ALTO 224
8.7 12RS拓扑 226
8.8小结 228
第9章 构建SDN框架 231
9.1引言 231
9.2先写代码,再问问题 232
9.3瞻博公司的SDN框架 234
9.4 IETF的SDN框架 237
9.4.1 SDN(P) 237
9.4.2 ABNO 239
9.5 OpenDaylight的控制器/框架 240
9.5.1 API 242
9.5.2高可用性和状态存储 243
9.5.3分析 244
9.5.4策略 246
9.6小结 247
第10章 带宽调度、操控和时间规划的用例 249
10.1简介 249
10.2带宽时间规划 252
10.2.1基础拓扑结构以及基本概念 253
10.2.2 OpenFlow和PCE拓扑结构 253
10.2.3配置示例 254
10.2.4 OpenFlow业务开通示例 255
10.2.5控制器增强 256
10.2.6采用PCE配置的叠加网络示例 257
10.2.7深入调研:大举向新领域进军 260
10.3在即时CSPF中使用大数据和应用程序超虚拟化技术 261
10.4扩展拓扑结构 263
10.5小结 264
第11章 数据中心叠加网、大数据和网络功能虚拟化的用例 265
11.1引言 265
11.2数据中心服务编排 265
11.2.1创建租户和虚拟机状态 268
11.2.2转发状态 270
11.2.3数据驱动的学习 271
11.2.4控制平面发信令 272
11.2.5对扩展性和性能的考虑 272
11.3 Puppet (DevOps解决方案) 273
11.4网络功能虚拟化(NFv) 276
11.5优化的大数据 280
11.6小结 284
第12章 输入流量监测、分类及触发操作的用例 285
12.1引言 285
12.2防火墙 285
12.3防火墙即服务 288
12.4网络访问控制的替代方案 290
12.5采用虚拟防火墙来扩充用例 293
12.6反馈与优化 296
12.7入侵检测/威胁缓解 296
12.8小结 298
第13章 最后的思考与结论 299
13.1什么是真正的SDN 299
13.1.1经济学 301
13.1.2 SDN实际上与运行和管理相关 302
13.2 SDN的多种定义 302
13.3人们正在取得进步吗 304
术语表 305
关于封面 307