田新志 陳曉范 申海杰
摘要:軟件定義網(wǎng)絡(luò)中多控制器部署過程中涉及控制器之間的通信問題,因而產(chǎn)生了東西性接口問題,多控制器的部署主要分為層次式與扁平式兩種結(jié)構(gòu),這兩種結(jié)構(gòu)在東西向通信中有各自不同的特點(diǎn)。該文對 SDN中東西向通信問題進(jìn)行了系統(tǒng)的分析,分析了不同部署方案中對東西向通信的處理方式,并對 SDN東西性通信問題的研究方向進(jìn)行了展望。
關(guān)鍵詞:軟件定義網(wǎng)絡(luò)(SDN);分布式控制;東西向通信
中圖分類號:TP319? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)20-0026-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
1 引言
SDN自2006年開始至今的在這段時(shí)間內(nèi)得到了高速發(fā)展,大規(guī)模網(wǎng)絡(luò)的形成、海量數(shù)據(jù)的應(yīng)用以及高服務(wù)質(zhì)量需求刺激著SDN的不斷發(fā)展壯大,致使SDN最初所設(shè)計(jì)的集中式控制方式的缺點(diǎn)越來明顯。單一控制器集中控制的設(shè)計(jì)特點(diǎn),使網(wǎng)絡(luò)中控制平面的控制器能力受到嚴(yán)重限制,其在擴(kuò)展方面尤其困難,而正是由于控制器的缺陷使得網(wǎng)絡(luò)遇到了性能瓶頸等問題[1]。為了能讓SDN持久地發(fā)展下去,SDN領(lǐng)域內(nèi)的各大控制器廠商紛紛推出自己的改進(jìn)方法及策略。如著名的由 NOX控制器升級來的NOX-MT控制器,在沒有改變原來控制器的基本結(jié)構(gòu)的前提下,利用現(xiàn)有的并行技術(shù)來增加控制器多線程處理功能,以達(dá)到提升控制器性能的目的。正是基于這種原因,由NOX升級到NOX-MT非常方便,且系統(tǒng)并不會因?yàn)榭刂破髌脚_的更換而產(chǎn)生網(wǎng)絡(luò)狀態(tài)不一致等性問題。當(dāng)然除了這種方法之外還可以采用性能較高的控制器如Maestro控制器[2],Maestro控制器中設(shè)計(jì)有并行處理結(jié)構(gòu),因此其具有良好的并行處理能力,使用這種控制器的SDN可以充分發(fā)揮高性能服務(wù)器的多核并行處理能力;特別是在網(wǎng)絡(luò)規(guī)模較大情況下,其性能比NOX要優(yōu)越得多。雖然這也不失為一個(gè)很好的解決方案,但這種方式在處理一個(gè)較大規(guī)模的網(wǎng)絡(luò)時(shí),具體的做法則是要將網(wǎng)絡(luò)按照某種規(guī)則劃分為若干個(gè)區(qū)域,此時(shí),假如還是使用單控制器集中控制方式來處置網(wǎng)絡(luò)中交換機(jī)相關(guān)請求時(shí),可能因?yàn)閭鬏斁嚯x等方面的原因,造成本域控制器與其他域中的交換機(jī)之間存在較大時(shí)延,這將很有可能造成網(wǎng)絡(luò)性能下降,嚴(yán)重時(shí)甚至?xí)斐删W(wǎng)絡(luò)不可用。 在單控制器集中控制方式中一旦控制器出現(xiàn)故障,那對網(wǎng)絡(luò)來說是災(zāi)難性的。此類解決方案目前還只能用于同一控制器之間的性能擴(kuò)展,對異構(gòu)控制器之間的相互協(xié)同工作還做不到。再者,若某系統(tǒng)對安全、隱私方面要進(jìn)行考慮的話,就需要系統(tǒng)能夠隱藏網(wǎng)絡(luò)內(nèi)部的細(xì)節(jié),這對單控制器集中控制方式來說也是無法做到的。
要更好地解決單控制器集中控制方式帶來的諸多問題,研究者們想到了擴(kuò)展控制器的數(shù)量,在網(wǎng)絡(luò)中部署多個(gè)控制器,讓各個(gè)控制器按某種規(guī)則相互協(xié)同工作來提升網(wǎng)絡(luò)中控制平面的處理能力,這就是常說的SDN多控制器部署的問題,當(dāng)在網(wǎng)絡(luò)中部署多個(gè)控制器時(shí),就需要有 SDN域的概念。那么對于跨域之間流量的處理問題就需要網(wǎng)絡(luò)設(shè)計(jì)人員認(rèn)真考慮了,那么實(shí)現(xiàn)多異構(gòu)控制器之間的協(xié)同工作也是SDN的主要研究方向之一。根據(jù)SDN的結(jié)構(gòu)描述可知,SDN控制平面有南向接口和北向接口。南向接口也稱向下接口,是面對數(shù)據(jù)平面的,其提供對不同廠家網(wǎng)絡(luò)單元的管理功能。北向接口也稱向上接口,是面向應(yīng)用的。而對于控制層內(nèi)部控制器與控制器之間的接口則稱之為東西向接口,其作用是完成控制器之間的通信。多控制器模型結(jié)構(gòu)如圖1所示。
2 SDN多控制器部署方式
目前在 SDN多控制器部署環(huán)境中主要有兩種部署方式,一是層次式結(jié)構(gòu),也稱為垂直結(jié)構(gòu)的,二是扁平式架構(gòu),也稱為水平結(jié)構(gòu)。
層次式架構(gòu)部署方式是在控制平面中再分出一層——高級控制層。分出的這一層主要是用于在網(wǎng)絡(luò)的運(yùn)行中協(xié)調(diào)多個(gè)異構(gòu)控制器之間的協(xié)同工作,以便完成網(wǎng)絡(luò)跨控制器(或跨域)通信請求。該方式一般的做法是先將控制器按照其用途進(jìn)行分類,劃分為局部控制器和全局控制器。局部控制器的主要職能是完成本區(qū)域內(nèi)交換機(jī)的控制與 管理,只需要掌握本區(qū)域的網(wǎng)絡(luò)狀態(tài)即可。而全局控制器的主要職能則是完成全網(wǎng)信息的維護(hù),負(fù)責(zé)完成全網(wǎng)信息的路由等操作。在這種模型結(jié)構(gòu)中,控制平面內(nèi)部有兩種信息需要進(jìn)行交互處理:一是各局部控制器與全局控制器之間交互信息的處理。二是全局控制器之間交互信息的處理。層次式SDN模型結(jié)構(gòu)圖如圖2所示。
扁平式架構(gòu)是把網(wǎng)絡(luò)分為不相交的區(qū)域,在每個(gè)不相交的區(qū)域內(nèi)有各自的控制器,這些控制器在網(wǎng)絡(luò)中的地位是相等,從邏輯上來看,它們都屬于全局控制器,都掌握著全網(wǎng)狀態(tài)信息,它們交換信息是通過控制器的東西向接口進(jìn)行的。一旦網(wǎng)絡(luò)狀態(tài)發(fā)生了變化,網(wǎng)絡(luò) 中的所有控制器為了獲取全網(wǎng)狀態(tài),這些控制器均需進(jìn)行同步更新操作,這種操作只需要交換機(jī)調(diào)整與控制器的地址映射就可以了,不需要進(jìn)行復(fù)雜的更新操作,因而扁平式結(jié)構(gòu)的SDN模型對數(shù)據(jù)層的影響較小。 扁平式SDN模型結(jié)構(gòu)圖如圖3所示。
3 SDN東西向接口研究現(xiàn)狀
多域控制器的域間通信協(xié)作機(jī)制需要一個(gè)東西向接口,目前分布式控制器各自有自己定義的東西向接口。這些接口的功能包括在各分區(qū)控制器實(shí)例之間實(shí)現(xiàn)導(dǎo)入/導(dǎo)出數(shù)據(jù)、數(shù)據(jù)一致性模型的算法、分布式監(jiān)測和通知功能、新控制器節(jié)點(diǎn)的部署狀態(tài)。那么在多控制器SDN模型結(jié)構(gòu)中,由控制器之間的通信而產(chǎn)生的東西向接口同樣對網(wǎng)絡(luò)的運(yùn)行起著至關(guān)重要的作用。
在層次化結(jié)構(gòu)部署中典型的成功案例是文獻(xiàn)[3]中提到的Kandoo網(wǎng)絡(luò)。對于Kandoo網(wǎng)絡(luò)的工作模式來說,如果網(wǎng)絡(luò)中的SDN交換機(jī)需要轉(zhuǎn)發(fā)未知報(bào)文時(shí),交換機(jī)首先向較近的局部控制器發(fā)送咨詢報(bào)文。局部控制在收到報(bào)文后,對報(bào)文進(jìn)行識別,如果報(bào)文是局部信息,則該控制器迅速做出響應(yīng)。如果控制器沒法處理交換機(jī)發(fā)來的報(bào)文,其向全局控制器發(fā)送咨詢報(bào)文,在收到全局控制器的回應(yīng)后將獲得的信息下發(fā)給交換機(jī),在這里也需要用控制器的東西向接口來進(jìn)行控制器之間的通信。Kandoo網(wǎng)絡(luò)由于采用了分層的思想,使得控制平面信息的交換不需要在全局控制器之間進(jìn)行頻繁交互,為降低流量負(fù)載做出了很大的貢獻(xiàn)。這種方式對于局部應(yīng)用較多的場合具有非常不錯(cuò)的執(zhí)行性能。
在扁平式結(jié)構(gòu)的部署中的典型成功案例是文獻(xiàn)[4]中提到的Onix和文獻(xiàn)[5]中提到的HyperFlow。在Onix架構(gòu)中,設(shè)計(jì)師們引進(jìn)了網(wǎng)絡(luò)信息庫(network information base,簡稱NIB)的概念。網(wǎng)絡(luò)中的所有控制器都保有一份對應(yīng)的網(wǎng)絡(luò)信息庫(NIB),模型通過保持控制器中的網(wǎng)絡(luò) 信息庫NIB的一致性來實(shí)現(xiàn)控制器之間的同步更新。而文獻(xiàn)[5]中的 HyperFlow模型的工作機(jī)制主要是利用注冊和廣播機(jī)制來實(shí)施的,如果某控制器因故障原因失效,則需要利用手動(dòng)配置的方式來進(jìn)行,將原來由失效控制器負(fù)責(zé)的交換機(jī)配置到網(wǎng)絡(luò)中另外一個(gè)新控制器上,其目的是保證其可用性。由于這種模型的控制方式中所有控制器都掌握了全網(wǎng)狀態(tài),而控制器在絕大多數(shù)情況下卻只用來控制局部網(wǎng)絡(luò),從而造成了一定程度上的資源浪費(fèi)。除此之外,當(dāng)控制器更新時(shí)還會增加網(wǎng)絡(luò)的整體負(fù)載。而且在實(shí)際網(wǎng)絡(luò)部署過程中,不同的域極有可能是屬于不同運(yùn)營商的,各運(yùn)營商采用的技術(shù)極有可能是不同的,導(dǎo)致控制器要在不同域之間進(jìn)行平等通信則是不可能的。
還有其他的一些研究成果,比如文獻(xiàn)[6]中所提出的用于東西向通信的OXP(Open e Xchange, 開放性可變長協(xié)議)。OXP 的核心思想 是:將控制平面進(jìn)行分層,以此來解決當(dāng)前 SDN 網(wǎng)絡(luò)在規(guī)模較大時(shí)網(wǎng)絡(luò)性能下降問題,具體做法是將控制平面劃分兩層,分別為域間控制層和域內(nèi)控制層。在該模型中域間控制器的主要任務(wù)是進(jìn)行各域之間跨域通信任務(wù),而對域內(nèi)控制器來說,其主要任務(wù)是完成域內(nèi)交換機(jī)流表等的下發(fā)等操作。那么在進(jìn)行全網(wǎng)跨域路徑計(jì)算時(shí),OXP模型將其劃分為域內(nèi)路徑計(jì)算和域間路徑計(jì)算兩部分,這樣一來,可以大大降低其全網(wǎng)路徑計(jì)算算法的復(fù)雜度。但在規(guī)模龐大的網(wǎng)絡(luò)系統(tǒng)中OXP的可行性有待進(jìn)一步驗(yàn)證。
文獻(xiàn)[7]提出了一種 P2P方式來解決 SDN網(wǎng)絡(luò)中控制器之間的協(xié)調(diào), P2 P方法可以保持每個(gè) SDN控制器的獨(dú)立性,具有不同的策略和路徑設(shè)置,以適用于其控制中的網(wǎng)絡(luò)元素。此外,P2P SDN允許逐漸部署和連續(xù)演進(jìn),并實(shí)現(xiàn)網(wǎng)絡(luò)的靈活配置。但是這種方法一方面目前只能部署在靜態(tài)拓?fù)渚W(wǎng)絡(luò)中,一旦網(wǎng)絡(luò)拓?fù)浒l(fā)生改變剛文獻(xiàn)[7]中所提出的算法將失效,另一方面由于 P2P方法仍然是以 BGP方式在域間交換數(shù)據(jù),所以在云環(huán)境,尤其是數(shù)據(jù)中心網(wǎng)絡(luò)中其吞吐量不一定能滿足要求。
4 SDN東西向接口發(fā)展趨勢
隨著云計(jì)算、大數(shù)據(jù)、人工智能技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)從規(guī)模上也是越來越大,人們對網(wǎng)絡(luò)的服務(wù)質(zhì)量都提出了很高的要求,這就要求現(xiàn)代的網(wǎng)絡(luò)在響應(yīng)速度、用戶體驗(yàn)、功能模塊方面都上一個(gè)新的臺階。而對于軟件定義網(wǎng)絡(luò)中的多控制器的部署來說更是如此。筆者認(rèn)為,有關(guān)SDN東西向接口今后的研究方向有以下幾點(diǎn):
1)目前SDN東西向接口并沒有統(tǒng)一的標(biāo)準(zhǔn),如何統(tǒng)一標(biāo)準(zhǔn),制定規(guī)范是今后的主要研究方面,這需要更多的人參與進(jìn)來。
2)控制平面東西向通信的實(shí)施可能會帶來控制規(guī)則的邏輯一致性問題、可用性問題和容錯(cuò)性問題等,在一個(gè)具體的網(wǎng)絡(luò)中三種特性是無法同時(shí)滿足,如何達(dá)到三者之間的平衡,也是研究者們今后的主要工作之一。
3)多域 SDN控制器東西向通信安全性問題研究,域間互聯(lián)基本上是通過控制器的東西向通信來實(shí)現(xiàn),但是控制器之間的通信方式以及安全性還沒有受到很多關(guān)注。域間安全是 SDN 網(wǎng)絡(luò)的大規(guī)模部署的關(guān)鍵問題,所以構(gòu)建域間分布式控制器的安全通信是非常必要的。
5 結(jié)論
本文對 SDN網(wǎng)絡(luò)在多控制器的部署方案中進(jìn)行了詳細(xì)的描述,系統(tǒng)地介紹了多控制器中的層次式架構(gòu)與扁平式架構(gòu)各自特點(diǎn),對目前在 SDN多控制器中控制平面的東西向接口的通信進(jìn)行了系統(tǒng)的介紹,對當(dāng)前所使用的東西向通信技術(shù)的特點(diǎn)及不足之處進(jìn)行了深刻的剖析,并對 SDN東西向通信問題的發(fā)展趨勢進(jìn)行了簡單的分析。
參考文獻(xiàn):
[1] Koteswararao Kondepu.Performance evaluation of SDN-controlled green mobile fronthaul using a federation of experimental network testbeds[J].Photonic Network Communications,2019,37(3):399-408.
[2] 呂焦盛.基于SDN的網(wǎng)絡(luò)控制器均衡技術(shù)設(shè)計(jì)與實(shí)現(xiàn)[J].河南科技學(xué)院學(xué)報(bào)(自然科學(xué)版),2019(02):60-64.
[3] 楊明軍.基于Kandoo 架構(gòu)的網(wǎng)絡(luò)負(fù)載均衡算法的研究[D].蘭州:蘭州大學(xué),2013.
[4] Jain S,Kumar A,Mandal S,et al.B4:Experience with a globally-deployed software defined WAN[J].ACM SIGCOMM Computer Communication Review.ACM,2013,43(4):3-14.
[5] Bartosz Balis.HyperFlow:A Distributed Control Plane for Open[J].Flow Future Generation Computer Systems,2016:147-162.
[6] 楊帆,李呈,黃韜.OXP:一種面向SDN移動(dòng)自組網(wǎng)的東西向協(xié)議[J].電信工程技術(shù)與標(biāo)準(zhǔn)化標(biāo)準(zhǔn)與規(guī)范,2016(9):32-37.
【通聯(lián)編輯:朱寶貴】