軟件定義網絡SDN_第1頁
軟件定義網絡SDN_第2頁
軟件定義網絡SDN_第3頁
軟件定義網絡SDN_第4頁
軟件定義網絡SDN_第5頁
已閱讀5頁,還剩141頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

具有快速對網絡作出調整能力、使管理人員能夠以更安全的方式來執行流量整形和數據包QoS的:

軟件定義網絡SDN

2024/11/211目錄SDN的核心技術:OpenFlowSDN目前的現狀SDN未來的發展趨勢SDNSDN的背景及特性2024/11/2121SDN的背景傳統的網絡設備(交換機、路由器)的固件是由設備制造商鎖定和控制,因為交換機和路由器在制造時,已經將分組的轉發功能和控制功能結合到一起,在這些傳統的網絡中,有關對網絡的管理控制和分組的轉發都是由交換機、路由器完成的。2024/11/213典型的路由器的結構(注意:圖中的數字1、2、3表示相應層次的構件,路由器的緩存在圖外)問題:交換機、路由器對網絡的管理控制功能過強,網絡的管理分散,網絡的調整困難。期望:將網絡控制與物理網絡拓撲分離,從而擺脫硬件對網絡架構的限制。這樣企業便可以像升級、安裝軟件一樣對網絡架構進行修改,滿足企業對整個網站架構進行調整、擴容或升級。而底層的交換機、路由器等硬件則無需替換,節省大量的成本的同時,網絡架構迭代周期將大大縮短。2024/11/2141SDN的背景2

SDN的起源SDN是由美國斯坦福大學Cleanslate研究組提出的一種新型網絡創新架構,實現了網絡流量的靈活控制,為核心網絡及應用的創新提供了良好的平臺。2006年,斯坦福的學生MartinCasado領導了一個關于網絡安全與管理的項目Ethane,該項目試圖通過一個集中式的控制器,讓網絡管理員可以方便地定義基于網絡流的安全控制策略,并將這些安全策略應用到各種網絡設備中,從而實現對整個網絡通訊的安全控制。2024/11/215受此項目(及Ethane的前續項目Sane)啟發,Martin和他的導師NickMcKeown教授(時任CleanSlate項目的Faculty

Director)發現,如果Ethane的設計更一般化,將傳統網絡設備的數據轉發(dataplane)和路由控制(controlplane)兩個功能模塊相分離,通過集中式的控制器(Controller)以標準化的接口對各種網絡設備進行管理和配置,那么這將為網絡資源的設計、管理和使用提供更多的可能性,從而更容易推動網絡的革新與發展。于是,他們便提出了OpenFlow的概念。2024/11/2162

SDN的起源如何將網絡控制與物理網絡拓撲分離?可以利用分層的思想,把網絡的管理功能集中起來。具體說來就是通過分層,先把網絡的控制功能分離,然后集中就可以實現這一思想。SDN將數據與控制相分離的作法是:在控制層,設計包括具有邏輯中心化和可編程的控制器,可掌握全局網絡信息,方便運營商和科研人員管理配置網絡和部署新協議等.在數據層,設計啞的(dumb)交換機(只做不說,與傳統的二層交換機不同,專指用于轉發數據的設備).交換機僅提供簡單的數據轉發功能,可以快速處理匹配的數據包,適應流量日益增長的需求.兩層之間采用開放的統一接口(如OpenFlow等)進行交互.2024/11/2172

SDN的起源SDN的起源控制器通過標準接口向交換機下發統一標準規則,交換機僅需按照這些規則執行相應的動作即可.因此,SDN技術能夠有效降低設備負載,協助網絡運營商更好地控制基礎設施,降低整體運營成本,成為最具前途的網絡技術之一.SDN被MIT列為“改變世界的十大創新技術之一”。SDN相關技術研究迅速開展起來,成為近年來的研究熱點.2013年起,SIGCOMM會議收錄了多篇相關文章,甚至將SDN列為專題來研討,帶動了SDN相關研究的蓬勃發展。2024/11/218SDN的起源該項目試圖通過一個集中式的控制器,讓網絡管理員可以方便地定義基于網絡流的安全控制策略,并將這些安全策略應用到各種網絡設備中,從而實現對整個網絡通訊的安全控制。受到此項目的啟發,斯坦福的老師和學生將Ethane的設計更一般化,將傳統網絡設備的數據轉發(dataplane)和路由控制(controlplane)兩個功能模塊相分離,通過集中式的控制器(Controller)以標準化的接口對各種網絡設備進行管理和配置。2008年,他們提出了OpenFlow的概念。2024/11/219SDN的起源NickMcKeown等人于2008年在ACM

SIGCOMM發表了題為OpenFlow:Enabling

Innovation

in

Campus

Networks的論文,首次詳細地介紹了OpenFlow的概念。該篇論文除了闡述OpenFlow的工作原理外,還列舉了OpenFlow幾大應用場景,包括:1)校園網絡中對實驗性通訊協議的支持(如其標題所示);2)網絡管理和訪問控制;3)網絡隔離和VLAN;4)基于WiFi的移動網絡;5)非IP網絡;6)基于網絡包的處理。當然,目前關于OpenFlow的研究已經遠遠超出了這些領域。2024/11/2110SDN的起源基于OpenFlow為網絡帶來的可編程的特性,Nick和他的團隊(包括加州大學伯克利分校的ScottShenker教授)進一步提出了SDN(SoftwareDefined

Network,目前國內多直譯為“軟件定義網絡”)的概念。其實,SDN的概念據說最早是由KateGreene于2009年在TechnologyReview網站上評選年度十大前沿技術時提出。如果將網絡中所有的網絡設備視為被管理的資源,那么參考操作系統的原理,可以抽象出一個網絡操作系統(NetworkOS)的概念—這個網絡操作系統一方面抽象了底層網絡設備的具體細節,同時還為上層應用提供了統一的管理視圖和編程接口。這樣,基于網絡操作系統這個平臺,用戶可以開發各種應用程序,通過軟件來定義邏輯上的網絡拓撲,以滿足對網絡資源的不同需求,而無需關心底層網絡的物理拓撲結構。2024/11/2111SDN是什么?所以:SDN(SoftwareDefinedNetwork,軟件定義網絡)是一種新興的控制與轉發分離并直接可編程的網絡架構。傳統網絡設備緊耦合的網絡架構被分拆成應用、控制、轉發三層分離的架構??刂乒δ鼙晦D移到了服務器,上層應用、底層轉發設施被抽象成多個邏輯實體。至于OpenFlow只是基于開放協議的SDN實現中可使用的南向接口之一,后續可能還會有很多的南向接口(例如ForCES、PCE-P等等)被陸續應用和推廣。所以OpenFlow是SDN中的一項重要技術,但是OpenFlow不等于SDN。2024/11/2112SDN的特性1、控制轉發分離:支持第三方控制面設備通過OpenFlow等開放式的協議遠程控制通用硬件的交換/路由功能。2、控制平面集中化:提高路由管理靈活性,加快業務開通速度,簡化運維。3、轉發平面通用化:多種交換、路由功能共享通用硬件設備。4、控制器軟件可編程:可通過軟件編程方式滿足客戶化定制需求。2024/11/2113目錄SDN的核心技術:OpenFlowSDN目前的現狀SDN未來的發展趨勢SDNSDN的背景及特性2024/11/2114SDN的設計思想SDN技術就相當于把每人家里路由器的的管理設置系統和路由器剝離開,并且集中起來。以前我們每臺路由器都有自己的管理系統,而有了SDN之后,一個管理系統可用在所有品牌的路由器上。如果說現在的網絡系統是功能機,系統和硬件出廠時就被捆綁在一起,那么SDN就是Android系統,可以在很多智能手機上安裝、升級,同時還能安裝更多更強大的手機App(SDN應用層部署)。2024/11/2115SDN的核心技術:OpenFlowOpenFlow起源

OpenFlow由斯坦福大學和加州大學伯克利分校領導的大學聯盟所發起,他們的初衷是讓研究人員可將企業級以太網交換機作為定制構件用于大學的網絡實驗。

OpenFlow的核心思想很簡單,就是將原本完全由交換機/路由器控制的數據包轉發過程,轉化為由OpenFlow交換機(OpenFlowSwitch)和控制服務器(Controller)分別完成的獨立過程。2024/11/2116控制服務器SDN的核心技術:OpenFlow這種分布式的實現方式,讓控制平面可以和轉發平面物理的分離開,控制平面完全可以運行在運算能力更強的服務器上,而不是路由器。OpenFlow協議則是分離的兩者之間的通信協議。這一點,使我們回憶起智能網的發展過程。在交換機實現程控用戶,程控交換機不僅能完成電路交換的任務,還有許多其他的功能,如三方通話,鬧鐘,交換控制等等。但是,交換機在完成這些許多的附加功能用戶,又顯出任務過重的弊病。為此,把各種非交換的功能集中起來,用專門的計算機來實現,就形成了智能網。2024/11/2117SDN的核心技術:OpenFlow基于OpenFlow為網絡帶來的可編程的特性,有研究人員提出了SDN即SoftwareDefinedNetwork(2009年)。在這個概念中,網絡中所有的網絡設備被視為被管理的資源,以此抽象出一個網絡操作系統(NetworkOS)的概念;這個網絡操作系統一方面抽象了底層網絡設備的具體細節,同時還為上層應用提供了統一的管理視圖和編程接口。SDN和OpenFlow的關系,就像互聯網之于TCP/IP協議棧。OpenFlow是SDN的核心協議,用于控制轉發面設備的控制轉發,而SDN是上層的界面。2024/11/2118SDN的核心技術:OpenflowOpenFlow要解決的問題

現代大規模的網絡環境十分復雜,給管理帶來較大的難度。特別對于企業網絡來說,管控需求繁多,應用、資源多樣化,安全性、擴展性要求都特別高。因此,網絡管理始終是研究的熱點問題。對于傳統網絡來說,交換機等設備提供的可觀測性和控制性都十分有限。一方面管理員難以實時獲取足夠的網絡統計信息,另一方面控制手段十分單一,依賴于靜態的policy部署。而基于軟件定義網絡,這兩方面的問題幾乎迎刃而解。2024/11/2119OpenFlow網絡架構:設想和總體規劃OpenFlow交換機進行數據層的轉發;FlowVisor對網絡進行虛擬化;Controller對網絡進行集中控制,實現控制層的功能2024/11/2120OpenFlow交換機組成OpenFlow交換機由流表、安全通道和OpenFlow協議三部分組成2024/11/2121網絡操作系統NOX參考模型

正如計算機操作系統本身并不實現復雜的各種軟件功能,NOX

本身并不完成對網絡管理任務,而是通過在其上運行的各種“應用”(Application)來實現具體的管理任務。

管理者和開發者可以利用高級語言來專注到這些應用的開發上,而無需花費時間在對底層細節的分析上。為了實現這一目的,NOX需要提供盡可能通用(General)的接口,來滿足各種不同的管理需求。2024/11/2122SDN的體系結構針對不同的需求,許多組織提出了相應的SDN參考架構。SDN架構最先由ONF(開放網絡基金會)組織提出,并已經成為學術界和產業界普遍認可的架構.除此之外,歐洲電信標準化組織(Europeantelecommunicationsstandardsinstitute,簡稱ETSI)提出的NFV架構緊跟著發展起來,該體系結構主要針對運營商網絡,并得到了業界的支持.由各大設備廠商和軟件公司共同提出了OpenDaylight,目的是為了具體實現SDN架構,以便用于實際部署.2024/11/2123SDN的體系結構:三個平面ONF組織最初在白皮書中提到SDN體系結構,并于2013年底發布最新版本,其架構如圖1所示.SDN由下到上(或稱由南向北)分為數據平面、控制平面和應用平面。數據平面與控制平面之間利用SDN控制數據平面接口(control-data-planeinterface,簡稱CDPI)進行通信,CDPI具有統一的通信標準,目前主要采用OpenFlow協議??刂破矫媾c應用平面之間由SDN北向接口(northboundinterface,簡稱NBI)負責通信,NBI允許用戶按實際需求定制開發。2024/11/21242024/11/2125

SDN通過標準的南向接口屏蔽了底層物理轉發設備的差異,實現了資源的虛擬化,同時開放了靈活的北向接口供上層業務按需進行網絡配置并調用網絡資源。

云計算領域中知名的OpenStack就是可以工作在SDN應用層的云管理平臺,通過在其網絡資源管理組件中增加SDN管理插件,管理者和使用者可利用SDN北向接口便捷地調用SDN控制器對外開放的網絡能力。當有云主機組網需求(例如建立用戶專有的VLAN)被發出時,相關的網絡策略和配置可以在OpenStack管理平臺的界面上集中制定并進而驅動SDN控制器統一地自動下發到相關的網絡設備上。SDN的體系結構因此,網絡資源可以和其他類型的虛擬化資源一樣,以抽象的資源能力的面貌統一呈現給業務應用開發者,開發者無需針對底層網絡設備的差異耗費大量開銷從事額外的適配工作,這有助于業務應用的快速創新。SDN推動業務創新,它可以被廣泛地應用在云數據中心、寬帶傳輸網絡、移動網絡等種種場景中,其中為云計算業務提供網絡資源服務就是一個非常典型的案例。眾所周知,在當前的云計算業務中,服務器虛擬化、存儲虛擬化都已經被廣泛應用,它們將底層的物理資源進行池化共享,進而按需分配給用戶使用。相比之下,傳統的網絡資源遠遠沒有達到類似的靈活性,而SDN的引入則能夠很好地解決這一問題。2024/11/2126SDN的體系結構:數據平面和控制平面

數據平面由交換機等網絡元素組成,各網絡元素之間由不同規則形成的SDN網絡數據通路形成連接.控制平面包含邏輯中心的控制器,負責運行控制邏輯策略,維護著全網視圖.控制器將全網視圖抽象成網絡服務,通過訪問CDPI代理來調用相應的網絡數據通路,并為運營商、科研人員及第三方等提供易用的NBI,方便這些人員訂制私有化應用,實現對網絡的邏輯管理.2024/11/2127SDN的體系結構:應用平面

應用平面包含著各類基于SDN的網絡應用,用戶無需關心底層設備的技術細節,僅通過簡單的編程就能實現新應用的快速部署.CDPI負責將轉發規則從網絡操作系統發送到網絡設備,它要求能夠匹配不同廠商和型號的設備,而并不影響控制層及以上的邏輯.NBI允許第三方開發個人網絡管理軟件和應用,為管理人員提供更多的選擇.網絡抽象特性允許用戶可以根據需求選擇不同的網絡操作系統,而不影響物理設備的正常運行。2024/11/2128圖1SDN的體系結構2024/11/2129SDN中的北向接口、南向接口東西向接口北向接口(NorthboundInterface,SDN-N)提供給其他廠家或運營商進行接入和管理的接口,即向上提供的接口。其是駐留在底層網管上的一個進程,與通常所說的Agent功能相同。負責處理來自上層網管的請求報文,發送trap信息。經常簡寫為“Intf.N”一般網管提供三種北向接口,分別為CORBA(CommonObjectRequestBrokerArchitecture)、SNMP、Syslog北向接口。它們負責向上級網管系統提供基于CORBA、SNMP和Syslog協議的北向接口,支持上級網管系統通過對應的協議接入網管。2024/11/2130SDN中的北向接口、南向接口東西向接口南向接口:SDN-S管理其他廠家網管或設備的接口,即向下提供的接口。提供對其他廠家網元的管理功能,支持多種形式的接口協議,包括SNMP、TR069、SYSLOG、SOAP、SSH等接口,其中主要的是SNMPv3和TR069(即CWMP,客戶端廣域網管理協議)東西向接口:SDN設備之間的接口多個設備的控制平面之間如何協同工作,這涉及到SDN中控制平面的東西向接口的定義問題。如果沒有定義東西向接口,那么SDN充其量只是一個數據設備內部的優化技術,不同SDN設備之間還是要還原為IP路由協議進行互聯,其對網絡架構創新的影響力就十分有限。如果能夠定義標準的控制平面的東西向接口,就可以實現SDN設備“組大網”,使得SDN技術走出IDC內部和數據設備內部,成為一種有革命性影響的網絡架構。目前對于SDN東西向接口的研究還剛剛起步,IETF和ITU均未涉及這個研究領域。2024/11/2131SDN的體系結構NFV(網絡功能虛擬化)是針對運營商網絡出現的問題而提出的SDN解決方案。網絡運營商的網絡由專屬設備來部署,隨著各種新型網絡服務的產生,這些專屬設備功能變得繁雜,而管理這些繁雜的硬件設備造成運營成本及能耗增加,從而導致運營商網絡的發展遇到瓶頸。針對上述問題,NFV將傳統網絡設備的軟件與硬件相分離,使網絡功能更新獨立于硬件設備.為此,NFV采用了資源虛擬化的方式,在硬件設備中建立一個網絡虛擬層,負責將硬件資源虛擬化,形成虛擬計算資源、虛擬存儲資源和虛擬網絡資源等,運營商通過軟件來管理這些虛擬資源.2024/11/2132SDN的體系結構由于采用的是通用硬件設備,NFV降低了設備成本,減少了能耗,縮短了新網絡服務的部署周期,從而適應網絡運營商的發展需求.在接口設計方面,NFV既可以基于非OpenFlow協議,又能與OpenFlow協同工作,同時還支持ForCES等多種傳統接口標準化協議,以便適應網絡運營商對設備的不同需求,并與ONF的SDN保持相對獨立的發展。2024/11/2133SDN的體系結構OpenDaylight

的目標是通過SDN的開源開發,推進業界可部署方案具體實施,其架構由設備廠商提出并得到眾多IT軟件廠商的支持.考慮到兼容性問題,OpenDaylight繼承了SDN架構形式,同時又結合了NFV的特點。

由上可見,SDN的架構共分為3個層次,分別是網絡應用與業務流程(即應用層)、控制平臺(即控制層)和物理與虛擬網絡設備(即數據層)。OpenDaylight的控制平臺直接由自帶的Java虛擬機實現.針對不同的網絡任務,控制器自身攜帶了一系列可插入模塊,并兼容第三方模塊以增強SDN的功能。2024/11/2134SDN控制器及北向接口技術控制層是SDN的大腦,負責對底層轉發設備的集中統一控制,同時向上層業務提供網絡能力調用的接口,在SDN架構中具有舉足輕重的作用,SDN控制器也是SDN關注的焦點。從技術實現上看,控制器除了南向的網絡控制和北向的業務支撐外,還需要關注東西的擴展,以避免SDN集中控制導致的性能和安全瓶頸問題,SDN控制器也在南向、北向、東西向上引入了相應的核心技術,有效解決與各層通信以及控制集群橫向擴展的難題。當前,業界有很多基于OpenFlow控制協議的開源的控制器實現,例如NOX、Onix、Floodlight等,它們都有各自的特色設計,能夠實現鏈路發現、拓撲管理、策略制定、表項下發等支持SDN網絡運行的基本操作。雖然不同的控制器在功能和性能上仍舊存在差異,但是從中已經可以總結出SDN控制器應當具備的技術特征,從這些開源系統的研發與實踐中得到的經驗和教訓將有助于推動SDN控制器的規范化發展。2024/11/2135SDN控制器及北向接口技術用于網絡集中化控制的控制器作為SDN網絡的核心,其性能和安全性非常重要,不過控制器可能存在的負載過大、單點失效等問題一直是SDN領域中亟待解決的問題。當前,業界對此也有了很多探討,從部署架構、技術措施等多個方面提出了很多有創見的方法。2024/11/2136SDN控制器及北向接口技術SDN北向接口是通過控制器向上層業務應用開放的接口,其目標是使得業務應用能夠便利地調用底層的網絡資源和能力。通過北向接口,網絡業務的開發者能以軟件編程的形式調用各種網絡資源;同時上層的網絡資源管理系統可以通過控制器的北向接口全局把控整個網網絡的資源狀態,并對資源進行統一調度。因為北向接口是直接為業務應用服務的,因此其設計需要密切聯系業務應用需求,具有多樣化的特征。同時,北向接口的設計是否合理、便捷,以便能被業務應用廣泛調用,會直接影響到SDN控制器廠商的市場前景。2024/11/2137SDN控制器及北向接口技術與南向接口方面已有OpenFlow等國際標準不同,北向接口方面還缺少業界公認的標準,因此,北向接口的協議制定成為當前SDN領域競爭的焦點,不同的參與者或者從用戶角度出發,或者從運營角度出發,或者從產品能力角度出發提出了很多方案。據悉,目前至少有20種控制器,每種控制器會對外提供北向接口用于上層應用開發和資源編排。雖然北向接口標準當前還很難達成共識,但是充分的開放性、便捷性、靈活性將是衡量接口優劣的重要標準,例如RESTAPI就是上層業務應用的開發者比較喜歡的接口形式。部分傳統的網絡設備廠商在其現有設備上提供了編程接口供業務應用直接調用,也可被視作是北向接口之一,其目的是在不改變其現有設備架構的條件下提升配置管理靈活性,應對開放協議的競爭。2024/11/2138SDN控制器及北向接口技術控制器負責整個SDN網絡的集中化控制,對于把握全網位置資源視圖、改善網絡資源交付都具有非常重要的作用。但控制能力的集中化,也意味著控制器的安全性和性能成為全網的瓶頸;另外,單一的控制器也無法應對跨多個地域的SND網絡問題,需要多個SDN控制器組成的分布式集群,以避免單一的控制器節點在可靠性、擴展性、性能方面的問題。目前,用于多個控制器之間溝通和聯系的東西向接口還沒定義標準,但專家表示,一些非常成熟的集群技術可以被運用到SDN網絡中來解決上述難題。2024/11/2139SDN交換機及南向接

口技術SDN的核心理念之一就是將控制功能從網絡設備中剝離出來,通過中央控制器實現網絡可編程,從而實現資源的優化利用,提升網絡管控效率。SDN控制器對網絡的控制主要是通過南向接口協議實現,包括鏈路發現、拓撲管理、策略制定、表項下發等,其中鏈路發現和拓撲管理主要是控制其利用南向接口的上行通道對底層交換設備上報信息進行統一監控和統計;而策略制定和表項下發則是控制器利用南向接口的下行通道對網絡設備進行統一控制。2024/11/2140SDN交換機及南向接

口技術工作在基礎設施層的SDN交換機雖然不在需要對邏輯控制進行過多考慮,但作為SDN網絡中負責具體數據轉發處理的設備,為了完成高速數據轉發,還是要遵循交換機工作原理。本質上看,傳統設備中無論是交換機還是路由器,其工作原理都是在收到數據包時,將數據包中的某些特征域與設備自身存儲的一些表項進行比對,當發現匹配時則按照表項的要求進行相應處理。SDN交換機也是類似的原理,但是與傳統設備存在差異的是,設備中的各個表項并非是由設備自身根據周邊的網絡環境在本地自行生成的,而是由遠程控制器統一下發的,因此各種復雜的控制邏輯(例如鏈路發現、地址學習、路由計算等等)都無需在SDN交換機中實現。2024/11/2141SDN交換機及南向接口技術SDN交換機可以忽略控制邏輯的實現,全力關注基于表項的數據處理,而數據處理的性能也就成為評價SDN交換機優劣的最關鍵指標,因此,很多高性能轉發技術被提出,例如基于多張表以流水線方式進行高速處理的技術。另外,考慮到SDN和傳統網絡的混合工作問題,支持混合模式的SDN交換機也是當前設備層技術研發的焦點。同時,隨著虛擬化技術的出現和完善,虛擬化環境將是SDN交換機的一個重要應用場景,因此SDN交換機可能會有硬件、軟件等多種形態。例如,OVS(OpenvSwitch,開放虛擬交換標準)交換機就是一款基于開源軟件技術實現的能夠集成在服務器虛擬化Hypervisor中的交換機,具備完善的交換機功能,在虛擬化組網中起到了非常重要的作用。2024/11/2142SDN交換機及南向接口技術SDN交換機的出現,對傳統的網絡設備廠商造成了最直接的威脅,如何將新興的網絡技術與傳統設備產品的優勢相融合,是這些廠商正在苦苦思索的問題。雖然SDN交換機已經對傳統的網絡產業鏈造成了巨大的沖擊,但是僅憑單獨的數據轉發設備還不足以支撐起整個SDN的天空,未來更激烈地競爭必將會在SDN的控制層和應用層發生。SDN交換機只負責網絡高速轉發,保存的用于轉發決策的轉發表信息來自控制器,SDN交換機需要在遠程控制器的管控下工作,與之相關的設備狀態和控制指令都需要經由SDN的南向接口傳達,從而實現集中化統一管理。2024/11/2143SDN交換機及南向接口技術當前,最知名的南向接口莫過于ONF倡導的OpenFlow協議。作為一個開放的協議,OpenFlow突破了傳統網絡設備廠商對設備能力接口的壁壘,經過多年的發展,在業界的共同努力下,當前已經日臻完善,能夠全面解決SDN網絡中面臨的各種問題。當前,OpenFlow已經獲得了業界的廣泛支持,并成為了SDN領域的事實標準,例如OVS交換機就能夠支持OpenFlow協議。OpenFlow解決了如何由控制層把SDN交換機所需的用于和數據流做匹配的表項下發給轉發層設備的問題,同時ONF還提出了OF-CONFIG協議,用于對SDN交換機進行遠程配置和管理,其目標都是為了更好地對分散部署的SDN交換機實現集中化管控。2024/11/2144SDN交換機及南向接口技術OpenFlow在SDN領域中的重要地位不言而喻,甚至大家一度產生過OpenFlow就等同于SDN的誤解。實際上,OpenFlow只是基于開放協議的SDN實現中可使用的南向接口之一,后續可能還會有很多的南向接口(例如ForCES、PCE-P等等)被陸續應用和推廣。但必須承認的是,OpenFlow就是為SDN而生的,因此它與SDN的契合度最高。相信在以ONF為領導的產業各方的大力推動下,它在未來的發展前景也將更加明朗。2024/11/2145SDN的體系結構與ONF的SDN架構最大的不同在于:OpenDaylight控制器的南向接口除了支持OpenFlow協議之外,還支持NETCONF等配置協議和BGP等路由協議,并支持生產廠商的專有協議(如思科的OnePK協議)。為了能夠處理不同的標準協議,OpenDaylight增加了服務抽象層SAL,它負責將不同的底層協議標準轉換成OpenDaylight控制層所理解的請求服務,保持了底層協議的透明性,并提高了整體架構的可擴展性。2024/11/2146SDN的體系結構SDN,NFV和OpenDaylight的對比見表1.由于NFV與ONF的SDN分別負責不同的網絡,兩種架構的協同工作能夠獲得更好的網絡體驗,將兩者結合可以降低設備成本.通過利用通用交換機等設備和軟件代替原有設備,使得設備的升級與網絡應用的拓展相對獨立.OpenDaylight具有開源性,因此,它可以兼容SDN,NFV以及未來與SDN并行的體系結構.總之,無論是哪個組織提出的SDN體系結構,實現的目標是一致的.SDN使得數據控制相分離的網絡具有開放性和可編程性,科研人員及運營商可以通過PC機、手機、Web網頁或未來可能出現的各種途徑進行網絡部署,而部署工作也僅是應用軟件的簡單開發或配置.可以預見:針對SDN并行架構的研究,是未來研究進展的重要趨勢之一。2024/11/2147表1體系結構接口標準與SDN兼容性相關背景介紹特點應用領域發起人組織者ONFSDN[22]OpenFlow-校園網,企業網,數據中心高??蒲腥藛TONF強調控制與數據分離等NFV[20]多種接口協議,支持可擴展可協同工作運營商網絡運營商ETSINFV工作組強調網絡功能虛擬化OpenDaylight[21]多種接口協議,支持可擴展完全支持OpenFlow未來的互聯網設備生產廠商和IT軟件廠商OpenDaylight(Linux基金)強調軟件開源及實現Table1

ComparisonofSDN,NFVandOpenDaylight表1

SDN,NFV和OpenDaylight的對比2024/11/2148開放式接口與協議設計SDN中的接口具有開放性,以控制器為邏輯中心,南向負責與數據層通信,北向負責與應用層通信.此外,由于單一控制機制容易造成控制節點失效,嚴重影響性能,可采用多控制器方式,此時,多控制器之間將采用東西向通信方式.開放式接口的研究,必然進一步推動SDN的深入發展.在這些開放式接口研究中,控制器南向接口作為數據與控制分離的核心被廣泛研究,成為業界關注的焦點.由于控制層與數據層解耦合,使得針對這兩層的改進相對獨立,在層與層之間僅需要提供標準南向接口即可.南向接口是SDN分層架構的關鍵元素,然而邏輯上,它既要保證數據層與控制層之間的正常通信,又要支持兩層獨立更新;物理上,設備生產廠商需要開發支持這種標準接口的設備,因為傳統網絡設備是不能在SDN網絡之中運行的.因此,研發南向標準接口成為SDN基礎研究中的重要內容之一.2024/11/2149開放式接口與協議設計許多組織著手制訂南向標準接口.ONF提出的CDPI成為了主流南向接口,它采用OpenFlow協議.OpenFlow是SDN中第一個廣泛使用的數據控制層接口協議,得到學術界普通關注,它將單一集成和封閉的網絡設備成為靈活可控的通信設備.OpenFlow協議是基于流的概念來匹配規則的,因此,交換機需要維護一個流表(flowtable)來支持OpenFlow,并按流表進行數據轉發,而流表的建立,維護及下發均由控制器來完成.為了便于設備生產廠商開發支持OpenFlow的設備,ONF開始提供OpenFlow協議標準.OpenFlow1.0.0規定流表頭為12元組(如源/目的IP地址、源/目的MAC地址等),在一定程度上滿足了用戶對SDN網絡的需求.然而,1.0.0版本還不完善,如支持的規則和動作過少、僅支持單表、無關聯動作的組合容易造成組合爆炸等問題.因此,OpenFlow1.1.0增加了部分規則,并開始支持多級流表、群組表和動作集等功能2024/11/2150開放式接口與協議設計IPv6是下一代互聯網的核心元素,因此從1.2版本開始,OpenFlow增加了對IPv6源/目的地址的支持.網絡擁塞一直是傳統互聯網需要面臨的問題之一,在SDN網絡中也是如此,因此,從1.3版本開始支持流控機制.在1.4.0版本中,OpenFlow協議增加了流表刪除和復制機制,并考慮了流表一致性問題.總的來說,OpenFlow支持的功能越來越全,機制也在不斷地更新完善.然而,隨著OpenFlow支持的功能不斷增加,流表將容易產生負載過重的問題.如何支持不同粒度、任意組合的功能,是OpenFlow下一步發展的關鍵所在.此外,OpenFlow允許控制器利用流表指定網絡的數據通路,但并未指定如何配置和管理轉發設備環境,因此,ONF提出了OF-CONFIG協。作為配置協議,

OF-CONFIG擴展了NETCONF標準,采用XML配置交換機環境,填補了OpenFlow在配置方面的缺失。2024/11/2151開放式接口與協議設計針對南向接口,除了ONF提出的OpenFlow協議和OF-CONFIG協議外,IETF提出了ForCES協議,思科公司提出了OnePK協議[25].ForCES對網絡設備內部結構重新定義,將轉發元素(forwarding

element,簡稱FE)和控制元素(control

element,簡稱CE)分離,形成兩個獨立的邏輯實體,兩個邏輯實體之間依靠ForCES協議通信.該協議工作在主從模式下,即,CE通過ForCES協議主動將指令下發給FE,FE被動接受這些指令,并通過硬件執行每數據包級的分組轉發.OnePK則是思科公司針對SDN產品專門開發的接口協議,該協議可以運行在思科所研發的專屬平臺上,并支持開發者用C或Java編寫的程序.OnePK除了支持專有的OnePK協議之外,還可支持OpenFlow協議等.典型南向接口協議對比見表22024/11/2152表2南向接口協議類型粒度通信方式與OpenFlow兼容是否改變傳統網絡架構組織特點OpenFlow[30]流表每流雙向通信-是ONF根據流表指定的數據通路傳輸數據OF-CONFIG[31]XML無關雙向通信是是ONF配置交換機環境ForCES[16]傳統報文每分組主從通信否否IETF通過傳統IP網絡傳輸數據OnePK[25]未提及每流雙向通信是是Cisco專用接口Table2

Comparisonofgeneralsouthinterfaceprotocols表2

典型的南向接口協議的對比2024/11/2153開放式接口與協議設計除了南向接口相關研究之外,控制器北向接口及控制器間東西向接口同樣是研究重點.北向接口負責控制層與各種業務應用之間的通信,應用層各項業務通過編程方式調用所需網絡抽象資源,掌握全網信息,方便用戶對網絡配置和應用部署等業務的快速推進.然而,由于應用業務具有多樣性,使得北向接口亦呈現多樣性,開發難度較大.起初,SDN允許用戶針對不同應用場景定制適合的北向接口標準.統一的北向接口標準將直接影響著各項應用業務的順利開展.2024/11/2154開放式接口與協議設計為了統一北向接口,各組織開始制訂北向接口標準,如ONF的NBI接口標準和OpenDaylight的REST接口標準等.然而,這些標準僅對功能作了描述,而未詳細說明實現方式.因此,如何實現統一的北向接口標準,成為業界下一步主要推動的工作.與南北向接口通信的方式不同,東西向接口負責控制器間的通信.由于單一控制器性能有限,無法滿足大規模SDN網絡部署,東西向接口標準的制訂使控制器具有可擴展能力,并為負載均衡和性能提升等方面提供了技術保障.2024/11/2155開放式接口與協議設計

數據層關鍵技術研究在SDN中,數據層與控制層分離,交換機將繁重的控制策略部分交由控制器來負責,而它僅根據控制器下發的規則對數據包進行快速轉發.為了避免交換機與控制器頻繁交互,雙方約定的規則是基于流的,而并非基于每個數據包.SDN數據層的功能相對簡單,相關技術研究主要集中在交換機和轉發規則方面:首先是交換機設計研究,即設計可擴展的快速轉發設備,它既可以靈活匹配規則,又能快速轉發數據流;其次是轉發規則的相關研究,例如規則失效后的一致性更新問題等.下面詳細討論數據層相關的研究成果.2024/11/21562.1

交換機設計問題

SDN交換機位于數據層面,用來負責數據流的轉發.通??刹捎糜布蛙浖煞N方式進行轉發.對于硬件來說,具有速度快、成本低和功耗小等優點.一般來說,交換機芯片的處理速度比CPU處理速度快二個數量級,比網絡處理器(network

processor,簡稱NP)快一個數量級,并且這種差異將持續很長時間.在靈活性方面,硬件則遠遠低于CPU和NP等可編程器件.如何設計交換機,做到既保證硬件的轉發速率,同時還能確保識別轉發規則的活性,成為目前研究的熱點問題。2024/11/21572.1

交換機設計問題利用硬件處理數據,可以保證轉發效率,但亟需解決處理規則不夠靈活的問題.為了使硬件能夠靈活解決數據層的轉發規則匹配嚴格和動作集元素數量太少等限制,Bosshart等人針對數據平面轉發提出了RMT模型.該模型實現了一個可重新配置的匹配表,它允許在流水線(pipeline)階段支持任意寬度和深度的流表.重新配置數據層涉及4個方面:①允許隨意替換或增加域定義;②允許指定流表的數量、拓撲、寬度和深度,僅僅受限于芯片

的整體資源(如芯片內存大小等);③允許創建新動作;④可以隨意將數據包放到不同的隊列中,并指定發送端口.2024/11/21582.1

交換機設計問題RMT模型如圖2所示.從結構上看,理想的RMT模型是由解析器、多個邏輯匹配部件以及可配置輸出隊列組成.具體的可配置性體現在:通過修改解析器來增加域定義,修改邏輯匹配部件的匹配表來完成新域的匹配,修改邏輯匹配部件的動作集來實現新的動作,修改隊列規則來產生新的隊列.這樣容易模擬網關、路由器和防火墻等設備,也能夠使用多標記頭或非標準的協議.所有更新操作是通過解析器來實現的,無需修改硬件,只需要在芯片設計時留出可配置的接口即可,實現了硬件對數據的靈活處理.圖2RMT模型2024/11/2159圖22024/11/21602.1

交換機設計問題作為另一種利用硬件靈活處理技術,FlowAdapter采用交換機分層的方式來實現高效靈活的多表流水線業務.FlowAdapter交換機分為3層:最上層是可以通過更新來支持任何新協議的軟件數據平面;底層是相對固定但轉發效率高的硬件數據平面;位于中部的FlowAdapter層負責軟件數據平面和硬件數據平面之間通信.當控制器下發規則時,軟件數據平面將存儲這些規則,形成M個階段的流表.由于這些規則相對靈活,不能全部由交換機直接轉化成相應轉發動作,而硬件數據平面可以實現規則的高速匹配轉發.2024/11/21612.1

交換機設計問題因此可利用中間層FlowAdapter將兩個數據平面中的規則進行無縫轉換,即,將相對靈活的M階段的流表轉換成能夠被硬件所識別的N階段的流表.為了達到轉換目的,FlowAdapter首先檢查軟件數據平面的全部規則,然后根據完整的規則將M階段的流表轉換成1階段流表,最后再將1階段流表轉換成N階段流表發送給硬件數據平面.通過這種無縫轉換,理論上解決了傳統交換機硬件與控制器之間多表流水線技術不兼容的問題.另外,FlowAdapter相對控制器完全透明,對FlowAdapter交換機的更新不會影響控制器的正常運行。2024/11/21622.1

交換機設計問題與利用硬件設計交換機的觀點不同,雖然軟件處理的速度低于硬件,但是軟件方式可以最大限度地提升規則處理的靈活性,同時又能避免由于硬件自身內存較小、流表大小受限、無法有效處理突發流等問題,因而同樣受到學術界的關注.利用交換機CPU處理轉發規則,可以避免硬件靈活性差的問題.由于CPU處理數據包的能力變得越來越強,商用交換機很自然地也會采用這種更強的CPU.這樣,在軟件處理轉發速度與硬件差別變小的同時,靈活處理轉發規則的能力得到提升.進一步,還可以采用NP的處理方式.由于NP專門用來處理網絡的各種任務,如數據包轉發、路由查找和協議分析等,2024/11/21632.1

交換機設計問題因此在網絡處理方面,NP比CPU具有更高效的處理能力.無論采用CPU還是NP,應發揮處理方式靈活性的優勢,同時盡量避免處理效率低而帶來的影響.此外,在數據平面中,哪些元素可以交給硬件處理,哪些元素可以交給軟件處理,也是值得考慮的問題.例如,原本設計到硬件中的計數器功能并不合理,而應當放置到CPU中處理,這樣既可以保證計數器的靈活性,又能節省硬件空間,降低復雜度,同時還能夠避免硬件計數的限制.2024/11/21642.2轉發規則相關研究與傳統網絡類似,SDN中也會出現網絡節點失效的問題,導致網絡中的轉發規則被迫改變,嚴重影響了網絡的可靠性.此外,流量負載轉移或網絡維護等也會帶來轉發規則的變化.SDN允許管理人員自主更新相關規則,但采用較低抽象層次(low-level)的管理方式來更新規則容易出現失誤,導致出現規則更新不一致的現象.即便沒有出現失誤,由于存在更新延遲問題,在更新過程中,轉發路徑上有些交換機已經擁有新規則,而另一些交換機還使用舊規則,仍然會造成規則更新不一致性的問題.將配置細節進行抽象,使管理人員能夠使用較高抽象層次(high-level)的管理方式統一更新,就可防止低層管理引起的不一致性問題.2024/11/21652.2轉發規則相關研究一般采用兩階段提交方式來更新規則:第一階段,當某個規則需要更新時,控制器詢問每個交換機是否處理完對應舊規則的流,并對處理完畢的所有交換機進行規則更新;第二階段,當所有交換機都更新完畢時,才完成更新,否則將取消該更新操作.為了能夠使用兩階段提交方式更新規則,在預處理階段,對數據包打上標簽以標示新舊策略的版本號.在轉發過程中,交換機將檢查標簽的版本,并按照對應版本的規則執行相應的轉發動作.當數據包從出口交換機轉發出去時,則去掉標簽.2024/11/21662.2轉發規則相關研究然而,這種方式需要等待舊規則的數據包全部處理完畢才能處理新規則的數據包,這樣會造成規則空間占用進而產生較高的成本.增量式一致性更新算法可以解決規則空間成本較高的問題;該算法將規則更新分成多輪進行,每一輪都采用二階段提交方式更新一個子集,這樣可以節省規則空間,達到更新時間與規則空間的折中.McGeer提出了基于Openflow的安全更新協議來完善抽象層兩階段提交方式的安全性,該協議將無法識別新舊規則的報文發送至控制器,來保證流轉發的正確性.此外,規則更新過程需要考慮性能問題.Ghorbani等人研究了虛擬機場景下規則更新算法,該算法可以確保在更新過程中擁有足夠的帶寬,同時不會影響到其他流的正常轉發。2024/11/21672.2轉發規則相關研究由于OpenFlow無法主動增加未知協議,為保證新協議能在SDN中使用,OpenFlow只能將該協議更新到接口的規格說明書當中,并未真正做到協議無關.因此,如何做到協議無關轉發,成為數據平面可擴展的重要研究方向之一.在數據平面建立與協議無關的流指令集(flowinstructionset,簡稱FIS),可以做到協議無關的轉發.協議無關的FIS抽象了數據平面,每個協議相關的規則會轉化成FIS中協議無關的指令,并被數據平面硬件所識別,從而實現快速轉發.協議無關的FIS使規則與轉發設備無關,提高了數據平面的可擴展性,真正實現了控制平面與數據平面的全面分離.2024/11/21683控制層關鍵技術研究控制器是控制層的核心組件,通過控制器,用戶可以邏輯上集中控制交換機,實現數據的快速轉發,便捷安全地管理網絡,提升網絡的整體性能.本節首先詳細闡述了以NOX控制器為基礎的兩種技術改進:一種是采用多線程的控制模式,另一種是通過增加分布式控制器數量,實現扁平式和層次式控制模式.然后介紹了主流接口語言的研究發展,實現控制語言抽象.最后,深入分析了控制器的一致性、可用性和容錯性等特性.2024/11/21693.1控制器設計問題控制器的基本功能是為科研人員提供可用的編程平臺.最早且廣泛使用的控制器平臺是NOX,能夠提供一系列基本接口.用戶通過NOX可以對全局網絡信息進行獲取、控制與管理,并利用這些接口編寫定制的網絡應用.隨著SDN網絡規模的擴展,單一結構集中控制的控制器(如NOX)處理能力受到限制,擴展困難,遇到了性能瓶頸,因此僅能用于小型企業網或科研人員進行仿真等.網絡中可采用兩種方式擴展單一集中式控制器:一種是通過提高自身控制器處理能力的方式,另一種是采用多控制器的方式來提升整體控制器的處理能力.2024/11/21703.2轉發規則相關研究控制器擁有全網信息,能夠處理全網海量數據,因此需要具有較高的處理能力.NOX-MT提升了NOX的性能,它是具有多線程處理功能的NOX控制器.NOX-MT并未改變NOX控制器的基本結構,而是利用傳統的并行技術提升性能,使NOX用戶可以快速更新至NOX-MT,且不會由于控制器平臺的更替產生不一致性問題.另一種并行控制器為Maestro,它通過良好的并行處理架構,充分發揮高性能服務器的多核并行處理能力,使其在網絡規模較大的情況下性能明顯優于NOX。2024/11/21713.2轉發規則相關研究對于眾多中等規模的網絡來說,一般使用一個控制器即可完成相應控制功能,不會對性能產生明顯影響.然而對于大規模網絡來說,僅依靠多線程處理方式將無法保證性能.一個較大規模的網絡可分為若干個域,如圖3所示.若保持單一控制器集中控制的方式來處理交換機請求,則該控制器將與其他域的交換機之間存在較大延遲,影響網絡處理性能,這一影響將隨著網絡規模的進一步擴大變得無法忍受.此外,單一集中控制存在單點失效問題.通過擴展控制器的數量可解決上述問題,也就是將控制器物理分布在整個網絡中,僅需保持邏輯中心控制特性即可.這樣可使每個交換機都與較近的控制器進行交互,從而提升網絡的整體性能.2024/11/2172圖3一個較大規模的網絡可分為若干個域2024/11/21733.2轉發規則相關研究分布式控制器一般可采用兩類方式進行擴展,分別是扁平控制方式(如圖4所示)和層次控制方式(如圖5所示).對于扁平控制方式,所有控制器被放置在不相交的區域里,分別管理各自的網絡.各控制器間的地位相等,并通過東西向接口進行通信.對于層次控制方式,控制器之間具有垂直管理的功能.也就是說,局部控制器負責各自的網絡,全局控制器負責局部控制器,控制器之間的交互可通過全局控制器來完成.2024/11/2174圖4扁平控制方式和圖5層次控制方式圖4圖52024/11/21753.2轉發規則相關研究扁平控制方式要求所有控制器都處于同一層次.雖然物理上各個控制器位于不同的區域,但邏輯上所有的控制器均作為全局控制器,掌握全網狀態.當網絡拓撲變化時,所有控制器將同步進行更新,而交換機僅需調整與控制器地址映射即可,無需進行復雜的更新操作,因此,扁平分布式擴展對數據層的影響較小.Onix作為首個SDN分布式控制器,支持扁平分布式控制器架構.它通過網絡信息管理(networkinformationbase,簡稱NIB)進行管理.每個控制器都有對應的NIB,通過保持NIB的一致性,實現控制器之間的同步更新.2024/11/21763.2轉發規則相關研究HyperFlow允許網絡運營商部署任意多個控制器,并將這些控制器分布在網絡的各個角落.控制器之間保持著物理分離而邏輯集中的特點,因此仍然保持SDN集中控制的特點.HyperFlow通過注冊和廣播機制進行通信,并在某控制器失效時,通過手動配置的方式將失效控制器管理的交換機重新配置到新控制器上,保證了可用性.在扁平控制方式中,雖然每個控制器掌握全網狀態,但只控制局部網絡,造成了一定資源的浪費,增加了網絡更新時控制器的整體負載.此外,在實際部署中,不同的域可能屬于擁有不同經濟實體的運營商,無法做到控制器在不同域之間的平等通信.2024/11/21773.2轉發規則相關研究層次控制方式按照用途將控制器進行了分類.局部控制器相對靠近交換機,它負責本區域內包含的節點,僅掌握本區域的網絡狀態,例如,與臨近交換機進行常規交互和下發高命中規則等.全局控制器負責全網信息的維護,可以完成需要全網信息的路由等操作.層次控制器交互存在兩種方式:一種是局部控制器與全局控制器之間的交互,另一種是全局控制器之間的交互.對于不同運營商所屬的域來說,僅需協商好全局控制器之間的信息交互方式即可.Kandoo實現了層次分布式結構.當交換機轉發報文時,首先詢問較近的局部控制器.若該報文屬于局部信息,局部控制器迅速做出回應.若局部控制器無法處理該報文,它將詢問全局控制器,并將獲取的信息下發給交換機.該方式避免了全局控制器的頻繁交互,有效降低了流量負載.由于這種方式取決于局部控制器所處理信息的命中率,因此在局部應用較多的場景中具有較高的執行效率.2024/11/2178SDN網絡操作系統SDN網絡操作系統應當具有實時運行所開發應用的能力,即,能夠達到開發與執行的平衡.NOX采用Python或C++,使用Python時開發效率較高,執行效率較低;而使用C++時執行效率很高,開發效率卻很低.于是,科研人員致力于開發通用的平臺,盡可能在開發與執行之間達到一個較好的平衡.Beacon是一個基于Java的通用平臺,它向用戶提供了一系列相關的庫與接口用于開發,并提供運行時模塊化的功能,使其在保證性能的情況下具有了實時運行的能力,實現了開發與執行兩者之間的平衡.操作系統將資源形成文件系統,文件具有層次結構,方便操作系統隨時讀取與調用.控制器所管理的資源也具有類似特征,能夠使得用戶和應用通過標準的文件I/O進行交互.yanc控制器即采用了文件系統的方式處理資源,它把網絡應用視為不同的進程,每個進程被分隔成不同的視圖或分片(slice).在yanc中,無論物理交換機還是數據流參數都將形成文件,不同的應用則根據自身的需求調用不同的文件.2024/11/2179表3典型控制器平臺的對比控制器線程分布實現語言開發團隊NOX[12]單否C++/PythonNiciraNOX-MT[45]多否C++/PythonTorontoMaestro[47]多否JavaRiceOnix[50]單是C++/Python/JavaNiciraHyperFlow[51]單是C++TorontoKandoo[52]單是C,C++&PythonTorontoBeacon[53]多是JavaStanfordFloodlight[55]多是JavaBigSwitchPOX[56]多否PythonNiciraRyu[57]多是PythonNTT2024/11/2180SDN控制器平臺已經存在大量實際開發,包括Floodlight,POX和Ryu等.典型控制器的對比見表3.表3

典型控制器平臺對比3.2接口語言控制器提供了北向接口,方便用戶配置網絡.然而,當今的網絡存在各式各樣的應用,如流量監控、負載均衡、接入控制和路由等.傳統的控制器平臺(例如NOX)僅能提供低級配置接口,且使用像C++這種通用語言,抽象程度較低,造成網絡配置成本并未大幅度降低.針對這種情況,科研人員致力于開發一種抽象的、高級配置語言.這些抽象語言能夠統一北向接口,改善接口的性能,從而全面降低網絡的配置成本.耶魯大學團隊開發了一系列網絡配置語言,旨在搭建具有優化性能的通用北向接口.Nettle是描述性語言,采用了函數響應式編程(functionalreactiveprogramming,簡稱FRP)方式.FRP是基于事件響應的編程,符合控制器應對各種應用的實際響應情況.Nettle的目標是實現網絡配置的可編程化,而可編程化的網絡配置要求控制器性能足夠高,因此,該團隊又提出了McNettle,這是一種多核Nettle語言.2024/11/21813.2接口語言McNettle并未改變描述性與FRP的特性,而是利用共享內存、多核處理的方式增強了用戶開發體驗.Procera則進一步對語言抽象作了優化,采用了高級的網絡策略來應對各種應用.為了使控制器更好地發揮接口語言的性能,該團隊提出了Maple,如圖6所示.Maple對接口語言做了進一步抽象,允許用戶使用自定義抽象策略.為了能夠高效地將抽象策略分解成一系列規則,并下發到相應的分布式交換機上.Maple不但采用了高效的多核調度器,關鍵的是,它采用了跟蹤運行時優化器(tracingruntimeoptimizer)來優化性能.該優化器一方面通過記錄可重用的策略,將負載盡可能轉移到交換機來處理;另一方面,通過動態跟蹤抽象策略與數據內容及環境的依賴性,使流表始終處于新狀態,從而確保抽象策略轉成可用規則的效率.2024/11/2182圖6Maple:一種自定義抽象策略2024/11/21833.2接口語言康奈爾大學與普林斯頓大學聯合研究團隊首先提出了Frenetic,與Nettle等語言類似,它也具有描述性和FRP特性.兩者主要有3點不同:一是抽象層次,由于Frenetic是建立在NOX之上的語言,因此比Nettle抽象層次高;二是Frenetic有查詢語言和實時系統,這是Nettle所不具備的;三是Frenetic基于數據包,而Nettle基于事件流.NetCore[63]增強了Frenetic的能力,包括增加通配符匹配處理模式、主動生成規則和通用的語法結構等.由于Frenetic和NetCore都采用模塊并行組裝方式,這要求每個模塊(即服務,如接入控制等)都各自生成所需包的備份,造成一定的資源浪費.Pyretic[64]則采用了模塊順序組裝方式,使得每個應用可以順序處理,也有效地避免了潛在應用沖突發生的可能.為了增強這類接口語言的理論基礎,2014年初,該團隊提出了利用Kleene代數理論作檢測的NetKAT[65]語言,它改進了NetCore語言特性,可以利用數學理論驗證配置的正確性,避免網絡配置潛在的問題.上述各類語言的對比情況見表4.2024/11/2184表4接口語言描述性語言FRP實現語言抽象層次特點NOX[12]否否C++/Python低僅提供IP地址操作等低配置接口語言Nettle[58]是是Haskell較高較早采用描述性語言和FRP的抽象語言之一,基于事件流McNettle[59]是是Haskell較高多核NettleProcera[60]是是FML[66]高與Frenetic采用包操作不同,采用事件流Frenetic[62]是是Python高比Nettle語言更抽象,有查詢語言,實時系統,基于數據包NetCore[63]是否Haskell高改進Frenetic,采用通配符匹配,主動生成規則等功能Pyretic[64]是否Python高采用順序組合模式擴展了Frenetic和NetCoreNetKAT[65]是否任意高增加Kleene代數理論Table4

Comparisonofinterfacelanguages表4

接口語言的對比2024/11/21853.3控制層特性研究控制層存在一致性、可用性和容錯性等特性,而3種特性的需求無法同時滿足,達到三者之間的平衡,是今后的重要工作之一.多數情況下,科研人員是在一部分特性影響較小的前提下重點提升另一部分特性.因此,科研人員在對控制層特性研究中各有側重.下面對控制層的一致性、可用性和容錯性分別進行討論.2024/11/21863.3控制層特性研究:1、一致性1.一致性集中控制是SDN區別于其他網絡架構的核心優勢之一,通過集中控制,用戶可以獲取全局網絡視圖,并根據全網信息對網絡進行統一設計與部署,理論上保證了網絡配置的一致性問題.然而,分布式控制器仍然具有潛在的不一致性問題.由于不同控制器的設計對網絡一致性要求不同,嚴格保證分布式狀態全局統一的控制器,將無法保證網絡性能;反之,如果控制器能夠快速響應請求,下發策略,則無法保證全局狀態一致性.性能無明顯影響的情況下,保證狀態一致性成為了SDN設計中的關鍵問題.并發策略同樣會導致一致性問題,可由控制層將策略形成規則,并按兩階段提交方式解決.為了避免數據層過多的參與,控制層可直接通過并發策略組合的方式來解決,并可利用細粒度鎖(fine-grainedlocking)確保組合策略無沖突.HFT采用了層次策略方案,它將并發策略分解,組織成樹的形式,樹的每個節點都可獨立形成轉發規則.HFT首先對每個節點進行自定義沖突處理操作,這樣,整個沖突處理過程就轉化成利用自定義沖突處理規則逆向搜索樹的過程,從而解決了并發策略一致性問題.2024/11/21873.3控制層特性研究:2、可用性2.可用性規則備份可以提升網絡的可用性.RuleBricks[70]針對規則備份提出一種高可用性方案.在RuleBricks中,不同的規則對應不同顏色的“磚塊”,“磚塊”的大小由通配符的地址空間大小決定,其中,上層的“磚塊”對應的規則是目前的活躍規則.如果因為網絡節點失效導致某種顏色的“磚塊”消失,則下面的備份“磚塊”會顯現出來成為新的活躍規則.通過對“磚塊”的設定、選取和操作的優化,RuleBricks可以有效限制流的重分配和規則爆炸的問題.控制器作為SDN的核心處理節點,需要處理來自交換機的大量請求,而過重的負載會影響SDN的可用性.利用分布式控制器可以平衡負載,提升SDN的整體性能.特別地,對于層次控制器(如Kandoo)來說,利用局部控制器承擔交換機的多數請求,全局控制器則可以更好地為用戶提供服務。2024/11/21883.3控制層特性研究:2、可用性然而,分布式控制器架構亦存在可用性問題.由于每個控制器需要處理不同的交換機,網絡流量分布不均勻,導致某些控制器可用性降低.針對該問題,ElastiCon采用負載窗口的方式來動態調整各控制器間的流量.ElastiCon周期性地檢查負載窗口,當負載窗口的總負荷發生改變時,將動態擴充或壓縮控制器池,以適應當前實際需求.如果負載超過控制器池大值時,則需要另外增加新的控制器,以保證網絡的可用性.減少交換機的請求次數,可以提

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論