云數據中心網絡與SDN: 技術架構與實現(云數據中心網絡與sdn)
云計算與虛擬化技術叢書

云數據中心網絡與SDN:
技術架構與實現
張晨 編著
About the Reviewer 技術審校
龔永生 社區綽號“大師兄”,浙江九州云CTO,OpenStack Neutron發起人之一,OpenStack NFV編排器項目Tacker PTL及ONOS、OpenDaylight、CORD項目參與者和培訓講師。
楊文嘉 美國Arista網絡公司高級服務工程師,擅長大規模IP/MPLS電信運營商級別網絡的規劃設計、實施與排錯,在為AT&T、中國電信、BMW公司、花旗集團、Freddie Mac等公司設計和實施運營商網絡,數據中心網絡和企業網絡方面積累了超過17年的豐富經驗。
本書贊譽 Praise
隨著“互聯網+”的蓬勃發展以及云計算、大數據、人工智能等新興技術的深入應用,云數據中心的價值日益突顯,已成為整個社會的重要基礎設施之一。本書針對云數據中心的場景,深入回顧了數據中心網絡技術和軟件定義網絡技術的前世今生,在介紹和剖析關鍵技術的同時,重點分享了VMware、Cisco等公司的很多案例以及技術創新背后的故事。我相信,本書將會幫助讀者更加深入地理解數據中心網絡和SDN技術的本質,也將對未來數據中心網絡的發展思考有所啟發。
——黃韜,北京郵電大學教授,江蘇省未來網絡創新研究院副院長
——畢軍,清華大學網絡研究院網絡體系結構研究室主任,長江學者特聘教授
——孫瓊,中國電信北京研究院SDN技術研發中心主任
——王璐,中國移動研究院網絡所承載網技術經理
伴隨著近年來互聯網的高速發展,云數據中心也進入發展高峰,SDN技術恰恰迎合了云數據中心的發展需求。本書從多個角度對云數據中心網絡、SDN、SDDCN的技術原理與解決方案進行深入的介紹和分析,內容全面,無論是剛接觸數據中心網絡的技術愛好者,還是數據中心研發人員、網絡架構師、系統運維人員以及產品經理,都能在閱讀的過程中獲益。
——徐雷,中國聯通研究院云計算研究中心主任
云數據中心需要與之相適應的“云計算網絡”,網絡虛擬化正成為變革傳統網絡的高地,網絡的價值正不可阻擋地向軟件轉移。本書全面回顧了數據中心網絡技術的演進,以通俗的語言講清楚了“SDN是什么、不是什么”以及“SDN能做什么”,客觀地介紹了主流商用SDN方案和多個開源平臺,對于SDN初學者和專業人士來說都是一本佳作。
——葉逾健,VMware大中華區網絡和安全產品銷售總監
——馬紹文,Juniper亞太區產品總監
——池惠澄,Arista Networks大中華區工程師經理
——蔣刊哲,BigSwitch大中華區總經理
市面上SDN之類書籍已經不少,但專注于數據中心場景的這還是第一本。本書兼顧廣度和深度,并對大量相關商用開源實戰性技術體系做了系統的歸納、分析與點評,是SDN數據中心用例的精品指南,也是相關從業者不可或缺的案頭常備參考書。
——張宇峰,互聯港灣CTO
本書介紹了數據中心網絡技術的演進,對SDN在云數據中心網絡中如何應用進行了完整、詳細的闡述。內容上不僅包括各類網絡技術分析,還具有很強的實踐性,對數據中心網絡基礎架構目前所采用的主流產品、技術方向進行了深入研究總結。本書所涉及的網絡、SDN技術涵蓋了在實踐中廣泛應用的商用產品、開源項目,對于從事數據中心網絡相關開發、運維、架構師或相關工作人員都是有益的參考資料。
——張天鵬,云杉網絡CTO
本書可謂業界目前最系統、全面的闡述云數據中心網絡的中文書籍,從工業界到學術界,從開源軟件到廠商方案都有涉及。前面從網絡的演進展示了業界對云數據中心網絡設計從模糊到成熟的過程,后面對廠商當前的主推方案與流行的開源控制器、IaaS、容器等進行深入解讀,一次性把所有“云數據中心”的話題整合到了一本書里,可供初學者按圖索驥,可供產品經理“知己知彼”,可供架構師“兼權尚計”,是一本不可多得的“云網綜述”。
——王為,ZStack網絡研發總監
——張華,Canonical全棧軟件工程師, OpenStack早期代碼貢獻者
前 言 Preface
為什么要寫這本書
這本書的寫作前前后后花了兩年多的時間,我曾無數次地想過會有那么一個周末的下午,洋洋灑灑地寫著前言,每念及于此,總有一種激揚文字、揮斥方遒的感覺。到了這一天,醞釀多時后坐在桌前,先是寫了一些行業點評,雖然氣勢磅礴但不夠接地氣,反反復復地修改卻始終沒能令自己滿意。最后想著,反正寫前言就是在和讀者聊天,也沒有必要給書里的內容扣個大大的帽子,倒不如來說說情懷、談談理想,就當是給自己這幾年的青春做一個注腳吧。
最開始其實并沒有寫書的打算,做研究的動力一方面是來源于對網絡技術的興趣與熱愛,另一方面,坦白講,那個時候在數據中心網絡這塊想到了一些新的點子,希望能夠借著SDN的東風把想法做成實打實的產品。于是,最初是帶著做調研的想法,開始對云數據中心SDN的技術與產品進行梳理。沒有想到的是,這調研一做竟是兩年多的時間,這兩年里既看到了很多原來自己并不了解的技術,數次感嘆于知識海洋的廣袤無垠,也目睹了自己的一些想法被別人進行了變現,無奈地明白做產品需要分秒必爭。
確立寫書的想法是在2016年,實際上當時SDN圈子的風潮已經開始從云數據中心轉向了企業級廣域網,各路廠商、創業公司和媒體都已經開始圍著SDWAN的概念在轉了。和業界的一些同行聊過之后,其中有一部分人認為云數據中心的網絡已經沒什么值得研究的了。聽多了類似的說法,給我個人的感覺是:SDN的出現既讓網絡這個圈子變得時髦,又讓圈子里的人變得浮躁。于是,我決定把調研的內容寫成一本書,希望能夠使讀者了解到,數據中心SDN在技術上還遠遠沒有達到標準化,在產品上還有較大的提升空間,很多同行仍然在全力地投身于相關技術的演進和產品的迭代中。跟隨先進的理念固然重要,但是踏踏實實地做事才是行業能夠得以長久發展的關鍵。
本書還有另外一個出發點,是由于傳統網絡與SDN的糾葛長久以來都沒能真正化解開來,很多人還是抱著非此即彼的錯誤觀點。因此本書在介紹各個SDN技術和產品的時候,都會力爭把控制和轉發的邏輯說清楚,能分析到數據包處理流程這個層面的,都會加以詳細分析。這么做的目的,是希望讀者能夠明白SDN雖然改變了網絡的交付模式,但是API遠遠不是SDN的全部,網絡架構本身的設計仍然是不可動搖的技術基礎。另外,在一些情況下,SDN并不是解決問題的最好方式,因此本書還介紹了一些非SDN的數據中心網絡技術,希望能夠幫助讀者拓寬技術視野,打開新的研究思路。
成書的過程中,最大的感悟是新技術發展得太快,很多章節的內容都不得不多次進行更新與修訂。ICT的融合為傳統的通信行業帶來了前所未有的機遇,同時也要求我們能夠調整好學習的心態。回顧這兩年多的時間,幾乎每日每夜都把自己泡在了各種各樣的資料中,讀了廠商不計其數的產品手冊和技術文檔,一行一行地去啃開源平臺的代碼,其中不乏很多有價值的內容,但由于成書時間與篇幅上的限制未能在書中進行介紹,多少還是有些遺憾吧。
同時,伴隨著知識的逐步豐富,我也更加真切地體會到了個人的渺小。學習永無止境,不忘初心,方得始終,在探索技術的路上愿與諸君共勉。
本書特色
本書涉及云數據中心網絡很多塊的內容,主要包括傳統技術、商用SDN方案、開源SDN方案以及相關的學術論文,覆蓋了目前絕大部分的主流技術以及一些其他較為新穎的技術,是目前市面上少數能夠切入SDN某一個具體行業應用場景,并對相關技術和產品進行系統性介紹的書籍之一。
實際上,把本書中每一塊的內容拿出來都能單獨寫一本書。不過,為了讓讀者能夠通過一本書,迅速并全面地掌握這些塊內容,因此在寫作的過程中就不得不去摳每一句話,甚至每一個字和詞,力爭簡短、清晰、準確地呈現出核心的技術內容。如果相關行業的技術寬度為100,每種技術的深度為100,本書希望能夠同時在寬度和深度上達到80+的水平,做到“樣樣通”而“樣樣不松”。
同時,為了能夠捋順這些五花八門的技術間的關系,行文過程中還對部分技術的產生背景與演進歷程進行了介紹,希望讀者在讀過本書后,做到既能“知其然”,又能“知其所以然”。
讀者對象
CTO、CIO
數據中心架構師
SDN架構師
SDN產品經理
SDN研發人員
高校與科研院所網絡研究人員
其他對網絡技術感興趣的人員
如何閱讀本書
閱讀本書前,需要讀者對傳統網絡技術和SDN基礎知識有一定的了解。
第1章會對云數據中心網絡演進的技術主線進行介紹,主要包括從3-Tier架構向Leaf-Spine架構的演進、從xSTP向大二層的演進、從傳統網絡向SDN的演進,以及傳統網絡的最新進展等內容。第1章可以看作本書的背景知識,用于引出后面章節對于數據中心SDN的介紹,講述的過程中會以技術特征為分類依據,介紹廠商相關的私有技術與產品,以及IEEE、IETF相關的技術標準。第1章中所介紹的一些技術目前已經退出了歷史舞臺,為了保證講述的完整性仍然保留了相關的介紹,讀者可以有選擇地進行閱讀。
第2章將以雜談的形式對SDN的本質進行論述,包括轉發與控制分離、網絡可編程以及集中式控制,并對SDN在IT層面的設計思路進行了總結。通過第2章的內容,希望可以幫助讀者重新認識SDN,并捋順SDN與傳統網絡間的關系。第2章的內容相比于其他章節的內容較為獨立,讀者可以靈活地調整本章的閱讀順序。
從第3章開始,正式開始介紹本書的核心內容——云數據中心SDN(Software Defined Data Center Networking,以下簡稱SDDCN)。第3章首先對SDDCN落地需求、實現架構以及關鍵技術進行介紹,希望能夠為后續章節的內容起到提綱挈領的作用。第3章的表述相對抽象,有網絡架構設計經驗或者實際工程經驗的讀者可以仔細閱讀與體會,如果讀者之前并沒有接觸過相關工作,閱讀第3章時可以先簡單地看一遍,完成后續章節內容的閱讀后,回過頭來再去體會第3章中的內容,會獲得更好的效果。
第4章將對十余個商用SDDCN解決方案進行深入的介紹,收錄了主流廠商和一些具有技術代表性的創業公司的SDDCN產品,希望通過本章的內容,幫助讀者了解這些方案內部的設計機制與技術細節,而不是僅僅看到一個“網絡黑箱”,否則SDN不過是另外一個黑箱。
第5章對OpenStack Neutron進行了詳細的介紹,主要內容包括Neutron的組網原理、軟件設計架構、虛擬機的接入、OVS Plugin/Agent的設計與實現,以及其他主要的擴展Plugin/Agent。第6章對OpenDaylight的架構設計、OpenFlow的典型實現,以及OpenDaylight中的SDDCN的相關實現進行了詳細的介紹。第7章對ONOS的架構設計、OpenFlow的典型實現,以及ONOS中的SDDCN的相關實現進行了詳細的介紹。
第5、6、7章的內容將涉及各個開源平臺的核心代碼,力爭同時呈現出代碼中上層的業務邏輯以及底層的控制與轉發邏輯,希望幫助讀者在使用這些開源方案時,能夠具備二次開發的能力。需要說明的是,代碼所用版本以章前引言中所提及的版本為準,代碼的呈現方式將以“===”形式的分割線注明代碼所在文件,通過“//”形式的注釋符對關鍵代碼的邏輯進行解析。受限于篇幅,這三章跳過了非核心代碼,同時省略了非關鍵參數與Java中的花括號。
第8章對學術界在云數據中心網絡的典型研究工作進行介紹,包括拓撲、路由、虛擬化、服務鏈、服務質量、傳輸層優化、測量與分析、安全、高可用、大數據優化這十個方向。這一章在內容上會力爭把每個研究工作的技術要點都講清楚,而不是僅僅用一兩句話來概括思路。這些研究工作既包括SDN的設計,又包括很多非SDN的設計,希望能夠幫助讀者拓展技術視野,啟發新的設計靈感。
第9章和第10章是本書的番外部分。第9章對容器網絡進行了概要性的介紹,容器是與虛擬機相對應的負載形態,因此獨立成章,其中涉及的網絡技術都在其他章節中介紹過,用在容器網絡里只是接入了不同形態的負載,而技術的本質并沒有發生變化,因此第9章中不會再去詳細討論這些已經介紹過的技術。第10章以Fiber Channel和InfiniBand為代表,對數據中心內部的存儲網絡和高性能計算網絡的技術體系進行了概要性的介紹,這兩者是與以太網和TCP/IP相對應的異構網絡技術,因此獨立成章,另外第10章中還簡單地介紹了將以太網與Fiber Channel和InfiniBand進行融合的思路。
最后要說明的是,本書所介紹的內容均為云數據中心內部的網絡技術,限于成書時間和篇幅上的限制,對于云數據中心外部的網絡技術,如企業網絡入云、Internet流量入云、云數據中心ISP上行出口優化、云數據中心間流量優化,均未能進行介紹。另外NFV相關的內容,包括vSwitch、vRouter、BPF、VPP等datapath技術,以及DPDK、SR-IOV等IO加速技術,本書也未做專題性介紹。
勘誤和支持
由于筆者的水平有限,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。讀者可通過微信號gokd35直接聯系筆者,或者通過郵箱sddcn_qa@126.com提出問題或者建議。愿我們在網絡技術的進修之路上互勉共進。
致謝
感謝九州云的龔永生先生,盛科網絡的張衛峰先生,Arista的楊文嘉先生,為本書進行了專業的技術審校。
感謝北京郵電大學的黃韜教授、清華大學的畢軍教授、電信北京研究院的孫瓊女士,移動研究院的王璐女士、聯通研究院的徐雷先生、VMware的葉逾健先生、Juniper的馬紹文先生、Arista的池惠澄先生、BigSwitch的蔣刊哲先生、互聯港灣的張宇峰先生、云杉網絡的張天鵬先生、ZStack的王為先生、Canonical的張華先生,為本書進行了精彩的推薦。
感謝北京郵電大學的李昕教授、F5的范恂毅先生、VMware的吉白先生、BigSwitch的吳鑫先生,在本書寫作過程中提供的幫助。
再一次感謝上述各位業界前輩,在繁忙的工作后利用寶貴的休息時間來審閱此書,是他們的無私支持給了我修繕此書的動力。同時,他們為業界發展所做出的貢獻令人尊重和欽佩,將不斷激勵著我們后輩學習與前進!
感謝機械工業出版社的編輯高婧雅女士,對本書寫作的悉心指導,以及對我本人的包容和理解。感謝SDNLab的方輝先生,在我形成寫書想法時的鼓勵與支持。沒有他們,就不會有這本書的出版。
最后感謝我的家人和朋友,他們在生活中的關懷和鼓勵使我能夠在這兩年中踏踏實實地完成本書內容的編寫。
聲明
Contents?目 錄
技術審校
本書贊譽
前言
第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 ElasticSwitch? 440
8.5.5 SecondNet? 441
8.5.6 Oktopus? 441
8.6 傳輸層優化? 443
8.6.1 MPTCP? 443
8.6.2 DCTCP? 446
8.6.3 D3? 447
8.6.4 pFabric? 449
8.6.5 Fastpass? 450
8.6.6 OpenTCP? 451
8.6.7 vCC? 452
8.7 測量與分析? 453
8.7.1 Pingmesh? 453
8.7.2 OpenNetMon? 454
8.7.3 FlowSense? 455
8.7.4 Dream? 455
8.7.5 OpenSample? 457
8.7.6 Planck? 458
8.7.7 OpenSketch? 458
8.8 安全? 460
8.8.1 SOM? 460
8.8.2 FloodGuard? 462
8.8.3 TopoGuard? 463
8.8.4 FortNox? 464
8.8.5 AVANT GUARD? 466
8.8.6 OF-RHM? 468
8.8.7 Fresco? 470
8.9 高可用? 471
8.9.1 ElastiCon? 471
8.9.2 Ravana? 473
8.9.3 BFD for OpenFlow? 474
8.9.4 In-Band Control Recovery? 476
8.9.5 OF-based SLB? 477
8.9.6 Anata? 478
8.9.7 Duet? 480
8.10 大數據優化? 482
8.10.1 BASS? 482
8.10.2 OFScheduler? 482
8.10.3 Phurti? 483
8.10.4 Application-Aware Networking? 484
8.10.5 CoFlow? 485
8.11 本章小結? 486
第9章 番外——容器網絡? 487
9.1 容器網絡概述? 487
9.2 容器網絡模型? 488
9.2.1 接入方式? 488
9.2.2 跨主機通信? 491
9.2.3 通用數據模型? 492
9.3 Docker網絡? 494
9.3.1 docker0? 495
9.3.2 pipework? 496
9.3.3 libnetwork? 496
9.4 Kubernetes網絡? 498
9.4.1 基于POD的組網模型? 498
9.4.2 Service VIP機制? 499
9.5 第三方組網方案? 501
9.5.1 Flannel? 501
9.5.2 Weave? 502
9.5.3 Calico? 504
9.5.4 Romana? 506
9.5.5 Contiv? 507
9.6 Neutron網絡與容器的對接? 508
9.7 本章小結? 510
第10章 番外——異構網絡與融合? 511
10.1 融合以太網基礎? 511
10.1.1 PFC? 512
10.1.2 ETS? 513
10.1.3 QCN? 513
10.1.4 DCBX? 514
10.2 存儲網絡及其融合? 514
10.2.1 FC的協議棧? 515
10.2.2 FC的控制與轉發機制? 516
10.2.3 FCoE的控制與轉發機制? 517
10.2.4 曇花一現的SDSAN? 520
10.3 高性能計算網絡及其融合? 524
10.3.1 InfiniBand的協議棧? 525
10.3.2 InfiniBand的控制與轉發機制? 526
10.3.3 RoCE與RoCEv2? 528
10.4 本章小結? 530
網絡 邊緣數據中心管理 EDCM SDN
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。