軟件定義網絡(SDN)是一種新型網絡架構,旨在幫助網絡適應快速變化的業務需求。本書全面介紹了SDN的基本概念、原理和商業應用。全書共15 章,從多個方面闡釋了SDN,從SDN 的由來和歷史沿革,到SDN技術的*發展情況和未來走向,全面分析了SDN 和OpenFlow 的技術原理,分析了SDN 的開源代碼及相關資源,并探討了SDN 的應用場景、商業發展及其局限性,是一本視野廣闊的SDN 參考手冊。第二版新增了網絡功能虛擬化(NFV)以及新興的協議、控制器和應用模型兩章,并更新了部分技術知識。
本書從多個角度闡釋軟件定義網絡技術,利用充足的實例展示SDN技術全貌;
采用先整體、后局部,先宏觀、后微觀的闡述方式,深度揭示了軟件定義網絡的宏大家族及相關技術的嬗變史,從歷史、發展、應用、未來、生態鏈、周邊產業等多個角度剖析軟件定義網絡。0
譯 者 序
我們非常高興有機會向廣大讀者推薦本書。
軟件定義網絡是近年來網絡發展的一個重點方向,它與大數據、云計算一起吸引了眾多科技工作者、管理者和廣大用戶的注意力。鋪天蓋地的宣傳與產品已經在市場上涌現,但對于大多數讀者來說,存在到底什么是軟件定義網絡?軟件定義網絡到底好在哪里?軟件定義網絡是否適合我?的疑問。本書以通俗易懂的語言、涵蓋廣泛的圖表,全面、深入、準確地解答了上述問題。
今天,在互聯網上充斥著各種有關軟件定義網絡的信息,包括各種形式的博客、播客、微博,等等。然而,正如讀者將在本書里看到的那樣,軟件定義網絡這個名詞下面實際上囊括了多種完全不同的技術、體制以及具體的實現系統,大部分針對軟件定義網絡的介紹都只是討論了這些技術的一部分,并且由于觀察角度和觀察對象的不同,難免以偏概全,這也是很多專業人士對軟件定義網絡的觀點大相徑庭的原因。市面上關于軟件定義網絡的書也有不少,但從整體看,有的書側重描述協議細節,對于技術的整體缺乏闡述,只見樹木不見森林;有的又過于宏觀,缺乏細節。本書作者Paul G?ransson博士和Chuck Black先生憑借他們多年浸淫在軟件定義網絡里的工程和實踐經驗,站在相對公正的,或者說更貼近SDN起源意圖的立場上,采用先整體、后局部,先宏觀、后微觀的闡述方式,深度揭示了軟件定義網絡的宏大家族及相關技術的嬗變史,從歷史、發展、應用、未來、生態鏈、周邊產業等多個角度剖析了軟件定義網絡。清晰準確地告訴你軟件定義網絡是什么,不是什么,它能幫你跳入軟件定義網絡這一浩瀚的海洋,同時又能避開迷思的漩渦。
本書宏觀與微觀兼具,樹木與森林并覽,讀此書,你會驚訝于作者從如此多的視角來觀察一項技術,給讀者提供了充足的實例來認識一項技術的全貌。如果你是軟件定義網絡相關領域的用戶或工程師,讀此書也許可以解答困擾了你很長時間的疑惑,而針對這個疑惑你曾經從不同專家那里得到的卻是完全相反的答案。讀此書你會明白,這些答案只不過是從不同角度看問題的結果。
任何對網絡和軟件定義網絡感興趣的讀者,都能無障礙地理解本書的內容,包括本科生和研究生、網絡專業人員和IT經理、已有的和潛在的軟件定義網絡用戶。本書內容包容性很強,不需要廣泛的網絡知識就能讓讀者充分了解其價值。本書通過對網絡發展史的簡介及其技術的描述,再加上對引發OpenFlow和軟件定義網絡行業全景的描繪,為讀者提供了豐富的背景知識。如果你是一位網絡架構師或IT經理,你經常會在市面上發現多種解決方案,它們的名字都是軟件定義網絡,但是其細節卻大相徑庭,閱讀本書可以為你理解和評估市場上各種相互競爭的軟件定義網絡技術手段提供堅實的基礎。
本書內容涵蓋之廣,超出你的想象,甚至包括軟件定義網絡對未來IT職業的影響!作為一個IT從業者,你的職業會受到軟件定義網絡的影響嗎?你應該如何改變自己以適應這個發展大潮?建議你閱讀本書。
限于水平,翻譯不妥和錯誤之處在所難免。敬請廣大讀者批評指正。來信請發至hai_wang@189.cn。
譯 者
序 言
什么是軟件定義網絡?為什么它會成為網絡界炙手可熱的技術?對于一個誕生在五年前的術語來說,這個問題貌似簡單,然而與云計算等其他一些術語一樣,在一些營銷團隊為了達到自己的目的而對這些術語進行多年的重塑之后,已經變得越來越讓人難以琢磨了。更加令人困擾的是新術語的出現,例如開放網絡(open networking)、可編程網絡(programmable network)和軟件驅動網絡(software-driven network)。由此引發很多人的好奇心,他們想知道SDN到底是什么?在其背后是否真的存在炒作?
對于像我們這樣一直以來都在深度關注SDN發展的人來說,要想區分炒作與真相并不困難,我們也能夠透過表象看到問題的本質及其來龍去脈。但是,從日常的授課情況來看,很多想要了解SDN的人正在被圍繞這個話題產生的來自各個方面和各個角度的言論所困擾,這使得他們很難弄清楚真正發生的事情的核心所在。
2010年7月,當我第一次公開談論SDN的核心協議OpenFlow時,幾乎還沒有人聽說過OpenFlow或軟件定義網絡。此后,我不斷向數以千計的學生、網絡工程師和以首席二字打頭的高管們解釋什么是SDN。有些人在傾聽了數分鐘的解釋之后立刻就懂了,此時往往我還沒來得及放映第三張幻燈片,而另一些人則要花費整個全天課程的時間才能明白。比較普遍的現象是,能夠最快理解SDN對行業所具有的潛在影響的人,正是那些網絡界的元老,是那些能回憶起因特網前時代的人,那些實際上構建了這些網絡產品的人,以及能夠理解這些網絡商業價值的人。
這就是為什么Paul和Chuck完全能夠擔當得起解釋SDN所具有的價值的原因。他們都擁有非常豐富的網絡從業經驗,甚至可以追溯到比他們自己愿意承認的更為久遠的時光。他們使用一代又一代的技術建立起各種網絡解決方案。Paul有兩家成功的初創公司,他非常熟悉網絡行業的各項業務工作。對于解釋SDN、定位SDN過去30年來在計算機網絡界中的地位以及預測它在未來幾年對網絡具有的潛在影響來說,如此深厚寬廣的從業經驗絕對是無價之寶。
今天的因特網上并不缺乏有關SDN的信息,包括各種形式的博客、白皮書、播客和視頻。然而,對于那些在過去幾年里沒有跟SDN打過交道而又想要加速趕上的人來說,我還沒有發現有哪一本書能夠像作者在本書中所做到的那樣,從一個不偏不倚的角度來全面詳盡地介紹SDN。
任何讀者只要對網絡和SDN感興趣,都可以輕松理解本書的內容,包括本科生和研究生、網絡專業人員和IT經理。本書內容包容性很強,讀者不需要豐富的網絡知識就能充分認識到SDN的價值。它通過對網絡發展史及其相關技術的簡單介紹,以及對引發OpenFlow和SDN的行業全景的描繪,為讀者提供了豐富的背景知識。如果你是一位網絡架構師或IT經理,并且正
在試圖比較多個都聲稱是基于SDN解決方案但又似乎是完全不同的技術時,本書可以幫助你理解和評估市場上互相競爭的各種SDN方案。
事實上,網絡行業正在發生巨大的轉變,而驅動這場變革的原因很簡單,你可以從云計算及移動通信的興起到SDN(也可稱之為開放網絡或可編程網絡,隨便你怎么稱呼)的發展之間直接畫一條直線。如果你想繞過市場營銷和炒作來對SDN做深入全面的了解,并弄清楚它是如何幫助重塑網絡行業的,我絕對建議你閱讀本書。
Matt Davy
Tallac Networks 公司
2016年4月26日
Matt Davy是軟件定義網絡技術的世界知名專家。在印第安納大學,他曾擔任InCNTRE、SDN Interoperability Lab、Network Research以及Internships and Training的執行主任。Davy是擁有超過十二萬用戶、十萬以太網端口和五千個無線接入點的企業網絡的首席架構師,并且在大型網絡運營商及企業網的設計和運行方面擁有19年的豐富經驗。
前 言
當初,在我們著手構思本書時,部分動機是出于能夠全面介紹軟件定義網絡(SDN)的讀物少之又少。雖然作為作者,我們的專業就是與SDN打交道,但即便如此我們也不得不承認無法從某個單一的來源獲得SDN的全面知識。我們意識到有相當數量的專業人員并沒有直接接觸SDN,但他們很需要對其有所了解,這真是一個大問題。因此,簡單地講,本書的目的就是介紹產生SDN的環境,勾勒SDN區別于其他競爭技術的特點,并解釋這種新興技術已經展現出的眾多重要的商業影響。為這樣一種快速發展的技術撰寫著作所面臨的挑戰正是這種技術不斷發生的變化。
上面這段文字是為本書三年前出版的第一版所撰寫的,不過今天看來仍然適用。很多沒有在第一版中得到重視的技術現如今已被普遍承認是SDN的一部分。我們選擇使用了深度剖析作為本書標題的一部分。有許多相互競爭的思想目前都在實際應用當中,而它們的開發者也都希望能夠加入SDN的大潮。事實上,SDN技術所涉及的范圍也似乎在不斷擴展。不論我們的讀者需要應對哪些方面或哪種類型的SDN技術,至少我們希望通過閱讀本書,讀者能夠在一個更加廣泛的SDN環境之中對自己的需求加以考慮。為此,我們嘗試討論SDN的各種不同定義。本書在使用SDN定義時沒有教條可尋,希望讀者能夠理解。
有興趣了解軟件定義網絡或者對下面任何主題感興趣的讀者都會通過閱讀本書有所收獲:
? 組網
? 交換
? 軟件定義網絡
? OpenFlow ? OpenStack
? OpenDaylight
? 網絡虛擬化
? 網絡功能虛擬化
軟件定義網絡是一個正在迅速擴張的領域。雖然我們試圖盡力考慮得全面且詳盡,但感興趣的讀者或許還需要使用本書提供的參考資料對某些技術主題做更深入的探索。我們假設讀者除對計算機的概念有基本了解外,并不具備專業知識。計算機編程和計算機組網的某些經驗將會有助于理解本書的內容。本書包含了大量的數據和圖表來解釋和說明那些被定義或討論的網絡概念。這些圖表幫助讀者在不需要使用其他參考資料的前提下也能通讀全書。
本書的第一版非常受歡迎。出版三年來,我們收到了許多以本書內容作為課程基礎的大學教師的詢問。第二版出版的動機包括以下兩個方面:首先,本書在內容上需要緊跟SDN的發展而變化;其次,為了更加適用于SDN的研究生課程,我們做了一些針對性的調整。為此,我們在每一章都增添了一些文本框,其中包含的是與上文內容相關的討論題。這些題目可以用來作為課堂討論,也可以作為測驗基礎。此外,在鏈接https://textbooks.elsevier.com/web/product_ details.aspx?isbn=9780128045558中可以注冊下載與課程相關的輔導資料,如講義和實驗練習等。
建議和糾錯
雖然我們已經盡可能細心,但本書仍然會有一些錯誤,并且某些讀者感到尤為關心的主題
Paul Goransson是Elbrys網絡的創始人和主席,目前領導公司戰略并指導公司的知識產權組合。他曾在安捷倫公司的先進網絡技術部門和思科無線網絡商業部門擔任高管。Paul曾與人合著《802.11網絡安全》,并在計算機網絡方面在多家期刊發表多篇文章,他還經常在技術論壇上發言。Chuck Black是Tallac網絡的聯合創始人和首席軟件架構師,他擁有計算機網絡領域30年的工作經驗。創業前,他一直在惠普公司的研究和開發實驗室工作,是惠普公司網絡接入控制和安全方向多個網絡產品的創新者和創造者,他開發了惠普軟件組織在網絡管理領域的產品。在局域網的早期,他是首批行業應用中網絡拓撲發現協議的作者之一。
王海 陸軍工程大學通信工程學院教授,博士生導師。負責國家自然科學基金課題4項,國家863課題1項,參與國家863課題、國家重點基礎研究發展計劃 (973計劃)項目、國防973項目多項。2010年作為訪問學者赴加拿大不列顛哥倫比亞大學電子與計算機工程系從事無線組網的研究。2011年12月回國,目前主要從事無線網絡與應用、認知無線網絡、組網協議等相關方面研究,獲軍隊科技進步二等獎1項,三等獎6項。出版譯著多部。作為第一發明人申請國家發明專利50余項。發表論文100余篇。
目 錄
第1 章 引言············································ 1
1.1 分組交換的基本術語························ 2
1.2 歷史背景······································· 4
1.3 現代數據中心································· 5
1.4 傳統交換機體系結構························ 7
1.5 自治的和動態的轉發表····················11
1.6 能提高分組轉發的智商嗎·················16
1.7 開源和技術轉變·····························17
1.8 本書的組織結構·····························18
參考文獻·············································19
第2 章 為什么需要SDN························20
2.1 交換機及控制平面的發展歷程···········20
2.2 成本············································24
2.3 SDN 意味著不斷的探索和革新··········26
2.4 數據中心的創新·····························28
2.5 數據中心的需求·····························30
2.6 結論············································32
參考文獻·············································32
第3 章 SDN 的起源·······························33
3.1 網絡技術的發展歷程·······················33
3.2 SDN 的前身··································36
3.3 傳統機器向SDN 的演化···················44
3.4 軟件定義網絡的誕生·······················45
3.5 維護SDN 的互操作性······················47
3.6 開源軟件的積極作用·······················48
3.7 網絡虛擬化···································49
3.8 我可以把自己的網絡稱為SDN 嗎·······50
3.9 結論············································51
參考文獻·············································51
第4 章 SDN 的工作原理························53
4.1 SDN 的基本特點····························53
4.2 SDN 的工作原理····························56
4.3 SDN 網絡設備·······························58
4.4 SDN 控制器··································62
4.5 SDN 應用程序······························· 66
4.6 替代的SDN 方法··························· 68
4.7 結論············································ 76
參考文獻············································ 76
第5 章 OpenFlow 規范·························· 78
5.1 本章使用的術語····························· 78
5.2 OpenFlow 概述······························ 79
5.3 OpenFlow V.1.0 和OpenFlow 基本概念· · 83
5.4 OpenFlow V.1.1 的新增功能·············· 94
5.5 OpenFlow V.1.2 的新增功能·············101
5.6 OpenFlow V.1.3 的新增功能·············104
5.7 OpenFlow V.1.4 的新增功能·············110
5.8 OpenFlow V.1.5 的新增功能·············113
5.9 OpenFlow 互操作性的改進··············115
5.10 光傳輸協議擴展··························117
5.11 OpenFlow 的局限性······················119
5.12 結論·········································120
參考文獻···········································121
第6 章 SDN 的替代定義·······················122
6.1 開放SDN 潛在的缺點····················122
6.2 SDN-via-API ································133
6.3 SDN-via-Overlay ···························139
6.4 利用開放設備的SDN ·····················143
6.5 網絡功能虛擬化····························145
6.6 各種替代方法之間的重疊與評比·······146
6.7 結論···········································147
參考文獻···········································147
第7 章 新興的協議、控制器和應用模型 ···149
7.1 擴展的SDN 定義··························149
7.2 更多SDN 協議模型·······················151
7.3 更多的SDN 控制器模型·················158
7.4 更多的應用程序模型······················164
·10·
7.5 保護SDN 安全性的新方式·············· 166
7.6 P4 編程語言································ 168
7.7 結論·········································· 168
參考文獻··········································· 169
第8 章 數據中心的SDN······················ 170
8.1 數據中心的定義··························· 170
8.2 數據中心的需求··························· 172
8.3 數據中心的隧道技術····················· 177
8.4 數據中心的路徑技術····················· 180
8.5 數據中心的以太網矩陣·················· 183
8.6 數據中心的SDN 應用場景·············· 184
8.7 開放SDN、SDN-via-Overlay 和SDN-via-API 的比較 189
8.8 現實世界的數據中心實現··············· 191
8.9 結論·········································· 191
參考文獻··········································· 192
第9 章 其他環境下的SDN··················· 193
9.1 廣域網······································· 195
9.2 服務提供商和電信運營商網絡········· 198
9.3 園區網······································· 202
9.4 酒店網絡···································· 207
9.5 移動網絡···································· 207
9.6 光網絡······································· 209
9.7 SDN 與P2P/覆蓋網絡之比較··········· 212
9.8 結論·········································· 212
參考文獻··········································· 213
第10 章 網絡功能虛擬化····················· 214
10.1 NFV 的定義······························· 214
10.2 我們能虛擬化些什么···················· 216
10.3 標準········································· 218
10.4 OPNFV····································· 218
10.5 領先的NFV 供應商····················· 219
10.6 比較SDN 與NFV ······················· 219
10.7 在線網絡功能············1