軟件定義網(wǎng)絡(luò)SDN_第1頁
軟件定義網(wǎng)絡(luò)SDN_第2頁
軟件定義網(wǎng)絡(luò)SDN_第3頁
軟件定義網(wǎng)絡(luò)SDN_第4頁
軟件定義網(wǎng)絡(luò)SDN_第5頁
已閱讀5頁,還剩141頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

具有快速對網(wǎng)絡(luò)作出調(diào)整能力、使管理人員能夠以更安全的方式來執(zhí)行流量整形和數(shù)據(jù)包QoS的:

軟件定義網(wǎng)絡(luò)SDN

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

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

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

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

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

SIGCOMM發(fā)表了題為OpenFlow:Enabling

Innovation

in

Campus

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

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

OpenFlow由斯坦福大學(xué)和加州大學(xué)伯克利分校領(lǐng)導(dǎo)的大學(xué)聯(lián)盟所發(fā)起,他們的初衷是讓研究人員可將企業(yè)級以太網(wǎng)交換機(jī)作為定制構(gòu)件用于大學(xué)的網(wǎng)絡(luò)實(shí)驗(yàn)。

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

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

正如計(jì)算機(jī)操作系統(tǒng)本身并不實(shí)現(xiàn)復(fù)雜的各種軟件功能,NOX

本身并不完成對網(wǎng)絡(luò)管理任務(wù),而是通過在其上運(yùn)行的各種“應(yīng)用”(Application)來實(shí)現(xiàn)具體的管理任務(wù)。

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

SDN通過標(biāo)準(zhǔn)的南向接口屏蔽了底層物理轉(zhuǎn)發(fā)設(shè)備的差異,實(shí)現(xiàn)了資源的虛擬化,同時(shí)開放了靈活的北向接口供上層業(yè)務(wù)按需進(jìn)行網(wǎng)絡(luò)配置并調(diào)用網(wǎng)絡(luò)資源。

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

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

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

的目標(biāo)是通過SDN的開源開發(fā),推進(jìn)業(yè)界可部署方案具體實(shí)施,其架構(gòu)由設(shè)備廠商提出并得到眾多IT軟件廠商的支持.考慮到兼容性問題,OpenDaylight繼承了SDN架構(gòu)形式,同時(shí)又結(jié)合了NFV的特點(diǎn)。

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

口技術(shù)SDN的核心理念之一就是將控制功能從網(wǎng)絡(luò)設(shè)備中剝離出來,通過中央控制器實(shí)現(xiàn)網(wǎng)絡(luò)可編程,從而實(shí)現(xiàn)資源的優(yōu)化利用,提升網(wǎng)絡(luò)管控效率。SDN控制器對網(wǎng)絡(luò)的控制主要是通過南向接口協(xié)議實(shí)現(xiàn),包括鏈路發(fā)現(xiàn)、拓?fù)涔芾?、策略制定、表?xiàng)下發(fā)等,其中鏈路發(fā)現(xiàn)和拓?fù)涔芾碇饕强刂破淅媚舷蚪涌诘纳闲型ǖ缹Φ讓咏粨Q設(shè)備上報(bào)信息進(jìn)行統(tǒng)一監(jiān)控和統(tǒng)計(jì);而策略制定和表項(xiàng)下發(fā)則是控制器利用南向接口的下行通道對網(wǎng)絡(luò)設(shè)備進(jìn)行統(tǒng)一控制。2024/11/2140SDN交換機(jī)及南向接

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

ComparisonofSDN,NFVandOpenDaylight表1

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

OF-CONFIG擴(kuò)展了NETCONF標(biāo)準(zhǔn),采用XML配置交換機(jī)環(huán)境,填補(bǔ)了OpenFlow在配置方面的缺失。2024/11/2151開放式接口與協(xié)議設(shè)計(jì)針對南向接口,除了ONF提出的OpenFlow協(xié)議和OF-CONFIG協(xié)議外,IETF提出了ForCES協(xié)議,思科公司提出了OnePK協(xié)議[25].ForCES對網(wǎng)絡(luò)設(shè)備內(nèi)部結(jié)構(gòu)重新定義,將轉(zhuǎn)發(fā)元素(forwarding

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

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

Comparisonofgeneralsouthinterfaceprotocols表2

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

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

交換機(jī)設(shè)計(jì)問題

SDN交換機(jī)位于數(shù)據(jù)層面,用來負(fù)責(zé)數(shù)據(jù)流的轉(zhuǎn)發(fā).通常可采用硬件和軟件兩種方式進(jìn)行轉(zhuǎn)發(fā).對于硬件來說,具有速度快、成本低和功耗小等優(yōu)點(diǎn).一般來說,交換機(jī)芯片的處理速度比CPU處理速度快二個(gè)數(shù)量級,比網(wǎng)絡(luò)處理器(network

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

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

的整體資源(如芯片內(nèi)存大小等);③允許創(chuàng)建新動(dòng)作;④可以隨意將數(shù)據(jù)包放到不同的隊(duì)列中,并指定發(fā)送端口.2024/11/21582.1

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

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

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

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

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

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

Comparisonofinterfacelanguages表4

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

溫馨提示

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

最新文檔

評論

0/150

提交評論