軟件定義網絡(SDN)是由Emulex公司提出的一種新型網絡創新架構,旨在幫助網絡跨入云時代,適應快速變化的業務需求。本書全面介紹了軟件定義網絡的基本概念、原理和商業應用。全書共13章,從多個方面闡釋了SDN,從SDN的由來和歷史沿革,到SDN技術的最新發展情況和未來走向,全面分析了SDN和OpenFlow的技術原理,分析了SDN的開放源碼及相關資源,并探討了SDN的應用場景、商業發展及其局限性,是一本視野廣闊的SDN參考手冊。
Paul Goransson 擁有美國波士頓大學計算機工程碩士學位以及美國新罕布什爾大學計算機科學博士學位。Paul曾任職于安捷倫科技的先進網絡部門和思科的無線網絡商務部門的高級管理層。他親手創建的兩家公司都已成功被行業巨頭收購:惠普收購了Qosnetics(1999);思科收購了Meetinghouse(2006)。Chuck Black 擁有美國加州州立理工大學的計算機科學學士和碩士學位,在計算機網絡領域擁有超過31年的工作經驗,其中大部分時間在惠普研究與開發實驗室工作,此后他成為SDN初創公司Tallac Networks的創始人之一。在局域網發展的早期,Chuck曾是該行業最早的網絡拓撲發現算法的作者。王海 IEEE高級會員。現為解放軍理工大學通信工程學院教授,博士生導師。負責國家自然科學基金課題4項,國家863課題1項,參與國家863課題、國家重點基礎研究發展計劃 (973計劃)項目、國防973項目多項。2010年作為訪問學者赴加拿大不列顛哥倫比亞大學電子與計算機工程系從事無線組網的研究。2011年12月回國,目前主要從事無線網絡與應用、認知無線網絡、組網協議等相關方面研究,獲軍隊科技進步二等獎1項,三等獎6項。出版譯著多部。作為第一發明人申請國家發明專利10余項。發表論文50余篇。
目 錄第1章 緒言1.1 分組交換的基本術語1.2 歷史背景1.3 現代數據中心1.4 傳統交換機體系結構1.4.1 數據、 控制和管理平面1.4.2 基于軟件的路由選擇和橋接1.4.3 轉發表的硬件查找1.4.4 通用可編程的轉發規則1.5 自治和動態轉發表1.5.1 二層控制1.5.2 三層控制1.5.3 是協議大雜燴還是一碗交換機粥1.6 我們能提高分組轉發的IQ值嗎1.7 開源和技術轉變1.8 本書的組織結構參考文獻第2章 為什么是SDN2.1 交換機及控制平面的發展歷程2.1.1 用軟件實現的簡單的分組轉發和路由選擇2.1.2 早期設備的獨立性和自治性2.1.3 從軟件走向硬件2.1.4 硬件轉發以及用軟件實現的控制2.1.5 簡化設備的需求越來越強烈2.1.6 控制從設備上的移除2.2 成本2.2.1 開發成本不斷增加2.2.2 封閉的環境鼓勵供應商的市場圈定2.2.3 變革的復雜性與阻力2.2.4 網絡運營成本的上升2.3 SDN意味著不斷的探索和革新2.3.1 現狀對目前主流供應商有利2.3.2 SDN對科研創新的促進作用2.4 數據中心的創新2.4.1 計算和存儲虛擬化2.4.2 當前網絡的不足之處2.5 數據中心的要求2.5.1 自動化2.5.2 可擴展性2.5.3 多路徑2.5.4 多租戶2.5.5 網絡虛擬化2.6 小結參考文獻第3章 SDN的起源3.1 網絡技術的發展歷程3.1.1 大型機網絡: 遠程終端3.1.2 點對點對等連接3.1.3 局域網3.1.4 橋接網絡3.1.5 路由選擇網絡3.2 SDN的前身3.2.1 早期的嘗試3.2.2 網絡接入控制3.2.3 編排3.2.4 虛擬管理器網絡插件3.2.5 ForCES: 轉發和控制平面的分離3.2.6 4D: 集中的網絡控制3.2.7 Ethane: 基于控制器的網絡策略3.3 軟件定義網絡的誕生3.3.1 OpenFlow的出現3.3.2 開放網絡基金會3.4 維護SDN的互操作性3.5 開放源代碼的積極作用3.5.1 集體的力量3.5.2 集體的危險性3.5.3 SDN開源代碼3.6 傳統機器向SDN的演化3.7 網絡虛擬化3.8 我可以把自己的網絡稱為SDN嗎3.9 小結參考文獻第4章 SDN的工作原理4.1 SDN的基本特點4.1.1 平面分離4.1.2 簡化的設備和集中的控制器4.1.3 網絡自動化和虛擬化4.1.4 開放性4.2 SDN的工作原理4.3 SDN網絡設備4.3.1 流表4.3.2 軟件SDN交換機4.3.3 硬件SDN設備4.3.4 SDN設備的現有實現4.3.5 流的數量調整4.4 SDN控制器4.4.1 SDN控制器的核心模塊4.4.2 SDN控制器接口4.4.3 目前SDN控制器的實現4.4.4 SDN控制器的潛在問題4.5 SDN應用4.5.1 SDN應用的職責4.6 替代的SDN方法4.6.1 利用現有API的SDN4.6.2 利用基于虛擬機管理程序的覆蓋網絡的SDN4.7 小結參考文獻第5章 OpenFlow規范5.1 本章使用的術語5.2 OpenFlow概述5.2.1 OpenFlow交換機5.2.2 OpenFlow控制器5.2.3 OpenFlow協議5.2.4 控制器與交換機之間的安全通道5.3 OpenFlow 1.0和OpenFlow的基本概念5.3.1 端口和端口隊列5.3.2 流表5.3.3 分組匹配5.3.4 動作與分組轉發5.3.5 控制器和交換機之間的消息5.3.6 舉例: 控制器對流表的編程5.3.7 舉例: 基本的分組轉發5.3.8 舉例: 交換機向控制器轉發分組5.4 OpenFlow 1.1新增功能5.4.1 多級流表5.4.2 群組5.4.3 MPLS和VLAN標簽的支持5.4.4 虛擬端口5.4.5 控制器連接失效5.4.6 舉例: 使用多級流表的轉發5.4.7 舉例: 使用V.1.1的群組多播5.5 OpenFlow 1.2的新增功能5.5.1 支持可擴展匹配5.5.2 支持可擴展的SET_FIELD分組重寫5.5.3 PACKET_IN中可擴展的上下文表達式5.5.4 多控制器5.5.5 舉例: 經過SP網絡的橋接VLAN5.6 OpenFlow 1.3的新增功能5.6.1 功能協商的重構5.6.2 支持更靈活的表失配5.6.3 每流計量5.6.4 每連接的事件過濾5.6.5 輔助連接5.6.6 PACKET_IN消息中的Cookie5.6.7 運營商骨干網橋接的標簽處理5.6.8 舉例: 利用計量段強制實施的QoS5.7 OpenFlow的局限性5.8 小結參考文獻第6章 SDN的替代定義6.1 OpenFlow潛在的缺點6.1.1 變化太大、 太快6.1.2 單點故障6.1.3 性能和規模6.1.4 深度分組檢測6.1.5 狀態流意識6.1.6 結論6.2 SDN-via-API6.2.1 網絡設備中的傳統API6.2.2 適用于SDN-via-API的API6.2.3 REST: 一種不同的API協議6.2.4 SDN-via-API舉例6.2.5 SDN-via-API的評估6.3 基于虛擬機管理程序的覆蓋網絡SDN6.3.1 覆蓋網絡中的控制器6.3.2 覆蓋網絡的操作過程6.3.3 SDN-via-overlay舉例6.3.4 SDN-via-overlay的評估6.4 利用開放設備的SDN6.5 網絡功能虛擬化6.6 各種替代方法之間的重疊與比較6.7 小結參考文獻第7章 數據中心的SDN7.1 數據中心的定義7.2 數據中心的需求7.2.1 克服當前網絡的限制7.2.2 增加、 移動和刪除資源7.2.3 故障恢復7.2.4 多租戶7.2.5 流量工程和路徑效率7.3 數據中心的隧道技術7.3.1 虛擬擴展局域網7.3.2 使用通用路由封裝的網絡虛擬化7.3.3 無狀態傳輸隧道7.4 數據中心的路徑技術7.4.1 通用多路徑路由選擇7.4.2 多生成樹協議7.4.3 最短路徑橋接7.4.4 等價多路徑7.4.5 SDN和最短路徑的復雜性7.5 數據中心的以太網矩陣7.6 數據中心的SDN應用場景7.6.1 克服當前網絡的限制7.6.2 增加、 移動和改變網絡資源7.6.3 故障恢復7.6.4 多租戶7.6.5 流量工程和路徑有效性7.7 比較開放SDN與SDN-via-overlay在數據中心的表現7.7.1 SDN-via-overlay7.7.2 開放SDN7.8 現實世界的數據中心實現7.9 小結參考文獻第8章 非數據中心環境下的SDN8.1 廣域網8.1.1 SDN在廣域網中的應用8.1.2 舉例: 谷歌廣域網的MPLS LSP8.2 服務提供商和電信運營商網絡8.2.1 SDN在服務提供商和電信運營商網絡中的應用8.2.2 舉例: MPLS-TE和MPLS VPN8.2.3 舉例: 服務提供商的云爆發8.3 園區網8.3.1 園區網中的SDN: 策略的應用8.3.2 園區網中的SDN: 設備與用戶安全8.3.3 園區網中的SDN: 流量抑制8.4 酒店網8.5 移動網絡8.5.1 SDN應用于移動網絡8.6 在線網絡功能8.6.1 NFV與SDN的比較8.6.2 SDN應用于服務器負載均衡8.6.3 SDN用于防火墻8.6.4 SDN應用于入侵檢測8.7 光傳輸網絡8.7.1 SDN應用于光網絡8.8 SDN與P2P/覆蓋網絡的比較8.9 小結參考文獻第9章 SDN生態圈合作伙伴9.1 學術研究機構9.1.1 學術界對SDN的主要貢獻9.2 產業研究實驗室9.3 網絡設備制造商9.4 軟件供應商9.5 白盒交換機9.6 商用芯片生產商9.7 原始設備制造商9.8 企業9.9 標準機構和產業聯盟9.9.1 開放網絡基金9.9.2 OpenDaylight9.9.3 OpenStack9.9.4 IETF和IEEE9.10小結參考文獻第10章 SDN的應用10.1 前期工作10.2 反應式應用和先應式應用的比較10.2.1 術語10.2.2 反應式SDN應用10.2.3 先應式SDN應用10.3 一些簡單SDN應用的分析10.4 一個簡單的Java反應式應用10.4.1 主機名黑名單10.4.2 IP地址的黑名單處理10.4.3 黑名單: 監聽器10.4.4 黑名單: 分組處理器10.4.5 黑名單: 流管理器10.5 控制器的背景10.6 使用Floodlight控制器10.6.1