從什么是SDN開始,形象生動的闡述SDN的發展歷程。然后介紹SDN的現狀,以表格的形式呈現,思路清晰明了。接著介紹SDN的特性以及基于OpenFlow的SDN技術,最后以SDN的應用場景分析及安全問題收尾。整個文章由淺入深,娓娓道來,值得回味。
1. SDN概述
SDN(Software Defined Networking)即軟件定義網絡,它引發了網絡技術的一場革命,必將對網絡世界的未來產生深遠的影響。那么SDN到底是什么,為什么會出現這項技術,SDN網絡架構的擴展性、安全性存在哪些問題,值得深入分析和思考。
1.1 SDN是什么
SDN 是一種新型網絡架構,其核心思想是通過管控軟件化、集中化,使網絡變得更加開放、靈活、高效。具體表現為將網絡的控制平面與轉發平面(即數據平面)相分離:在控制平面為用戶提供標準的編程接口,便于集中部署網絡管控應用;轉發平面仍保留在硬件中,通過標準協議接口(如OpenFlow)接收并執行轉發策略。
如果將網絡中所有的網絡設備視為被管理的資源,那么參考操作系統的原理,可以抽象出一個網絡操作系統的概念,這個網絡操作系統(即控制層)一方面抽象了底層網絡設備(即數據層)的具體細節,同時還為上層應用(應用層)提供了統一的管理視圖和編程接口,如圖1所示。這樣,基于網絡操作系統這個平臺,用戶可以開發各種應用程序,通過軟件來定義邏輯上的網絡拓撲,以滿足對網絡資源的不同需求,而無需關心底層網絡的物理拓撲結構。

圖1 SDN三層架構
1.2 SDN的由來
SDN的前身最早可追朔到“可編程網絡”的概念,此后陸續有學者提出相應的可編程網絡思想和方法。2004年,4D Project項目提出了一種Clean-Slate的網絡設計方案,該方案重點突出了網元之間的交互協議與路由決策邏輯的分離。
2006 年,斯坦福的Martin Casado 領導了一個關于網絡安全與管理的項目Ethane,該項目試圖通過一個集中式的控制器,讓網絡管理員方便地定義基于網絡流的安全控制策略,并將這些安全策略應用到各種網絡設備中,從而實現對整個網絡通訊的安全控制。受此項目啟發,Martin 及Nick McKeown 提出將傳統網絡設備的數據轉發(Data Plane)和路由控制(Control Plane)兩個功能模塊相分離,通過集中式的控制器(Controller)以標準化的接口對各種網絡設備進行管理和配置,這將為網絡資源的設計、管理和使用提供更多的可能性,從而更容易推動網絡的革新與發展,于是OpenFlow 的概念應運而生。
2008年第一篇詳細介紹OpenFlow概念的論文“OpenFlow: EnablingInnovation in Campus Networks”發表于ACM SIGCOMM ,標志著SDN時代的開啟,圖2給出了SDN/OpenFlow的發展歷程。

?
圖2 SDN/OpenFlow的發展歷程
關于SDN的概念及實現方式,目前業界存在較大爭議,比較主流的還是以OpenFlow為基礎的SDN實現方式,我們通常說的SDN一般是指基于OpenFlow的SDN。
1.3 SDN的現狀
2011年,McKeown 等研究者組織成立了開放式網絡基金會(Open Networking Foundation,簡稱ONF),專門負責相關標準的制定和推廣,包括OpenFlow 標準、OpenFlow 配置協議和SDN 白皮書,這大大推進了OpenFlow 和SDN 的標準化工作,也使其成為了全球開放網絡架構和網絡虛擬化領域的研究熱點。
在學術界,美國GENI、Internet2、歐洲OFELIA和日本的JGN2plus先后展開對SDN 的研究和部署。國內由清華大學牽頭,中科院計算所、北郵、東南大學、北京大學等單位參與開展了類SDN思想的”未來網絡體系結構和創新環境”863項目研究。
在產業界,以Nicira (已于2012年7月被VMware 收購)和Big Switch為代表的SDN 創業公司不斷涌現。為了在新技術上搶占先機與自身市場推廣考慮,Juniper、NEC、HP、IBM 、Cisco等廠商先后發布了支持OpenFlow 的SDN 硬件產品;NEC、BigSwitch、IBM、Cisco或自主或聯合開發SDN控制器;VMware、Juniper、Cisco等廠商發布了基于SDN的虛擬網絡解決方案;上述產品目前有些已在SDN 研究領域進行了相關部署。國內的華為、中興、盛科等設備廠商,移動、聯通、電信等運營商,也在SDN產品和解決方案研發上進展迅速。
在標準化方面,除了ONF的標準化工作,IETF(互聯網工程任務組)、IRTF(互聯網研究任務組)、ITU-T(國際電信聯盟電信標準化部門)、ETSI(歐洲電信標準化協會)等也已成立相應的工作組,圍繞各自領域的SDN應用和架構展開標準研究和制定工作。
從2011年開始,在新興技術的市場上,SDN逐漸成為業界最熱門的焦點之一。在InfoWorld于2011年11月公布的影響未來10年的10項新技術中, SDN排名第二。經過4年的積累和沉淀,可以看出SDN已經走出了最初的概念炒作階段,隨著不斷完善發展,SDN在運營商網絡、數據中心首先商用化的趨勢日益明顯。根據IDC預測,2018年,SDN在企業和云服務提供商的市場規模將從2014年的9.6億美元增長到80億美元,年復合增長率將達89.4%。

2. SDN的關鍵特性
SDN的核心思想主要體現在三個方面:1)控制平面與轉發平面分離;2)控制平面集中;3)通過在控制平面編程實現對數據平面的行為管理。因此,SDN主要呈現出以下幾個特性:
集中的精細管控
與傳統網絡相比,SDN控制器可以實現更加集中的網絡管控,定義的管控策略和行為更為細粒度。
開放的統一接口
SDN打破了傳統網絡設備的封閉性,使得支持統一標準的設備均可完成網絡轉發功能,上層應用也可更加開放、多樣。
靈活的動態擴展
由于行為和策略可以在應用層進行自定義,因此用戶可以根據使用需求進行動態調整和靈活的擴展。
3. 基于OpenFlow協議的SDN關鍵技術
SDN網絡的基本元素包括SDN交換機(OpenFlow交換機)和SDN控制器(OpenFlow控制器),它們分別構成了SDN網絡的數據平面和控制平面。
3.1 OpenFlow交換機
OpenFlow交換機主要實現數據層的轉發,由流表、安全通道和OpenFlow協議三部分組成,如圖3所示。安全通道是連接OpenFlow交換機到控制器的接口。控制器通過這個接口控制和管理交換機,同時接收來自交換機的事件以及向交換機發送數據包。OpenFlow交換機接收到數據包后,首先在本地的流表上查找轉發目標端口,如果沒有匹配,則把數據包轉發給OpenFlow控制器,由控制器決定轉發端口或丟棄。交換機和控制器間的所有通信信息必須按照OpenFlow協議規定的格式來執行。
OpenFlow交換機可以分為兩類:專用的OpenFlow交換機和支持OpenFlow的交換機。專用的OpenFlow交換機是專門為支持OpenFlow而設計的,不支持現有的商用交換機上的正常處理流程,所有經過該交換機的數據都按照OpenFlow的模式進行轉發;另外專用的OpenFlow交換機不再具有控制邏輯,因此它只是用來在端口間轉發數據包的一個簡單的路徑部件。
支持OpenFlow的交換機是在普通商業交換機的基礎上添加流表、安全通道和OpenFlow協議而獲得了OpenFlow特性的交換機,既具有常用的商業交換機的轉發模塊,又具有OpenFlow的轉發邏輯,因此支持OpenFlow的交換機可以采用兩種不同的方式處理接收到的數據包。目前主流的OpenFlow交換機都是同時OpenFlow Enabled型的,即同時支持傳統的路由轉發和OpenFlow協議。目前業內比較有名的OpenFlow交換機國外廠商有NEC、BigSwitch、Pica、Juniper、Dell、Arista等公司,國內比較有名的包括盛科網絡和華為公司。

圖3 專用OpenFlow交換機的構成
3.2 OpenFlow控制器
OpenFlow控制器主要具有管理整個網絡的OpenFlow交換機、流表的下發、向用戶提供應用編程接口等功能。OpenFlow控制器是整個OpenFlow網絡的大腦,用戶開發的各種網絡應用程序均運行在控制器上,通過安全通道能夠動態添加、刪除和更新各交換機上的流表以達到對網絡行為和功能的動態控制,這打破了傳統網絡架構固定僵化的局限,為網絡業務的創新和網絡對新型業務的適應能力提供了基礎。
控制器是SDN的核心,目前各大廠商一般都有自己的商業控制器,如NEC的PFC控制器、BigSwitch的Floodlight商業版本、HP的私有控制器等,除此之外還有以下幾個比較著名的開源SDN控制器,如在AT&T、NTT等SP支持下由非營利性組織ON.lab推出的ONOS,思科、IBM等巨頭聯合開發SDN項目OpenDaylight,Nicira的NOX和POX、BigSwitch的Floodlight、NEC的Trema、Stanford的Beacon、Nicira的SNAC、思科、IBM、微軟等公司聯合開發的開源控制器OpenDaylight等,表2對幾個主流控制器做了對比分析。

3.3 OpenFlow協議及自身問題
OpenFlow協議是描述控制器和交換機之間交互所用信息的標準,協議的核心部分是用于OpenFlow協議信息結構的集合。
表3列出了OpenFlow協議版本的變化,可以看出OpenFlow協議除了擁有靈活、開放的特點外,其自身也面臨著一些問題。主要包括兩個問題,一個是OpenFlow交換機的流表問題,流表大小的問題可以通過兩個思路解決,一是使用multi-table(OF 1.1 支持),通過pipeline 的流表查找來解決指數及增長的流表項數;二是使用Proactive+Reactive的雙重流表建立方法,通過分布查找+動態加載減少流表項數(DIFANE)。雖然這兩種方案在一定程度上減輕了流表大小,但還未最終解決該問題。此外,OpenFlow 能否支持大規模網絡,還需要進一步研究。
另一個問題是控制器的擴展性問題,OpenFlow集中式的控制平面很容易成為整個網絡的瓶頸,OpenFlow 1.2版的協議中提出了對多控制器的支持,但控制器之間缺乏相關同步。2013年發布的OpenFlow1.4版本仍然是基于1.3版本的特征改進版本,數據轉發層面沒有太大變化,主要是增加了一種流表同步機制,多個流表可以共享相同的匹配字段,而且可以定義不同的動作,為控制器一致性擴展問題提出了一些思路。目前主流的思路是用分布式的控制器集群來分擔單控制的瓶頸壓力,提供網絡的性能和可靠性(如ONIX等)。

4. SDN的應用場景和發展方向
4.1 應用場景
SDN技術目前在校園網和數據中心互聯等應用中已經取得了一些進展.
校園網
在校園中部署 OpenFlow 網絡,是OpenFlow 設計之初應用較多的場所,它為學校的科研人員構建了一個可以部署網絡新協議和新算法的創新平臺,并實現了基本的網絡管理和安全控制功能。目前已經有包括斯坦福大學、清華大學在內的多所高校部署了OpenFlow 網絡,并搭建了一些應用環境。

圖4 清華大學基于OpenFlow的LiveSec網絡安全系統
數據中心互聯
大型企業的數據中心往往不止一個,為了容災備份或其它一些需求,這些分布在異地的數據中心通常會租用運營商的VPN專線進行互聯。由于數據中心之間的業務流量具有不確定性,為了保證數據中心間傳輸的性能,企業通常按照峰值帶寬來租用WAN鏈路,然而由于大部分時間這些WAN鏈路都處于低利用率狀態,因此造成資源的極大浪費。Google創造性地利用OpenFlow技術有效的解決了這個問題。
Google的廣域網由兩張骨干網平面組成,即外網和內網。外網用于承載用戶流量,稱為I-scale網絡,而內網則用于承載數據中心之間的流量,稱為G-scale網絡,這兩張網絡的需求差別性很大,流量特性也存在著很大的差別。如今Google已經在G-scale網絡中大規模的部署了SDN解決方案, Google基于OpenFlow的全球數據中心互聯如圖5所示。
根據G-scale網絡的需求和流量特性,Google利用Openflow協議,自己開發了網絡交換機,并基于OpenFlow開發了開放的路由協議棧。每個數據中心站點部署了多臺交換機設備,保證可擴展性(高達T比特的帶寬)和高容錯率,站點之間通過多個OpenFlow控制器實現網絡調度。在這個廣域網矩陣中,Google建立了一個集中的流量工程模型,可以實時計算和選擇最佳路徑。到2012年初,Google數據中心全部骨干連接已經都采用這種架構,WAN鏈路利用率提升到95%。

圖5 Google基于OpenFlow的全球數據中心互聯
4.2 發展方向
由于SDN的靈活性、開放性和可編程性,其未來的發展前景將更加廣闊,目前可以看到的潛在應用領域還包括云數據中心內部網絡互聯、基于SDN的無線通信運營商網絡、未來互聯網架構等。
云數據中心網絡
隨著云計算模式和數據中心的發展,數據中心的數據流量驟增,交換機層次的管理結構復雜,服務器和虛擬機需要快速配置和數據遷移。如果不能在龐大的服務器機群中進行高效的尋址和數據傳輸,很容易造成網絡擁塞和性能瓶頸。
SDN 控制轉發分離的技術特點滿足了數據中心密集型服務器需要集中管控的需求,增加了數據中心實際配置和操作的靈活性。將OpenFlow交換機部署到數據中心網絡,可以實現高效尋址、優化傳輸路徑、負載均衡等功能,從而進一步提高數據交換的效率,增加數據中心的可控性。Google 在其數據中心全面采用基于OpenFlow 的SDN 技術,大幅度提高其數據中心之間鏈路利用率,起到了很好的示范作用。同時,針對數據中心動態路由、負載均衡和能量管理等方面的研究也有相關實例部署,將成為基于OpenFlow 的SDN 技術近年的研究熱點。
運營商網絡
運營商架構的傳統電信網絡,有著過度復雜和封閉的特性,沉淀了大量不必要的功能和性能。這些網絡由大量單一功能的網絡節點和昂貴的硬件設備構成,造成網絡成本高居不下,業務收入增長無力的被動局面。
而SDN的提出很好的解決了上述問題,與此同時,SDN將對運營商的網絡建設、組網架構和運維模式帶來一定挑戰,特別是對于已經構建了大量基于硬件控制網絡的電信運營商而言,SDN既是一個新挑戰,也是一個新機遇,但從封閉的黑盒網絡走向開放的可編程軟網絡是整個網絡發展的必然趨勢。
目前,美國運營商AT&T和Verizon等均將SDN應用于云計算數據中心組網。德國電信、法國電信、意大利電信等運營商也開始開發和部署SDN技術。我國的電信運營商也紛紛投入大量的資源建設大型數據中心,與設備廠商開展合作,對SDN和相關技術進行實驗研究,后續還將根據技術和設備成熟情況開展測試和部署工作。據了解,中國移動在南方基地建造了眾多數據中心,計劃今年底就實際引入SDN進行現網部署。中國電信也以國家項目為基礎,在數據中心、城域網控制面進行設備和組網方案驗證。
未來互聯網
當前,傳統互聯網的網絡設備使用著封閉、專有的內部接口,運行著大量的分布式協議。在這種復雜的網絡環境中,封閉的網絡設備使網絡面臨著諸多問題與挑戰,如安全性、健壯性、可管理性及移動性等,而且由于網絡管理需要大量的人工配置、設備兼容等問題,網絡維護成本一直居高不下。
由于傳統IP網絡基礎設施的大量部署,未來互聯網不可能一夜之間廢棄傳統基于IPv4的互聯網,而SDN的虛擬化功能則正好滿足這一點。利用SDN的虛擬化技術,實現了傳統業務流量與實驗流量的隔離;同時,SDN提供的編程能力為研究人員提供了極大的便利,研究人員能夠基于開放接口,研究和開發新型的互聯網架構和相關關鍵技術。
目前,美國的GENI計劃已經基于OpenFlow技術構建了一套針對未來互聯網創新和研究的實驗網絡。國內中科院計算機網絡信息中心目前也已經開展了相關的工作,擬在中科院系統內部搭建一套基于OpenFlow的實驗網,為中科院系統的科學研究工作提供支撐。
5. SDN及安全思考
在網絡領域,SDN思想和OpenFlow技術解決了下述一些問題:
靈活的網絡基礎架構虛擬化
L2和L3的 VPN 不再需要完全取決于 MAC 和 IP 地址,而是可以基于任何包頭字段進行VPN的劃分,具有極大的靈活性。
動態靈活的網絡負載均衡
OpenFlow 維護統計數據作為其實施的組成部分,這允許動態、快速地平衡網絡流量,OpenFlow 交換機可以動態地監視流量并根據需要平衡和引導負載。
二三層環路問題
由于避免了分布式的動態路由協議和MAC學習,可以根本上解決二三層環路問題,而且能夠利用冗余鏈路提供路徑備份和帶寬擴展。
路徑最優化
由于控制平面具有全網的全局視圖,因此能夠提供最優化的路徑決策。
帶寬動態分配
允許針對特殊、短期的網絡活動安排帶寬,然后自動重新分配或回收。
安全問題是網絡技術研究的一個永恒課題,SDN網絡的安全也不例外。我們將SDN與安全之間的關系概括為三個層次,如圖6所示:
SDN自身的安全性問題,即Security of SDN
Security of SDN是指SDN交換機的安全性、SDN控制器的安全性以及SDN控制器上運行的各種網絡應用模塊的安全性等。
用SDN技術來實現安全服務,即Security to SDN
Security to SDN是指用SDN技術來實現安全服務功能的推送。利用SDN靈活的流量控制與路由選擇機制,實現安全業務的動態和靈活推送,通過在控制器平臺上實現安全應用,來為用戶提供相應的安全服務。
用SDN技術來解決現網中的安全問題,即Security by SDN
Security by SDN是指利用SDN的一些技術特點來解決或簡化現網中傳統安全解決方案的實現。一個典型的例子是在網絡入口利用SDN進行簡單的流分類,由于SDN是基于硬件的流轉發,因此可以達到線速流分類,相比之下,性能優于傳統的DPI設備。另外,還可以在網絡中的一些骨干節點上部署SDN,實現業務流量的重定向,能夠提供安全服務設備的靈活部署。

圖6 SDN與安全三層關系圖示
由于SDN網絡尚未大面積部署,SDN安全的方向現階段主要集中在用SDN技術來解決現網中的安全問題和用SDN技術來實現安全服務,對于SDN網絡自身的安全問題研究也會隨著SDN網絡的普及和應用而深入展開。
電子發燒友App












評論