本书解读了4个层面的內容。1.对SDDCN的背景专业知识开展详细介绍,包括传统式的大数据中心网络和SDN,并对SDDCN的统筹规划开展概括性的详细介绍。2.对SDDCN的典型性的商用、开源计划方案开展实际的剖析,包含技术背景、架构模式及其各计划方案的横着评测。针对一些开源的SDDCN解决方法还会深层次地分析其编码保持。3.从学界的视角来看,对SDDCN未来发展方位开展未来展望。4.对与SDDCN的外加技术开展剖析,如器皿网络和统计数据平面图技术等。
目录
- 技术审校
- 本书赞誉
- 前言
- 第1章 云数据中心网络演进 1
- 1.1 传统的3-Tier架构 1
- 1.2 设备“多虚一”——虚拟机框 2
- 1.2.1 Cisco VSS 2
- 1.2.2 Juniper VC与H3C IRF 4
- 1.3 高级STP欺骗——跨设备链路聚合 4
- 1.3.1 Cisco vPC 4
- 1.3.2 Juniper MC-LAG和Arista M-LAG 6
- 1.4 变革3-Tier——向Leaf-Spine演进 6
- 1.5 初识大二层 9
- 1.6 插叙——虚拟机的接入 10
- 1.6.1 VEB 10
- 1.6.2 Cisco VN-TAG 11
- 1.6.3 VEPA 12
- 1.6.4 VEB性能优化 13
- 1.7 消除STP——Underlay L2MP 14
- 1.7.1 TRILL 15
- 1.7.2 SPB 17
- 1.8 Cisco私有的大二层——FabricPath 19
- 1.8.1 整体设计 19
- 1.8.2 控制与转发过程分析 21
- 1.8.3 其他技术细节 25
- 1.9 Juniper私有的大二层——QFabric 25
- 1.9.1 整体设计 26
- 1.9.2 集中式的控制机制 29
- 1.9.3 控制与转发过程分析 30
- 1.10 Brocade私有的大二层——VCS 32
- 1.10.1 整体设计 33
- 1.10.2 控制与转发过程分析 33
- 1.10.3 其他技术细节 35
- 1.11 跨越数据中心的二层——DCI优化 36
- 1.11.1 Cisco OTV 36
- 1.11.2 HUAWEI EVN与H3C EVI 38
- 1.12 端到端的二层——NVo3的崛起 39
- 1.12.1 VxLAN 39
- 1.12.2 NvGRE 41
- 1.12.3 STT 42
- 1.12.4 Geneve 43
- 1.13 新时代的开启——SDN入场 45
- 1.14 Overlay最新技术——EVPN 46
- 1.14.1 传统网络对SDN的反击 46
- 1.14.2 组网与数据模型 47
- 1.14.3 控制信令的设计 48
- 1.15 Underlay最新技术——Segment Routing 55
- 1.15.1 SID与Label 56
- 1.15.2 控制与转发机制 57
- 1.15.3 SDN 2.0? 60
- 1.16 本章小结 62
- 第2章 杂谈SDN 63
- 2.1 SDN与传统网络——新概念下的老问题 63
- 2.2 转控分离——白盒的曙光 66
- 2.2.1 芯片级开放 68
- 2.2.2 操作系统级开放 71
- 2.2.3 应用级开放 75
- 2.2.4 机箱级开放 76
- 2.2.5 白盒的“通”与“痛” 77
- 2.3 网络可编程——百家争鸣 78
- 2.3.1 芯片可编程 78
- 2.3.2 FIB可编程 80
- 2.3.3 RIB可编程 83
- 2.3.4 设备配置可编程 85
- 2.3.5 设备OS和控制器可编程 88
- 2.3.6 业务可编程 88
- 2.4 集中式控制——与分布式的哲学之争 89
- 2.4.1 在功能上找到平衡点 90
- 2.4.2 在扩展性和可用性上找到平衡点 91
- 2.5 回归软件本源——从N到D再到S 94
- 2.5.1 模块管理 94
- 2.5.2 模块间通信 95
- 2.5.3 接口协议适配 96
- 2.5.4 数据库 97
- 2.5.5 集群与分布式 98
- 2.5.6 容器与微服务 99
- 2.6 本章小结 100
- 第3章 SDDCN概述 101
- 3.1 需求 101
- 3.1.1 自动化与集中式控制 101
- 3.1.2 应用感知 103
- 3.2 整体架构 105
- 3.2.1 实现形态 105
- 3.2.2 功能设计 107
- 3.3 关键技术 107
- 3.3.1 网络边缘 107
- 3.3.2 网络传输 110
- 3.3.3 服务链 112
- 3.3.4 可视化 115
- 3.3.5 安全 117
- 3.3.6 高可用 120
- 3.4 本章小结 122
- 第4章 商用SDDCN解决方案 123
- 4.1 VMware NSX 123
- 4.1.1 从NVP到NSX 124
- 4.1.2 NVP控制平面设计 125
- 4.1.3 NVP数据平面设计 125
- 4.1.4 NVP转发过程分析 126
- 4.1.5 NSX-V整体架构 128
- 4.1.6 NSX-V管理平面设计 129
- 4.1.7 NSX-V控制平面设计 130
- 4.1.8 NSX-V数据平面设计 132
- 4.1.9 NSX-V转发过程分析 132
- 4.1.10 NSX-MH与NSX-T 139
- 4.2 Cisco ACI 140
- 4.2.1 整体架构 141
- 4.2.2 管理与控制平面设计 142
- 4.2.3 数据平面设计 145
- 4.2.4 转发过程分析 152
- 4.2.5 议ACI与SDN 154
- 4.3 Cisco VTS 155
- 4.3.1 整体架构 156
- 4.3.2 管理与控制平面设计 158
- 4.3.3 数据平面设计 159
- 4.4 Juniper Contrail 162
- 4.4.1 整体架构 164
- 4.4.2 管理与控制平面设计 167
- 4.4.3 数据平面设计 173
- 4.4.4 转发过程分析 175
- 4.5 Nuage VCS 176
- 4.5.1 整体架构 178
- 4.5.2 管理平面设计 179
- 4.5.3 控制平面设计 179
- 4.5.4 数据平面设计 180
- 4.6 Arista EOS与CloudVison 181
- 4.6.1 整体架构 183
- 4.6.2 管理与控制平面设计 185
- 4.6.3 数据平面设计 187
- 4.7 HUAWEI AC-DCN 187
- 4.7.1 整体架构 187
- 4.7.2 管理平面设计 189
- 4.7.3 控制平面设计 189
- 4.7.4 数据平面设计 193
- 4.8 Bigswitch BCF与BMF 194
- 4.8.1 整体架构 195
- 4.8.2 BCF控制平面设计 196
- 4.8.3 BMF控制平面设计 201
- 4.8.4 数据平面设计 205
- 4.9 Midokura Midonet 207
- 4.9.1 整体架构 207
- 4.9.2 控制平面设计 210
- 4.9.3 数据平面设计 213
- 4.10 PLUMgrid ONS 217
- 4.10.1 整体架构 217
- 4.10.2 数据平面设计 219
- 4.10.3 控制平面设计 221
- 4.10.4 转发过程分析 222
- 4.11 Plexxi Switch与Control 225
- 4.11.1 整体架构 225
- 4.11.2 数据平面设计 227
- 4.11.3 控制平面设计 229
- 4.12 Pluribus 230
- 4.12.1 Server Switch设计 231
- 4.12.2 Netvisor设计 232
- 4.12.3 再议数据中心SDN 235
- 4.13 本章小结 236
- 第5章 开源SDDCN:OpenStack Neutron的设计与实现 237
- 5.1 网络基础 237
- 5.1.1 网络结构与网络类型 238
- 5.1.2 VLAN网络类型中流量的处理 239
- 5.2 软件架构 242
- 5.2.1 分布式组件 242
- 5.2.2 Core Plugin与Service Plugin 243
- 5.3 WSGI与RPC的实现 245
- 5.3.1 Neutron Server的WSGI 245
- 5.3.2 Neutron Plugin与Neutron Agent间的RPC 247
- 5.4 虚拟机启动过程中网络的相关实现 248
- 5.4.1 虚拟机的启动流程 248
- 5.4.2 Nova请求Port资源 250
- 5.4.3 Neutron生成Port资源 250
- 5.4.4 Neutron将Port相关信息通知给DHCP Agent 252
- 5.4.5 DHCP Agent将Port相关信息通知给DHCP Server 252
- 5.4.6 Nova拉起虚拟机并通过相应的Port接入网络 252
- 5.5 OVS Agent的实现 253
- 5.5.1 网桥的初始化 253
- 5.5.2 使能RPC 255
- 5.6 OVS Agent对Overlay L2的处理 256
- 5.6.1 标准转发机制 256
- 5.6.2 arp_responder 258
- 5.6.3 l2_population 260
- 5.7 OVS Agent对Overlay L3的处理 261
- 5.7.1 标准转发机制 261
- 5.7.2 DVR对东西向流量的处理 262
- 5.7.3 DVR对南北向流量的处理 267
- 5.8 Security-Group与FWaaS 268
- 5.8.1 Neutron-Security-Group 268
- 5.8.2 FWaaS v1 269
- 5.8.3 FWaaS v2 269
- 5.9 LBaaS 270
- 5.9.1 LBaaS v1 270
- 5.9.2 LBaaS v2 271
- 5.9.3 Octavia 271
- 5.10 TaaS 272
- 5.11 SFC 274
- 5.12 L2-Gateway 275
- 5.13 Dynamic Routing 277
- 5.14 VPNaaS 279
- 5.15 Networking-BGPVPN与BagPipe 280
- 5.15.1 Networking-BGPVPN 280
- 5.15.2 BagPipe 280
- 5.16 DragonFlow 282
- 5.17 OVN 287
- 5.18 本章小结 290
- 第6章 开源SDDCN:OpenDaylight相关项目的设计与实现 291
- 6.1 架构分析 291
- 6.1.1 AD-SAL架构 292
- 6.1.2 MD-SAL架构 293
- 6.1.3 YANG和YANG-Tools 294
- 6.1.4 MD-SAL的内部设计 294
- 6.1.5 MD-SAL的集群机制 296
- 6.1.6 其他 298
- 6.2 OpenFlow的示例实现 298
- 6.2.1 OF交换机的上线 299
- 6.2.2 l2switch获得PacketIn 301
- 6.2.3 l2switch下发PacketOut和FlowMod 302
- 6.3 OpenStack Networking-ODL 303
- 6.3.1 v1 303
- 6.3.2 v2 304
- 6.4 Neutron-Northbound的实现 306
- 6.4.1 对接Networking-ODL 306
- 6.4.2 RESTful请求的处理示例 306
- 6.5 Netvirt简介 307
- 6.5.1 OVSDB-Netvirt和VPNService的合并 307
- 6.5.2 Genius 309
- 6.6 Netvirt-OVSDB-Neutron的实现 311
- 6.6.1 net-virt分支 311
- 6.6.2 net-virt-providers分支 317
- 6.7 Netvirt-VPNService的实现 321
- 6.7.1 elanmanager 323
- 6.7.2 vpnmanager 326
- 6.8 SFC的实现 328
- 6.8.1 sfc-openflow-renderer分支 328
- 6.8.2 sfc-scf-openflow分支 335
- 6.9 VTN Manager的实现 336
- 6.9.1 neutron分支 337
- 6.9.2 implementation分支 339
- 6.10 本章小结 342
- 第7章 开源SDDCN:ONOS相关项目的设计与实现 343
- 7.1 架构分析 343
- 7.1.1 分层架构 344
- 7.1.2 分层架构的实现 345
- 7.1.3 模块的开发 347
- 7.1.4 分层架构存在的问题 347
- 7.1.5 数据存储与集群 348
- 7.1.6 其他 349
- 7.2 OpenFlow的示例实现 349
- 7.2.1 OF交换机的上线 350
- 7.2.2 fwd获得PacketIn 352
- 7.2.3 fwd下发PacketOut和FlowMod 356
- 7.3 ONOSFW的实现 359
- 7.3.1 vtnmgr分支 359
- 7.3.2 sfcmgr分支 363
- 7.4 SONA的实现 365
- 7.4.1 openstacknode分支 366
- 7.4.2 openstacknetworking分支 368
- 7.5 CORD简介 371
- 7.5.1 R-CORD的架构 372
- 7.5.2 R-CORD的控制与转发机制 373
- 7.6 本章小结 376
- 第8章 学术界相关研究 377
- 8.1 拓扑 377
- 8.1.1 FatTree 377
- 8.1.2 VL2 379
- 8.1.3 DCell 380
- 8.1.4 FiConn 382
- 8.1.5 BCube 384
- 8.1.6 MDCube 385
- 8.1.7 CamCube 387
- 8.2 路由 388
- 8.2.1 Seattle 388
- 8.2.2 FatTree 391
- 8.2.3 VL2 393
- 8.2.4 PortLand 396
- 8.2.5 SecondNet 400
- 8.2.6 SiBF 401
- 8.2.7 SPAIN 402
- 8.2.8 WCMP 404
- 8.2.9 OF-based DLB 406
- 8.2.10 Flowlet与CONGA 406
- 8.2.11 Hedera 408
- 8.2.12 DevoFlow 409
- 8.2.13 MicroTE 409
- 8.2.14 Mahout 410
- 8.2.15 F10 410
- 8.2.16 DDC 411
- 8.2.17 SlickFlow 412
- 8.2.18 COXCast 413
- 8.2.19 Avalanche 415
- 8.3 虚拟化 416
- 8.3.1 NetLord 416
- 8.3.2 FlowN 418
- 8.3.3 FlowVisor 420
- 8.3.4 ADVisor 421
- 8.3.5 VeRTIGO 423
- 8.3.6 OpenVirteX 424
- 8.3.7 CoVisor 426
- 8.4 服务链 427
- 8.4.1 pSwitch 427
- 8.4.2 FlowTags 428
- 8.4.3 Simple 430
- 8.4.4 StEERING 432
- 8.4.5 OpenSCaaS 434
- 8.4.6 SPFRI 435
- 8.5 服务质量 437
- 8.5.1 NetShare 437
- 8.5.2 Seawall 438
- 8.5.3 GateKeeper 439
- 8.5.4 El