軟體定義網路

Emulex提出的網路創新架構

軟體定義網路(Software Defined Network,SDN),是由Emulex提出的一種新型網路創新架構,其核心技術OpenFlow通過將網路設備控制面與數據面分離開來,從而實現了網路流量的靈活控制,為核心網路及應用的創新提供了良好的平台。

歷史發展


2006年,SDN誕生於美國GENI項目資助的斯坦福大學Clean Slate課題,斯坦福大學Nick McKeown教授為首的研究團隊提出了Openflow的概念用於校園網路的試驗創新,後續基於Openflow給網路帶來可編程的特性,SDN的概念應運而生。Clean Slate項目的最終目的是要重新發明英特網,旨在改變設計已略顯不合時宜,且難以進化發展的現有網路基礎架構。2007年,斯坦福大學的學生Martin Casado 領導了一個關於網路安全與管理的項目Ethane,該項目試圖通過一個集中式的控制器,讓網路管理員可以方便地定義基於網路流的安全控制策略,並將這些安全策略應用到各種網路設備中,從而實現對整個網路通訊的安全控制。2008年,基於Ethane及其前續項目Sane的啟發,Nick McKeown教授等人提出了OpenFlow的概念,並於當年在ACM SIGCOMM發表了題為《OpenFlow:Enabling Innovation in Campus Networks》的論文,首次詳細地介紹了OpenFlow的概念。該篇論文除了闡述OpenFlow的工作原理外,還列舉了OpenFlow幾大應用場景。基於OpenFlow為網路帶來的可編程的特性,Nick McKeown教授和他的團隊進一步提出了SDN(Software Defined Network,軟體定義網路)的概念。2009年,SDN概念入圍Technology Review年度十大前沿技術,自此獲得了學術界和工業界的廣泛認可和大力支持。2009年12月,OpenFlow規範發布了具有里程碑意義的可用於商業化產品的1.0版本。如OpenFlow在Wireshark抓包分析工具上的支持插件、OpenFlow的調試工具(liboftrace)、OpenFlow虛擬計算機模擬(OpenFlowVMS)等也已日趨成熟。OpenFlow規範已經經歷了1.1、1.2以及1.3等版本。OpenFlow1.4標準已經在ONF內部審閱,預計2013年8月初將獲得批准發布。2011年3月,在Nick Mckeown教授等人的推動下,開放網路基金會ONF成立,主要致力於推動SDN架構、技術的規範和發展工作。ONF成員96家,其中創建該組織的核心會員有7家,分別是GoogleFacebookNTT、、Verizon德國電信微軟、雅虎。2011年4月,美國印第安納大學、Internet2聯盟與斯坦福大學Clean Slate項目宣布聯手開展網路開發與部署行動計劃(NDDI),旨在共同創建一個新的網路平台與配套軟體,以革命性的新方式支持全球科學研究。NDDI利用了OpenFlow技術提供的“軟體定義網路(SDN)”功能,並將提供一個可創建多個虛擬網路的通用基礎設施,允許網路研究人員應用新的網際網路協議與架構進行測試與實驗,同時幫助領域科學家通過全球合作促進研究。2011年12月,第一屆開放網路峰會(Open Networking Summit)在北京召開,此次峰會邀請了國內外在SDN方面先行的企業介紹其在SDN方面的成功案例;同時世界頂級網際網路、通信網路與IT設備集成商公司探討了如何實現在全球數據中心部署基於SDN的硬體和軟體,為OpenFlow和SDN在學術界和工業界做了很好的介紹和推廣。2012年4月,ONF發布了SDN白皮書(Software Defined Networking:The New Norm for Networks),其中的SDN三層模型獲得了業界廣泛認同。2012年SDN完成了從實驗技術向網路部署的重大跨越:覆蓋美國上百所高校的INTERNET2部署SDN;德國電信等運營商開始開發和部署SDN;成功推出SDN商用產品新興的創業公司在資本市場上備受矚目,BIG switch兩輪融資超過3800萬元。2012年4月,谷歌宣布其主幹網路已經全面運行在OpenFlow上,並且通過10G網路鏈接分佈在全球各地的12個數據中心,使廣域線路的利用率從30%提升到接近飽和。從而證明了OpenFlow不再僅僅是停留在學術界的一個研究模型,而是已經完全具備了可以在產品環境中應用的技術成熟度。2012年7月,軟體定義網路(SDN)先驅者、開源政策網路虛擬化私人控股企業Nicira以12.6億被VMware收購。Nicira是一家顛覆數據中心的創業公司,它基於開源技術OpenFlow創建了網路虛擬平台(NVP)。OpenFlow是Nicira聯合創始人Martin Casado在斯坦福攻讀博士學位期間創建的開源項目,Martin Casado的兩位斯坦福大學教授Nick McKeown和Scott Shenker同時也成為了Nicira的創始人。VMware的收購將Casado十幾年來所從事的技術研發全部變成了現實——把網路軟體從硬體伺服器中剝離出來,也是SDN走向市場的第一步。2012年,國家“863”項目“未來網路體系結構和創新環境”獲得科技部批准。它是一個符合SDN思想的項目主要由清華大學牽頭負責,清華大學、中科院計算所北郵東南大學北京大學等分別負責各課題,項目提出了未來網路體系結構創新環境FINE(Future Internet innovation Environment)。基於FINE體系結構,將支撐各種新型網路體系結構和IPv6新協議的研究試驗。2012年底,AT&T英國電信(BT)、德國電信、Orange、義大利電信、西班牙電信公司和Verizon聯合發起成立了網路功能虛擬化產業聯盟(Network Functions Virtualisation,NFV),旨在將SDN的理念引入電信業。由52家網路運營商、電信設備供應商、IT設備供應商以及技術供應商組建。2013年4月,思科和IBM聯合微軟、Big Switch、博科思傑戴爾愛立信富士通英特爾瞻博網路NEC惠普紅帽和VMware等發起成立了Open Daylight,與LINUX基金會合作,開發SDN控制器、南向/北向API等軟體,旨在打破大廠商對網路硬體的壟斷,驅動網路技術創新力,使網路管理更容易、更廉價。這個組織中只有SDN的供應商,沒有SDN的用戶——網際網路或者運營商。Open Daylight項目的範圍包括SDN控制器,API專有擴展等,並宣布要推出工業級的開源SDN控制器2013年4月底,中國首個大型SDN會議——中國SDN大會在京召開,三大運營商唱起主角。中國電信主導提出在現有網路(NGN)中引入SDN的需求和架構研究,已於2014年2月成功立項S-NICE標準,“S-NICE”是在智能管道中使用SDN技術的一種智能管道應用的特定形式。中國移動則提出了“SDN在WLAN網路上的應用”等課題。
回顧網路創新的發展歷史,在20世紀90年代中期認為“推動網路的創新,需要在一個簡單的硬體數據通路上編程”,即動態網路。它的問題在於隔離性、性能、複雜度。20世紀90年代後期認為,“為了推動網路創新,我們需要底層的數據通道是可編程的”,也即網路處理器。它的問題在於加劇了數據通道底層的複雜度。事實上在網路領域,我們一直以來沒有分清一個簡單通用的硬體底層與一個開放的上層編程環境之間的界限。之前的嘗試往往犯以下錯誤:
1. 假設當前的IP路由底層是固定的,並試圖在其外部編程,包括路由協議;
2. 自上而下地定義編程和控制模型。(但事實上Intel在選擇x86指令集的時候,並沒有定義Windows XP、Linux或者VMware)
在經過多次的犯錯、失敗后,網路創新終於取得了突破,新一代網際網路技術的代表——SDN終於誕生。
2009年,Mckeown教授正式提出了SDN概念。
2013年8月29日,北京,2013中國SDN與開放網路高峰會議(第二屆)在京舉辦,眾多國內外運營商、廠商及業界專家學者將雲集於此,共同探討SDN、開放網路等相關主題。

設計


從路由器的設計上看,它由軟體控制和硬體數據通道組成。軟體控制包括管理(CLI,SNMP)以及 路由協議(OSPF,ISIS,BGP)等。數據通道包括針對每個包的查詢、交換和緩存。這方面有大量論文在研究,引出三個開放性的話題,即“提速2倍”,確定性的(而不是概率性的)交換機設計,以及讓路由器簡單。
事實上在路由器設計方面已經迷失了方向,因為有太多的複雜功能加入到了體系結構當中,比如OSPF,BGP,組播,區分服務,流量工程,NAT,防火牆,MPLS,冗餘層等等。

優勢


軟體定義網路
軟體定義網路
傳統IT架構中的網路,根據業務需求部署上線以後,如果業務需求發生變動,重新修改相應網路設備(路由器、交換機、防火牆)上的配置是一件非常繁瑣的事情。在網際網路/移動網際網路瞬息萬變的業務環境下,網路的高穩定與高性能還不足以滿足業務需求,靈活性和敏捷性反而更為關鍵。SDN所做的事是將網路設備上的控制權分離出來,由集中的控制器管理,無須依賴底層網路設備(路由器、交換機、防火牆),屏蔽了來自底層網路設備的差異。而控制權是完全開放的,用戶可以自定義任何想實現的網路路由和傳輸規則策略,從而更加靈活和智能。
假如網路中有SIPFTP流媒體幾種業務,網路的總帶寬是一定的,那麼如果某個時刻流媒體業務需要更多的帶寬和流量,在傳統網路中很難處理,在SDN改造后的網路中這很容易實現,SDN可以將流量整形、規整,臨時讓流媒體的“管道”更粗一些,讓流媒體的帶寬更大些,甚至關閉SIP和FTP的“管道”,待流媒體需求減少時再恢復原先的帶寬佔比。
正是因為這種業務邏輯的開放性,使得網路作為“管道”的發展空間變為無限可能。如果未來雲計算的業務應用模型可以簡化為“雲—管—端”,那麼SDN就是“管”這一環的重要技術支撐。
SDN是當前網路領域最熱門和最具發展前途的技術之一。鑒於SDN巨大的發展潛力,學術界深入研究了數據層及控制層的關鍵技術,並將SDN成功地應用到企業網和數據中心等各個領域。
傳統網路的層次結構是網際網路取得巨大成功的關鍵。但是隨著網路規模的不斷擴大,封閉的網路設備內置了過多的複雜協議,增加了運營商定製優化網路的難度,科研人員無法在真實環境中規模部署新協議。同時,網際網路流量的快速增長,用戶對流量的需求不斷擴大,各種新型服務不斷出現,增加了網路運維成本。傳統IT架構中的網路在根據業務需求部署上線以後,由於傳統網路設備的固件是由設備製造商鎖定和控制的,如果業務需求發生變動,重新修改相應網路設備上的配置是一件非常繁瑣的事情。在網際網路瞬息萬變的業務環境下,網路的高穩定與高性能還不足以滿足業務需求,靈活性和敏捷性反而更為關鍵。因此,SDN希望將網路控制與物理網路拓撲分離,從而擺脫硬體對網路架構的限制。
SDN所做的事是將網路設備上的控制權分離出來,由集中的控制器管理,無須依賴底層網路設備,屏蔽了底層網路設備的差異。而控制權是完全開放的,用戶可以自定義任何想實現的網路路由和傳輸規則策略,從而更加靈活和智能。進行SDN改造后,無需對網路中每個節點的路由器反覆進行配置,網路中的設備本身就是自動化連通的,只需要在使用時定義好簡單的網路規則即可。因此,如果路由器自身內置的協議不符合用戶的需求,可以通過編程的方式對其進行修改,以實現更好的數據交換性能。這樣,網路設備用戶便可以像升級、安裝軟體一樣對網路架構進行修改,滿足用戶對整個網路架構進行調整、擴容或升級的需求,而底層的交換機、路由器等硬體設備則無需替換,節省大量成本的同時,網路架構的迭代周期也將大大縮短。
總之,SDN具有傳統網路無法比擬的優勢:首先,數據控制解耦合使得應用升級與設備更新換代相互獨立,加快了新應用的快速部署;其次,網路抽象簡化了網路模型,將運營商從繁雜的網路管理中解放出來,能夠更加靈活地控制網路;最後,控制的邏輯中心化使用戶和運營商等可以通過控制器獲取全局網路信息,從而優化網路,提升網路性能。
SDN 是當前最熱門的網路技術之一,它解放了手工操作,減少了配置錯誤,易於統一快速部署。它被MIT列為“改變世界的十大創新技術之一”。SDN相關技術研究在全世界範圍內也迅速開展,成為近年來的研究熱點。2013年,SIGCOMM會議收錄了多篇相關文章,甚至將SDN列為專題來研討,帶動了SDN相關研究的蓬勃發展。

對比


計算機系統的持續革新已經創造了新的抽象層,從最初的操作系統到如今的虛擬化。每次都抽象底層的硬體,同時在上層創造一個新的用於競爭和革新的平台。然而在網路方面,軟硬體的功能劃分就不那麼清晰,正確的可編程平台變得難以捉摸,以至於我們開發了動態網路、網路處理器和軟體路由。一個逐步顯現的趨勢指出,越來越多的網路基礎設施將用數據通道之外的軟體來定義。
對比計算機領域,PC工業已經找到一個簡單可用的硬體底層(x86指令集)。在軟體定義方面,頂層(應用程序)和底層(操作系統和虛擬化)都在爆炸式地發展。開源方面,有10萬個開發者參與了標準化進程,加速了創新。可見,硬體底層+軟體定義的網路+開源文化就能推動創新,網路創新亦需如此,這個底層需要我們去實現。
一個簡單穩定通用的底層需要具備以下屬性:
1. 允許應用程序的繁榮發展。比如在網際網路領域,穩定的IPv4帶來了Web的繁榮;
2. 允許其頂部的基礎設施能用軟體定義。比如網際網路領域的路由協議、管理等;
3. 體系結構本身能夠快速創新。

設計思想


1.在底層和開放編程環境之間要有一個清晰的分割;
2.設計一個簡單的硬體底層,能夠包括和簡化當前的底層;
3.極少的使用事先形成的有關底層如何被編程的想法;
4.強隔離。
在設計硬體底層方面,我們要用最少的基於流的數據通路來緩存決策,也即實現一個基於流的底層。我們需要對流進行靈活的定義,如單播、組播、導航點、負載均衡,並且支持不同類型的流的聚類;我們需要控制流,把流作為編程的實體:能對它路由、私有化、移動……我們還要吸取包交換的益處,因為它切實可行,能全局部署,而且很有效率——當然是在它很簡單的時候。
綜合上述考慮,定義了一個名為“流空間”的底層,它有以下屬性:
1.後向兼容。當前的分層結構是它的一個特例,而且端點不需要修改;
2.容易在硬體上部署,比如在每個交換機上部署TCAM流表;
3.流之間能清晰分離,具有簡單的幾何結構,能證明哪個流能或者不能通訊。
作為底層,它有以下屬性:
第一,基於流;第二,對每個流只有少量的動作,如轉發給埠;轉發給控制器;重寫頭,在流空間之間路由;根據最小/最大速率分隔帶寬等;第三,外部的針對流表的開放API。
利用分層的思想,SDN將數據與控制相分離。在控制層,包括具有邏輯中心化和可編程的控制器,可掌握全局網路信息,方便運營商和科研人員管理配置網路和部署新協議等。在數據層,包括啞的交換機(與傳統的二層交換機不同,專指用於轉發數據的設備),僅提供簡單的數據轉發功能,可以快速處理匹配的數據包,適應流量日益增長的需求。兩層之間採用開放的統一介面(如OpenFlow等)進行交互。控制器通過標準介面向交換機下發統一標準規則,交換機僅需按照這些規則執行相應的動作即可。
軟體定義網路的思想是通過控制與轉發分離,將網路中交換設備的控制邏輯集中到一個計算設備上,為提升網路管理配置能力帶來新的思路。SDN的本質特點是控制平面和數據平面的分離以及開放可編程性。通過分離控制平面和數據平面以及開放的通信協議,SDN打破了傳統網路設備的封閉性。此外,南北向和東西向的開放介面及可編程性,也使得網路管理變得更加簡單、動態和靈活。

相關會議


2012中國SDN與開放網路高峰會議(第一屆)
2012年12月6日:北京,中國以“未來網路的演進之路”為主題的2012中國SDN與開放網路高峰會議在北京隆重召開,本次峰會獲得國際組織ONF(開放網路基金會)的大力支持,Justin Joubine Dustzadeh博士代表ONF向大會致辭並發表主題演講,指出SDN這一顛覆性的技術將對未來網路產生革命性的影響。本次大會由下一代網際網路產業聯盟SDN與開放網路專業委員會主辦,中國通信標準化協會副理事長兼秘書長楊澤民,中關村國家自主創新示範區管委會產業處副處長徐劍,大會組委會主席天地互連總裁劉東出席了高峰會議並致辭。參加大會的還有海內外運營商、設備商及業界專家學者近500餘人,共同探討SDN、開放網路等相關熱點。會上,工業與信息化部電信研究院科技委主任蔣林濤發表了題為“網際網路技術發展的新走向”的主題演講,他指出中國面臨的最迫切問題就是如何解決下一代網際網路的問題,通過研究發現,SDN能實質性地提高網路性能,它在中國有著極大的市場潛力。與此同時,本屆峰會最大的亮點之一,國內三大運營商研究機構齊聚本次SDN與開放網路高峰會議。中國電信北京研究院副院長趙慧玲,中國移動通信研究院網路研究所所長段曉東,中國聯通研究院副總工程師唐雄燕都在會上發表了精彩的主題演講,對影響下一代網際網路基礎網路架構的SDN與網路虛擬化技術進行深入研討,期待SDN等新一代網際網路技術可以解決現有網路基礎設施進一步擴展等相關問題,同時研究SDN等技術為大型數據中心等提供更為優質的服務。本屆峰會以全球視野謀划和推動創新,深入研討SDN這一下一代網際網路關鍵技術,推動未來網際網路技術創新。在會上,浙江大學吳春明教授講解了國際SDN技術和我國創新網路技術的發展進程及研究實踐,清華大學畢軍教授描述了如何使用開發網路技術來更好地支持新的網路構架或新協議。Red hat、xNet、華為中興、武漢綠網、盛科網路神州數碼銳捷網路等國內外知名企業都在會上詳細講解了其基於SDN技術的最新網路設備與解決方案,部分頂級網際網路公司也在會上向與會觀眾分享了其在SDN軟體層面進行的研究與嘗試。SDN已逐漸成為ICT領域最為矚目的技術趨勢之一,未來網路的產業格局勢必將因此產生變革。作為中國首次高規格、大規模的SDN與開放網路交流盛會,2012中國SDN與開放網路高峰會議為期一天,現場除主題演講外,同時舉辦了包括NEC、愛立信等國際企業代表參與的兩場精英論壇,就各自在SDN與開放網路領域的實施進行了充分的闡述和交流。清華大學、華為、xNet、武漢綠網等企業還在現場向與會觀眾及媒體展示了成熟的基於SDN技術的產品及解決方案。在會上,中國SDN與開放網路專業委員會正式舉行了揭牌儀式,浙江大學、清華大學、天地互連、中國電信北京研究院、騰訊科技、華為、中興、神州數碼、華三通信、盛科網路、武漢綠網、銳捷網路等十二家單位共同拉開了專委會的大幕。成立后的中國SDN與開放網路專業委員會將面向中國IT產業開展SDN信息與技術交流,理論與實踐相結合,研討相關技術標準的發展與演進,進一步推動未來網路技術前行。2013中國SDN與開放網路高峰會議(第二屆)
2013年8月29日-30日:北京,中國2013 中國SDN與開放網路高峰會議(第二屆)於2013年8月29-30日在北京舉辦,眾多國內外運營商、廠商及業界專家學者將雲集於此,共同探討SDN、開放網路等相關主題。2013中國SDN與開放網路高峰會議由中國SDN與開放網路高峰會議組委會主辦,大會組委會由中國通信標準化協會、中國網際網路協會、開放數據中心聯盟、雲計算開放聯盟、中關村雲計算聯盟、中關村下一代網際網路產業聯盟、中國電信、清華大學等支持單位共同建立。繼2012年12月首屆大會成功於北京召開后,2013年SDN發展的驚人步伐使得此次大會繼續獲得國際國內權威機構的支持,ONF(開放網路基金會)將深度參與此次活動,執行總裁Dan Pitt將全程參與本次峰會的所有活動;眾多國內外運營商、設備廠商、網際網路公司、數據中心、雲企業及業界專家學者將雲集於此,共同探討SDN與開放網路等相關技術,並對SDN高速商業化之路進行專業分析。在2012年中,SDN從實驗室走向資本市場的步伐達到了最快:約二十家相關廠商被收購,交易金額近百億美元;涉SDN項目的風險投資公司從數量上及資本上都達到了新高。SDN以其對網路資源的高度可控性所引發工業界及學術界的熱切持續關注,商業化的順利進行為最大限度挖掘SDN市場的潛在價值提供了強力的資本支持。本次峰會話題涵蓋SDN全球發展、標準推廣應用、技術研討、應用案例與解決方案等各個方面。大會預計將有1000+人次專業觀眾參與,100+發言嘉賓,30+參展商。會議同期還將設有互通性測試、展覽、高峰對話、VIP會談等。

體系結構


SDN的整體架構由下到上(由南到北)分為數據平面、控制平面和應用平面,具體如圖1-1所示。其中,數據平面由交換機等網路通用硬體組成,各個網路設備之間通過不同規則形成的SDN數據通路連接;控制平面包含了邏輯上為中心的SDN控制器,它掌握著全局網路信息,負責各種轉發規則的控制;應用平面包含著各種基於SDN的網路應用,用戶無需關心底層細節就可以編程、部署新應用。
控制平面與數據平面之間通過SDN控制數據平面介面(control-data-plane interface,簡稱CDPI)進行通信,它具有統一的通信標準,主要負責將控制器中的轉發規則下發至轉發設備,最主要應用的是OpenFlow協議。控制平面與應用平面之間通過SDN北向介面(northbound interface,簡稱NBI)進行通信,而NBI並非統一標準,它允許用戶根據自身需求定製開發各種網路管理應用。
SDN中的介面具有開放性,以控制器為邏輯中心,南向介面負責與數據平面進行通信,北向介面負責與應用平面進行通信,東西向介面負責多控制器之間的通信。最主流的南向介面CDPI採用的是OpenFlow協議。OpenFlow最基本的特點是基於流(Flow)的概念來匹配轉發規則,每一個交換機都維護一個流表(Flow Table),依據流表中的轉發規則進行轉發,而流表的建立、維護和下發都是由控制器完成的。針對北向介面,應用程序通過北向介面編程來調用所需的各種網路資源,實現對網路的快速配置和部署。東西向介面使控制器具有可擴展性,為負載均衡和性能提升提供了技術保障。

關鍵技術


數據平面關鍵技術
在SDN中,數據轉發與規則控制相分離,交換機將轉發規則的控制權交由控制器負責,而它僅根據控制器下發的規則對數據包進行轉發。為了避免交換機與控制器頻繁交互,雙方約定的規則是基於流而並非基於每個數據包的。SDN數據平面相關技術主要體現在交換機和轉發規則上。
SDN交換機的數據轉發方式大體分為硬體和軟體兩種。硬體方式相比軟體方式具有更快的速度,但靈活性會有所降低。為了使硬體能夠更加靈活地進行數據轉發操作,Bosshart等人提出了RMT模型,該模型實現了一個可重新配置的匹配表,它允許在流水線階段支持任意寬度和深度的流表。從結構上看,理想的RMT模型是由解析器、多個邏輯匹配部件以及可配置輸出隊列組成。具體的可配置性體現在:通過修改解析器來增加域定義,修改邏輯匹配部件的匹配表來完成新域的匹配,修改邏輯匹配部件的動作集來實現新的動作,修改隊列規則來產生新的隊列。所有更新操作都通過解析器完成,無需修改硬體,只需在晶元設計時留出可配置介面即可,實現了硬體對數據的靈活處理。
另一種硬體靈活處理技術FlowAdapter採用交換機分層的方式來實現多表流水線業務。FlowAdapter交換機分為三層,頂層是軟體數據平面,它可以通過更新來支持任何新的協議;底層是硬體數據平面,它相對固定但轉發效率較高;中層是FlowAdapter平面,它負責軟體數據平面和硬體數據平面間的通信。當控制器下發規則時,軟體數據平面將其存儲並形成M段流表,由於這些規則相對靈活,不能全部由交換機直接轉化成相應轉發動作,因此可利用FlowAdapter將規則進行轉換,即將相對靈活的M段流錶轉換成能夠被硬體所識別的N段流表。這就解決了傳統交換機與控制器之間多表流水線技術不兼容的問題。
與硬體方式不同,軟體的處理速度低於硬體,但軟體方式可以提升轉發規則處理的靈活性。利用交換機CPU或NP處理轉發規則可以避免硬體靈活性差的問題。由於NP專門用來處理網路任務,因此在網路處理方面,NP略強於CPU。
在傳統網路中,轉發規則的更新可能會出現不一致現象,SDN也如此。針對這種問題的一種解決方案是將配置細節抽象至較高層次以便統一更新。一般採用兩段提交的方式來更新規則。首先,當規則需要更新時,控制器詢問每個交換機是否處理完對應舊規則的流,確認后對處理完畢的所有交換機進行規則更新;之後當所有交換機都更新完畢時才真正完成更新,否則撤銷之前所有的更新操作。然而,這種方式需要等待舊規則的流全部處理完畢后才能進行規則更新,會造成規則空間被佔用的情況。增量式一致性更新演演算法可以解決上述問題,該演演算法將規則更新分多輪進行,每一輪都採用二段提交方式更新一個子集,這樣可以節省規則空間,達到更新時間與規則空間的折中。
控制平面關鍵技術
控制器是控制平面的核心部件,也是整個SDN體系結構中的邏輯中心。隨著SDN網路規模的擴展,單一控制器結構的SDN網路處理能力受限,遇到了性能瓶頸,因此需要對控制器進行擴展。目前存在兩種控制器擴展方式:一種是提高自身控制器處理能力,另一種是採用多控制器方式。
最早且廣泛使用的控制器平台是NOX ,這是一種單一集中式結構的控制器。針對控制器擴展的需求,NOX-MT提升了NOX的性能,具有多線程處理能力。NOX-MT並未改變NOX的基本結構,而是利用了傳統的并行處理技術來提升性能。另一種并行控制器是Maestro,它通過良好的并行處理架構,充分發揮了高性能伺服器的多核并行處理能力,使其在大規模網路情況下的性能明顯優於NOX。
但在多數情況下,大規模網路僅僅依靠單控制器并行處理的方式來解決性能問題是遠遠不夠的,更多的是採用多控制器擴展的方式來優化SDN網路。控制器一般可採用兩種方式進行擴展:一種是扁平控制方式,另一種是層次控制方式。
在扁平控制方式中,各控制器放置於不同的區域,分管不同的網路設備,各控制器地位平等,邏輯上都掌握著全網信息,依靠東西向介面進行通信,當網路拓撲發生變化時,所有控制器將同步更新,而交換機僅需調整與控制器間的地址映射即可,因此扁平控制方式對數據平面的影響很小。在層次控制方式中,控制器分為局部控制器和全局控制器,局部控制器管理各自區域的網路設備,僅掌握本區域的網路狀態,而全局控制器管理各局部控制器,掌握著全網狀態,局部控制器間的交互也通過全局控制器來完成。