軟件定義網絡(SDN)實戰教程
尚鳳軍
相關主題
商品描述
本書分為兩篇,基礎篇、應用篇和實踐篇。基礎篇內容包括:第1章 概述,第2章 SDN基本原理,第3章 SDN數據平面,第4章 南向接口協議,第5章 SDN控制平面,第6章 SDN北向接口。應用篇內容包括:第7章 SDN在數據中心的應用,第8章 SDN在園區網的應用,第9章 SDN在廣域網的應用SD-WAN。實踐篇:第10章 SDN實驗環境部署,第11章 SDN基礎操作與應用實驗,第12章 OpenDayLight概述,第13章 SDN OpenFlow協議,第14章 軟件下載與安裝,第15章 開源控制器實踐。
作者簡介
尚凤军,男,博士/教授。发表论文40余篇,SCI、EI、ISTP检索10余篇。 研究方向 ①移动IPv6关键技术研究 ②网络流量测量研究 ③无线传感网络研究 获奖情况 2003-2004 重庆邮电学院优秀青年教师 2004-2006 重庆邮电学院责任教师 参加项目 1.重庆邮电大学博士启动基金项目:移动IPv6管理方案研究 负责(2006-2008) 2.重庆邮电大学《微机原理与接口技术》校级重点课程建设 负责(2004-2007) 3.重庆邮电学院青年教师基金项目:用VHDL仿真IP数据包分类算法 负责(2003-2004) 4.重庆市科技攻关项目:高速网络业务量测量系统 参加(2002-2004) 5.重庆市自然科学基金项目:入侵检测系统中数据包快速匹配算法的研究 参加 (2004-2005)
目錄大綱
基礎篇
第 1 章 概述........................................1
1.1 SDN 的產生............................................... 1
1.1.1 傳統網絡概述.....................................2
1.1.2 傳統網絡存在的問題......................... 2
1.1.3 SDN 應運而生....................................2
1.2 SDN 的發展............................................... 3
1.2.1 發展歷程.............................................3
1.2.2 研究與應用現狀.................................4
1.3 SDN 標準化組織....................................... 6
1.3.1 ONF .....................................................6
1.3.2 IETF .................................................... 6
1.3.3 ITU-T .................................................. 6
1.3.4 ETSI .................................................... 7
第 2 章 SDN 基本原理...................... 8
2.1 SDN 的概念............................................... 8
2.1.1 SDN 的定義........................................8
2.1.2 SDN 的特徵........................................8
2.2 SDN 的體系架構....................................... 9
2.2.1 ONF 定義的 SDN 架構.................... 10
2.2.2 IETF 定義的 SDN 架構....................11
2.2.3 Overlay 網絡架構............................. 12
2.3 SDN 工作原理......................................... 12
2.3.1 控制平面與數據平面的解耦........... 12
2.3.2 網絡能力的抽象...............................13
2.3.3 網絡可編程.......................................13
第 3 章 SDN 數據平面.................... 16
3.1 數據平面概述.......................................... 16
3.1.1 傳統網絡數據平面........................... 16
3.1.2 SDN 數據平面..................................18
3.2 OpenFlow 交換機模型.............................19
3.2.1 OpenFlow 概述................................. 19
3.2.2 OpenFlow 交換機功能架構............. 20
3.2.3 流表...................................................23
3.2.4 組表...................................................28
3.2.5 計量表...............................................32
3.2.6 流表匹配...........................................33
3.3 SDN 交換機............................................. 35
3.3.1 交換芯片概述...................................35
3.3.2 交換芯片產品...................................36
3.3.3 SDN 硬件交換機產品...................... 39
3.3.4 SDN 軟件交換機產品...................... 41
3.4 通用可編程數據平面.............................. 45
3.4.1 協議無關交換機架構....................... 45
3.4.2 數據平面編程語言........................... 46
第 4 章 南向接口協議......................47
4.1 南向接口協議概述.................................. 47
4.2 OpenFlow 協議........................................ 48
4.2.1 背景...................................................48
4.2.2 OpenFlow 組件................................. 49
4.2.3 OpenFlow 表項................................. 50
4.2.4 OpenFlow 安全通道......................... 53
4.2.5 OpenFlow 通道建立......................... 53
4.2.6 OpenFlow 消息處理......................... 55
4.3 OF-CONFIG 協議.................................... 57
4.3.1 簡介...................................................57
4.3.2 原理...................................................57
4.4 NETCONF 協議.......................................59
4.4.1 簡介...................................................59
4.4.2 NETCONF 基本網絡架構................60
4.4.3 NETCONF 基本會話建立過程........60
4.4.4 NETCONF 協議框架........................61
4.4.5 NETCONF 報文結構........................62
4.4.6 NETCONF 通信模式........................62
4.4.7 配置數據庫.......................................62
4.5 OVSDB 管理協議....................................63
4.5.1 OVSDB 管理協議基本概念.............63
4.5.2 OVSDB 與 OVS、控制器................64
4.5.3 OVSDB 與 JSON..............................64
4.5.4 OVSDB 數據模式............................ 65
4.5.5 OVSDB 整體架構............................ 65
4.5.6 OVSDB RPC 方法............................66
4.5.7 OVSDB 操作.................................... 67
4.6 其他南向接口協議.................................. 67
4.6.1 XMPP ................................................67
4.6.2 PCEP ................................................. 68
4.6.3 I2S ..................................................... 69
4.6.4 OpFlex ...............................................69
第 5 章 SDN 控制平面.................... 71
5.1 SDN 控制器概述..................................... 71
5.1.1 SDN 控制器體系架構...................... 71
5.1.2 SDN 控制器的基礎功能.................. 73
5.1.3 SDN 控制器的擴展.......................... 75
5.1.4 SDN 控制器的評估要素.................. 76
5.2 開源控制器.............................................. 78
5.2.1 NOX/POX......................................... 78
5.2.2 Ryu .................................................... 79
5.2.3 Floodlight .......................................... 81
5.2.4 OpenDaylight .................................... 82
5.2.5 ONOS ................................................84
5.3 商用控制器.............................................. 85
5.3.1 Cisco XNC........................................ 86
5.3.2 VMware 的 NSX-T 控制器.............. 87
5.4 基於控制器的編程.................................. 88
5.4.1 基於 POX 編程.................................89
5.4.2 基於 Ryu 編程.................................. 90
第 6 章 SDN 北向接口.................... 92
6.1 北向接口概述.......................................... 92
6.1.1 ONF 北向接口..................................92
6.1.2 SDN 其他北向接口.......................... 94
6.1.3 SDN 北向接口的前景...................... 95
6.2 REST API ................................................. 96
6.2.1 什麽是 REST API ............................. 96
6.2.2 REST API 的設計規範..................... 96
6.2.3 開源控制器的 REST API ................. 97
6.3 RESTCONF 協議...................................106
6.3.1 RESTCONF 概述............................106
6.3.2 資源模型.........................................107
6.3.3 消息.................................................107
6.3.4 操作.................................................109
應用篇
第 7 章 SDN 在數據中心的
應用................................... 111
7.1 軟件定義的數據中心網絡技術.............111
7.1.1 傳統行業數據中心發展面臨數據
架構瓶頸......................................... 112
7.1.2 基於 SDN 的雲數據中心網絡
架構.................................................112
7.1.3 數據中心的葉脊組網架構............. 113
7.1.4 數據中心的 Overlay 網絡.............. 117
7.2 校園網數據中心網絡 SDN 規劃
應用........................................................ 119
7.2.1 數據中心網絡 SDN 總體設計....... 119
7.2.2 數據中心 SDN 整體部署............... 120
7.3 面向數據中心網絡的 SDN 控制器
設計........................................................123
7.3.1 控制器功能設計.............................123
7.3.2 控制器系統架構.............................123
7.4 多粒度安全控制器架構........................ 124
7.4.1 控制器安全問題.............................124
7.4.2 流表安全問題.................................125
7.4.3 應用安全問題.................................125
7.4.4 南向接口安全問題......................... 125
7.4.5 安全解決方案.................................126
7.4.6 整體架構.........................................127
7.4.7 模塊設計.........................................128
7.4.8 運行機制.........................................128
7.4.9 粒計算理論.....................................130
7.4.10 安全服務粒化...............................130
7.4.11 多粒度安全服務模型................... 131
7.4.12 測試...............................................132
7.4.13 總結...............................................136
第 8 章 SDN 在園區網的應用......137
8.1 軟件定義的園區網技術........................ 137
8.1.1 傳統園區網面臨的挑戰................. 137
8.1.2 智慧園區網中 SDN 技術的應用
場景.................................................138
8.2 基於 SDN 的工業互聯網設計...............139
8.2.1 工業互聯網系統軟件結構設計..... 139
8.2.2 基於 SDN 的工業互聯網系統軟件
結構.................................................139
8.2.3 面向 SDN 交換機的南向接口....... 140
8.2.4 邏輯網管理模塊.............................141
8.2.5 標簽管理模塊.................................143
8.3 基於負載感知的分佈式控制器負載均衡
模型........................................................143
8.3.1 負載信息感知和負載狀態判定..... 146
8.3.2 基於負載感知的負載均衡算法..... 148
8.3.3 分佈式控制器負載均衡模型的運行
流程.................................................152
8.3.4 模擬實驗與分析.............................153
8.3.5 總結.................................................156
第 9 章 SDN 在廣域網的應用
SD-WAN .......................... 157
9.1 SD-WAN 技術........................................157
9.1.1 傳統 WAN 架構面臨的挑戰.......... 157
9.1.2 SD-WAN 的價值............................ 158
9.1.3 SD-WAN 基礎架構........................ 158
9.2 SD-WAN 自動化運維可視化系統
設計........................................................ 159
9.2.1 數據可視化模塊.............................159
9.2.2 用戶管理模塊.................................160
9.2.3 數據傳輸模塊.................................160
9.2.4 數據處理模塊.................................161
9.2.5 數據提取模塊.................................161
實踐篇
第 10 章 SDN 實驗環境部署........162
10.1 Ubuntu 下安裝和運行 Mininet ............162
10.1.1 主要命令介紹...............................162
10.1.2 實驗目的.......................................162
10.1.3 實驗步驟.......................................162
10.2 Ubuntu 下安裝和運行 Ryu 控制器..... 166
10.2.1 主要命令介紹...............................166
10.2.2 實驗目的.......................................166
10.2.3 實驗步驟.......................................166
10.3 Ubuntu 下安裝 Wireshark .................... 168
10.3.1 主要命令介紹...............................168
10.3.2 實驗目的.......................................168
10.3.3 實驗步驟.......................................169
10.4 Ubuntu 下安裝 PuTTY........................ 169
10.4.1 主要命令介紹...............................169
10.4.2 實驗目的.......................................170
10.4.3 實驗步驟.......................................170
第 11 章 SDN 基礎操作與應用
實驗................................. 172
11.1 Mininet 的基礎操作實驗..................... 172
11.1.1 實驗目的....................................... 172
11.1.2 實驗步驟....................................... 172
11.2 Mininet 創建網絡拓撲實驗................. 173
11.2.1 主要命令介紹............................... 173
11.2.2 實驗目的....................................... 173
11.2.3 實驗步驟....................................... 173
11.3 通過 Mininet 驗證 OpenFlow 版本和交換
機工作流程...........................................177
11.3.1 主要命令介紹............................... 177
11.3.2 實驗目的....................................... 178
11.3.3 實驗內容....................................... 178
11.4 Wireshark 抓包分析 OpenFlow 協議工作
流程.......................................................181
11.4.1 主要命令介紹............................... 181
11.4.2 實驗目的....................................... 181
11.4.3 實驗步驟....................................... 181
第 12 章 OpenDaylight 實驗........185
12.1 OpenDaylight ........................................185
12.1.1 SDN...............................................185
12.1.2 OpenDaylight 架構....................... 186
12.1.3 OpenDaylight 設計原則............... 186
12.1.4 OpenDaylight 架構特點............... 187
12.2 OpenDaylight 控制器的環境搭建以及基
本操作.................................................. 187
12.2.1 主要命令介紹...............................187
12.2.2 實驗目的.......................................187
12.2.3 實驗步驟.......................................187
12.3 OpenDaylight 及 Postman 實現流表
下發...................................................... 194
12.3.1 主要命令介紹...............................194
12.3.2 實驗目的.......................................195
12.3.3 實驗步驟.......................................195
12.4 OpenDaylight 之流表操作...................200
12.4.1 主要命令介紹...............................200
12.4.2 實驗目的.......................................200
12.4.3 實驗步驟.......................................201
第 13 章 SDN OpenFlow 協議.... 211
13.1 OpenFlow 概述.....................................211
13.2 OpenFlow 工作原理.............................211
13.2.1 主要命令介紹............................... 211
13.2.2 實驗目的....................................... 211
13.2.3 實驗步驟.......................................212
13.3 OpenFlow 流表的基本操作.................213
13.3.1 主要命令介紹...............................213
13.3.2 實驗目的.......................................213
13.3.3 實驗步驟.......................................213
第 14 章 軟件下載與安裝............. 219
14.1 VMware Workstation 和 Ubuntu 的
安裝...................................................... 220
14.1.1 實驗目的.......................................220
14.1.2 實驗步驟.......................................220
14.2 Mininet 和 Ryu 環境搭建.................... 227
14.2.1 主要命令介紹...............................227
14.2.2 實驗目的.......................................227
14.2.3 實驗步驟.......................................228
14.3 實驗思考.............................................. 235
第 15 章 開源控制器實踐............. 236
15.1 開源控制器實踐——POX...................236
15.1.1 主要命令介紹...............................236
15.1.2 POX 控制器介紹.......................... 236
15.1.3 實驗目的.......................................236
15.1.4 實驗步驟.......................................237
15.2 開源控制器實踐——Ryu .................... 244
15.2.1 主要命令介紹...............................244
15.2.2 Ryu 控制器介紹............................244
15.2.3 實驗目的.......................................245
15.2.4 實驗步驟.......................................245