在SDN架構中,網(wǎng)絡(luò )的控制平面和數據平面相互分離,或者說(shuō)解耦合,不再綁定在一起,如下圖所示。
SDN的數控分離給網(wǎng)絡(luò )領(lǐng)域引入一個(gè)新的概念:南向接口??刂破矫媾c數據平面解耦合之后,需要通過(guò)這個(gè)南向接口進(jìn)行通信,在SDN發(fā)展過(guò)程中,OpenFlow是第一個(gè)開(kāi)放的南向接口協(xié)議。我們學(xué)習SDN的第一步就是了解和認識OpenFlow南向接口協(xié)議。注意:OpenFlow不僅僅是南向接口協(xié)議。
這個(gè)南向接口對SDN架構的演進(jìn)非常重要。為什么這么說(shuō)呢?南向接口可以理解成一個(gè)數據平面的編程接口,這個(gè)通信接口支持的可編程能力直接決定了SDN架構的可編程能力,通俗點(diǎn)來(lái)說(shuō),一個(gè)真實(shí)網(wǎng)絡(luò )應用方案中,數據平面的南向接口能力決定了SDN方案用戶(hù)編程能力的上限。
另一方面,南向接口是網(wǎng)絡(luò )設備廠(chǎng)商競爭的一個(gè)關(guān)鍵。如果哪一家設備廠(chǎng)商獨占了這個(gè)通信接口標準,那么這家廠(chǎng)商直接擁有了SDN時(shí)代的話(huà)語(yǔ)權。幸運的是,SDN是從大學(xué)校園誕生的新技術(shù),OpenFlow最初的定位就是一個(gè)開(kāi)放的通用南向接口。
如果OpenFlow真的成為一個(gè)通用的、統一的開(kāi)放接口,那真是整個(gè)網(wǎng)絡(luò )產(chǎn)業(yè)的幸事??上б龅竭@一點(diǎn)很難很難,OpenFlow本身能否承擔這個(gè)重任暫且不論,傳統網(wǎng)絡(luò )設備廠(chǎng)商巨頭又怎能坐視不理?隨著(zhù)SDN的發(fā)展,設備廠(chǎng)商把越來(lái)越多的接口協(xié)議放到南向接口協(xié)議的陣容中,唱衰OpenFlow的聲音多起來(lái),甚至在OpenFlow基礎上出現了新的南向接口協(xié)議,視為OpenFlow2.0.
為了理清眾多的SDN南向接口,我們首次提出了一種新的南向接口分類(lèi)方法:根據南向接口提供的可編程能力,分為狹義SDN南向接口和廣義SDN南向接口兩大類(lèi)。大家可以重點(diǎn)關(guān)注一下設備廠(chǎng)商對不同南向接口的支持,不同控制器在支持南向接口方面的選擇。
狹義的SDN南向接口協(xié)議支持數據平面本身的可編程能力,用戶(hù)可以通過(guò)控制平面編程或者自定義數據平面設備的具體網(wǎng)絡(luò )處理行為,比如轉發(fā)操作、包頭的修改。OpenFlow是這種狹義南向接口協(xié)議的典型,控制平面可以通過(guò)OpenFlow協(xié)議下發(fā)流表項來(lái)對數據面設備的網(wǎng)絡(luò )數據處理行為進(jìn)行編程,從而實(shí)現更細粒度的可編程網(wǎng)絡(luò )。是否狹義SDN南向接口協(xié)議,關(guān)鍵是看這種南向接口協(xié)議是否具備明顯的數據面可編程能力。
廣義的SDN南向接口協(xié)議只是支持一定程度的數據平面可編程能力,比如傳統的網(wǎng)絡(luò )設備配置協(xié)議和網(wǎng)管協(xié)議等。這種廣義SDN南向接口協(xié)議又分為三種子類(lèi)型:第一種是僅具有對數據平面配置能力的南向接口協(xié)議;第二種是應用于廣義SDN,具有部分可編程能力的南向接口協(xié)議;第三種是本來(lái)就存在,其應用范圍很廣,不限于應用在SDN控制平面和數據平面之間傳輸控制信令的南向接口協(xié)議。
第一種網(wǎng)絡(luò )設備配置類(lèi)型協(xié)議的代表有OF-Config、OVSDB和NET-CONF等。目前這些南向協(xié)議已經(jīng)獲得部分SDN控制器的支持,比如OpenDaylight。當然,這種子類(lèi)型的南向接口只能對網(wǎng)絡(luò )設備的資源進(jìn)行配置,不能編程網(wǎng)絡(luò )設備的具體處理過(guò)程。從寬泛的角度來(lái)看,這些南向接口也應用在SDN控制平面和數據平面之間,也屬于SDN南向接口協(xié)議范圍。另外,網(wǎng)絡(luò )設備配置型南向協(xié)議是OpenFlow等狹義SDN南向協(xié)議的必要補充,在設備初始化時(shí)完成對網(wǎng)絡(luò )設備資源的配置,最典型的就是ONF的OF-Config協(xié)議。
第二種部分可編程的SDN南向接口協(xié)議的代表是思科的OpFlex協(xié)議。在思科的SD方案ACI架構中,思科控制平面通過(guò)OpFlex接口協(xié)議遠程下發(fā)策略,控制網(wǎng)絡(luò )設備去實(shí)現某種網(wǎng)絡(luò )策略。然而,OpFlex是聲明式控制(Declarative Control)的南向接口協(xié)議,只是下發(fā)控制平面定義的策略,并不指定實(shí)現網(wǎng)絡(luò )策略的具體方式,具體的實(shí)現方式由數據平面設備來(lái)決定??梢钥闯?,OpFlex具有一定的可編程能力,但也只是相對受限的可編程能力,無(wú)法做到更細致粒度的數據平面編程,所以我們將其歸類(lèi)到廣義的SDN南向協(xié)議中。
第三種可用的SDN南向協(xié)議的代表是XMPP和PCEP。這種通信協(xié)議本來(lái)就存在,具有一定的可編程能力,但均不是專(zhuān)門(mén)為SDN而設計的,可以用作SDN南向接口協(xié)議。比如XMPP被用于很多場(chǎng)景,比如網(wǎng)絡(luò )聊天等,PCEP最初被廣泛用于TE領(lǐng)域,在SDN出現之后,都經(jīng)常被應用在SDN框架中。
最后,我們再介紹一種特殊的南向接口:完全可編程南向接口協(xié)議。這種南向接口協(xié)議可以看作是OpenFlow的演進(jìn),比如華為提出的POF協(xié)議/架構和P4語(yǔ)言/協(xié)議。這兩者比OpenFlow有更通用的抽象能力,其能力范圍已經(jīng)超越了狹義SDN南向協(xié)議的定義。
華為POF架構不僅可以實(shí)現軟件定義的網(wǎng)絡(luò )數據處理,而且還可以實(shí)現軟件定義的網(wǎng)絡(luò )協(xié)議解析。即POF可以實(shí)現對數據平面協(xié)議解析過(guò)程和數據處理過(guò)程兩部分的軟件定義,擁有更細粒度和更全面的數據平面編程能力,支持協(xié)議無(wú)關(guān)的轉發(fā),是完全可編程的南向協(xié)議。而OpenFlow僅支持通過(guò)軟件定義網(wǎng)絡(luò )數據的處理邏輯,無(wú)法對數據平面數據解析邏輯進(jìn)行編程,所以當需要支持新網(wǎng)絡(luò )協(xié)議時(shí),就暴露出抽象能力不足的缺點(diǎn)。
2016年后半年火的一塌糊涂的P4,也是一個(gè)可對數據解析邏輯和數據處理邏輯編程的語(yǔ)言或者框架。P4不僅是一個(gè)SDN南向協(xié)議,還是一門(mén)網(wǎng)絡(luò )編程語(yǔ)言,即可以通過(guò)P4協(xié)議對底層交換機進(jìn)行編程控制。P4的范圍超越了純粹的SDN南向協(xié)議,包涵了網(wǎng)絡(luò )編程語(yǔ)言的概念。
本質(zhì)上,POF和P4更準確的歸類(lèi)應該是完全可編程的通用抽象模型,因為它們同時(shí)支持數據平面和控制平面的軟件定義。但是如果從南向接口協(xié)議的角度來(lái)看,POF和P4可以看作是比OpenFlow具備更全面可編程能力的南向接口協(xié)議。
聯(lián)系客服