重構網絡:SDN 架構與實現
內容描述
身處SDN發展浪潮,筆者真切地感受到了這場技術革命的到來。為了自我總結,也為了幫助他人,因此決定寫這本書。 本書首先介紹了SDN的定義、SDN出現的原因、SDN發展的歷史和標志性事件、SDN南向協議、SDN控制平面和數據平面等理論知識。然後進一步介紹瞭如何從零開始搭建SDN實驗環境及SDN與網絡虛擬化的結合等SDN應用案例內容。最後梳理了SDN對學術界和工業界產生的影響,探討了我們該如何應對這場SDN變革。此外,附錄中兩篇擬人化的故事還從感性的角度對SDN進行了介紹。 本書適合SDN初學者和進階者。希望本書的內容能夠給讀者帶來一些幫助,成為SDN學習者相互討論、學習的舞臺。
目錄大綱
第1章SDN重塑網絡.......................................... ............................................... 1
1.1 SDN是什麼................................................ .................................................. .... 1
1.2為什麼需要SDN ......................................... .................................................. ... 4
1.3網絡可編程探索之路....................................... ................................................ 6
1.4 SDN發展歷史............................................... ................................................. 10
1.5 SDN重塑網絡............................................. .................................................. . 15
1.6本章小結............................................. .................................................. .......... 16
參考資料..................................... .................................................. ........................... 16
第2章SDN南向協議.... .................................................. ................................. 21
2.1 SDN南向協議簡介.......... .................................................. ............................ 21
2.2狹義SDN南向協議............... .................................................. ...................... 23
2.3廣義SDN南向協議..................... .................................................. ................ 30
2.3.1 OF-Config ........................... .................................................. ............... 31
2.3.2 OVSDB .............................. .................................................. ................ 34
2.3.3 NETCONF ............................. .................................................. ............ 36
2.3.4 OpFlex................................. .................................................. ............... 38
2.3.5 XMPP .............................. .................................................. ................... 39
2.3 .6 PCEP ............................................... .................................................. ... 40
2.4完全可編程南向協議....................................... .............................................. 41
2.4.1 POF ................................................. .................................................. ... 41
2.4.2 P4 .......................................... .................................................. ............. 46
2.5 SDN南向協議標準之戰............................ .................................................. .. 53
2.6本章小結............................................ .................................................. ........... 55
參考資料.................................... .................................................. ............................ 55
第3章SDN控制平面............... .................................................. ...................... 57
3.1 SDN控制平面簡介...................... ...... .................................................. .......... 57
3.2 SDN開源控制器.................................. .................................................. ........ 59
3.2.1 NOX/POX ................................... .................................................. ....... 59
3.2.2 Ryu ...................................... .................................................. ............... 63
3.2.3 Floodlight .............................. .................................................. ............. 68
3.2.4 OpenDaylight ................................ .................................................. ..... 72
3.2.5 ONOS ........................................ .................................................. ......... 78
3.3選擇SDN控制器................................... .................................................. ...... 85
3.3.1評價控制器的要素................................... ........................................... 85
3.3.2選擇正確的控 制器................................................ .............................. 89
3.4 SDN控制平面發展趨勢............. .................................................. ................. 91
3.5本章小結............................. .................................................. .......................... 96
參考資料..................... .................................................. ........................................... 97
第4章SDN數據平面.................................................. ..................................... 99
4.1 SDN數據平面簡介....... .................................................. ............................... 99
4.2通用可編程轉發模型............ .................................................. ..................... 101
4.2.1通用硬件模型...................... .................................................. ............ 103
4.2.2通用處理指令............................... ........................... .......................... 112
4.2.3小結................... .................................................. .............................. 115
4.3探索通用可編程數據平面............ .................................................. ............. 116
4.4 SDN數據平面的發展趨勢............................. ............................................. 120
4.4.1發展歷史................................................. ........................................... 120
4.4.2白盒交換機.................................................. ...................................... 123
4.5本章小結........ .................................................. ............................................. 125
參考資料.. .................................................. .................................................. .......... 126
第5章從零開始實踐................................ .................................................. .... 129
5.1 Mininet實踐.......... .................................................. ..................................... 129
5.1.1 Mininet簡介....... .................................................. ............................. 130
5.1.2 Mininet系統架構.............. .................................................. .............. 130
5.1.3 Mininet安裝.............................. .................................................. ...... 132
5.1.4 Mininet示例...................................... ................................................ 134
5.2 Open vSwitch實踐............................................... ........................................ 140
5.2.1 OVS簡介.... .................................................. ..................................... 141
5.2.2 OVS架構....... .................................................. .................................. 141
5.2.3 OVS安裝.......... .................................................. ............................... 142
5.2.4 OVS示例........ .................................................. ................................. 144
5.3 Ryu實踐............. .................................................. ........................................ 150
5.3.1 Ryu簡介.... .................................................. ...................................... 150
5.3.2 Ryu架構...... .................................................. .................................... 151
5.3.3 Ryu安裝........ .................................................. .................................. 152
5.3.4 Ryu示例.......... .................................................. ................................ 153
5.4網絡虛擬化平台實踐........... .................................................. ...................... 162
5.4.1 OpenVirteX簡介...................... .................................................. ....... 162
5.4.2 OpenVirteX架構..................................... .......................................... 163
5.4.3 OpenVi rteX安裝................................................ ............................... 164
5.4.4 OpenVirteX示例............. .................................................. ................ 165
5.4.5其他網絡虛擬化產品......................... ............................................... 170
5.5其他工具................................................. .................................................. .... 170
5.5.1 Cbench簡介........................................ .............................................. 171
5.5.2 OFTest簡介................................................ ....................................... 173
5.5.3 Wireshark簡介..... .................................................. ........................... 174
5.5.4發包工具簡介................ .................................................. .................. 175
5.6本章小結............................ .................................................. ......................... 177
參 考資料................................................ .................................................. .............. 177
第6章SDN應用案例............................. .................................................. ...... 179
6.1 SDN在數據中心網絡的應用................................... ................................... 179
6.1.1面臨的問題........ .................................................. .............................. 179
6.1.2現有商業方案............ .................................................. ...................... 181
6.2 SDN在WAN中的應用.................... .................................................. ......... 187
6.2.1面臨的問題.................................. .................................................. .... 187
6.2.2現有商業方案...................................... .............................................. 189
6.3其他領域的應用................................................ ............... ............................ 192
6.3.1 SDN在園區網中的應用........... .................................................. ...... 193
6.3.2 SDN在局域網中的應用.................................. ................................. 195
6.3.3 SDN在蜂窩網絡中的應用...... .................................................. ....... 195
6.4本章小結....................................... .................................................. .............. 197
參考資料................................. .................................................. ............................. 197
第7章SDN與網絡虛擬化............ .................................................. ................ 200
7.1網絡虛擬化............................. .................................................. .................... 200
7.1.1為什麼需要虛擬化技術..................... ............................................... 201
7.1. 2網絡虛擬化...................................... .................................................. 203
7.2 SDN與網絡虛擬化........................................... ........................................... 208
7.2.1 SDN與網絡虛擬化................................................ ........................... 208
7.2.2 SDN實現網絡虛擬化.............. .................................................. ....... 209
7.3網絡虛擬化產品..................................... .................................................. .... 213
7.3.1開源產品........................................ .................................................. .. 214
7.3.2商業產品.......................................... .................................................. 220
7.4未來研究方向............................................. .................................................. 223
7.5本章小結.............................................. .................................................. ....... 225
參考資料........ .................................................. .................................................. .... 225
第8章SDN浪潮........................................ .................................................. .. 227
8.1 SDN對學術界的影響........................................ .......................................... 227
8.2 SDN對工業界的影響.................................................. ................................ 231
8.3如何應對SDN的變革........... .................................................. .................... 234
8.4 SDN浪潮.......................... .................................................. .......................... 238
8.5本章小結.................... .................................................. ................................. 238
參考資料.............. .................................................. ................................................ 239
附錄A我是一個SDN控制器................................ .......................................... 243
附錄B我是一個SDN交換機.................................................. ........................ 250
作者介紹
楊澤衛——《零存整取NetFPGA開髮指南》和《深入理解計算機網絡系統設計》作者,SDN初創公司南京疊鍶聯合創始人,曾任中興微電子高級主任工程師,有豐富的SDN行業和產品經驗。
李呈—— 北京郵電大學未來網絡理論與應用實驗室在讀研究生。學習SDN三年多,掌握SDN基礎理論知識。目前在矽谷實習。