榮 偉,汪新云,黃寥若,許鈞南
(解放軍31648 部隊,南寧 530000)
指揮控制網(wǎng)絡(luò)中承載有數(shù)據(jù)、話音、視頻等多種業(yè)務(wù),由于軍事行動的時效性要求較高,因此,往往需要為各種業(yè)務(wù)和用戶分配專用的帶寬,以保證端到端的傳輸速率和時延能夠滿足業(yè)務(wù)要求[1]。當前信息保障部隊采用的帶寬預(yù)留方法,是類似于帶寬預(yù)留協(xié)議(Resource Reservation Protocol,RSVP)的均勻帶寬預(yù)留機制,即在端到端路徑的每一跳上,預(yù)留相同的帶寬。然而,在當前的指揮控制網(wǎng)絡(luò)中,多種通信手段和傳輸信道并存,如微波、短波、衛(wèi)星、光纖等,不同通信信道和設(shè)備所能夠提供的帶寬差異較大,存在較多的通信瓶頸,采用這種均勻帶寬預(yù)留方法,可能會導(dǎo)致一些瓶頸鏈路帶寬迅速耗盡,而另一些鏈路卻存在較多的空閑資源,在造成資源浪費的同時,也限制了網(wǎng)絡(luò)能夠承載的用戶連接數(shù)量,而網(wǎng)絡(luò)能夠承載的用戶連接數(shù)量,直接決定了指揮中心能夠指揮部隊的數(shù)量和范圍,是信息保障能力最為重要的指標之一[2]。
為了解決這一問題,本文提出了一種非均勻的帶寬預(yù)留機制,其可以在保證端到端傳輸速率和時延的情況下,根據(jù)每一跳的可用帶寬資源,靈活預(yù)留不同的帶寬,從而最優(yōu)化網(wǎng)絡(luò)的負載均衡水平,最大化網(wǎng)絡(luò)能夠承載的用戶連接數(shù)量。本文的貢獻可以總結(jié)為下幾個方面:
1)針對傳統(tǒng)均勻帶寬預(yù)留機制存在的問題,提出了一種非均勻帶寬預(yù)留機制,并設(shè)計了最優(yōu)化帶寬預(yù)留模型。通過該模型,能夠根據(jù)當前的鏈路狀態(tài),決定每一跳預(yù)留的最優(yōu)帶寬;
2)提出了一種基于軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)的非均勻帶寬預(yù)留機制實現(xiàn)方法,利用Openflow 提供的meter table 特性,實現(xiàn)了端到端路徑上每一跳的靈活帶寬預(yù)留;
3)對非均勻帶寬預(yù)留機制進行了仿真實驗,證明了在不同路由算法下,以及在指揮控制網(wǎng)絡(luò)的典型拓撲下,本文提出方法的有效性。
在指揮控制網(wǎng)絡(luò)中,消除通信過程的丟包并不采用帶寬預(yù)留的方式,因此,本文主要考慮各種業(yè)務(wù)的帶寬和時延需求。由于指揮控制網(wǎng)絡(luò)覆蓋的范圍較廣,端到端的鏈路較長,因此,通常情況下,僅僅預(yù)留業(yè)務(wù)需求的帶寬,難以滿足其端到端的時延需求,因此,往往需要在滿足基本傳輸速率的基礎(chǔ)上,多預(yù)留一部分帶寬,以加速數(shù)據(jù)的傳輸[3]。當前信息保障部隊采用的帶寬預(yù)留方法,往往在每一跳上預(yù)留相同的帶寬,忽視了不同鏈路的資源差異,導(dǎo)致了網(wǎng)絡(luò)的負載均衡水平較差。
為了解決以上問題,學(xué)者們已經(jīng)提出了多種方法,有一些學(xué)者嘗試使用流量工程機制從空間的角度解決問題,通過流量工程,使得流量負載能夠更加均勻地分布在網(wǎng)絡(luò)中,以提高網(wǎng)絡(luò)的負載均衡水平[4-5]。另外幾種方法則從時間的角度解決問題,通過為某些請求安排適當?shù)膫鬏敃r間,從而避免網(wǎng)絡(luò)擁塞,利用空閑時的資源來接納更多連接[6-7]。雖然這些方法可以在一定程度上提高網(wǎng)絡(luò)的負載均衡水平,但是在傳統(tǒng)的均勻帶寬預(yù)留方法中,每一跳過量預(yù)留的帶寬是默認相同的,并未考慮每個鏈路的可用資源,因此,仍然無法最大化地減少瓶頸鏈路上的帶寬消耗。
圖1 均勻帶寬預(yù)留與非均勻帶寬預(yù)留
本文認為每條鏈路上過量預(yù)留的帶寬,應(yīng)根據(jù)可用帶寬靈活調(diào)整,如圖1 所示。通過這種方式,可以在保證端到端服務(wù)質(zhì)量的同時,通過在空閑鏈路上適當多預(yù)留帶寬,來減少瓶頸鏈路的資源消耗,從而能夠在以上研究成果的基礎(chǔ)上,進一步平衡每個鏈路的帶寬利用率,使得網(wǎng)絡(luò)容納更多的用戶連接。
網(wǎng)絡(luò)拓撲可以表示為有向圖G(E,V),其中,E和V 分別表示邊和頂點的集合。本文主要研究在給定的端到端路徑上為用戶業(yè)務(wù)保留帶寬。因此,假設(shè)在帶寬預(yù)留之前已建立用戶連接的路由。用戶連接的帶寬和時延要求可以表示為二元組R=(rate≥Rsla,delay≤Dsla),其中,Rsla表示最小所需帶寬,Dsla表示業(yè)務(wù)能夠承受的最大端到端時延。假設(shè)每個連接的流量均在網(wǎng)絡(luò)邊緣進行整形,且符合容量為Sbucket,服務(wù)速率為Rsla的漏桶模型。因此,排隊時延主要發(fā)生在網(wǎng)絡(luò)邊緣,其最大值可以用Sbucket/Rsla表示。在整形之后,網(wǎng)絡(luò)核心中的分組時延僅包括傳輸時延和傳播時延。在此,采用網(wǎng)絡(luò)演算[8]對端到端時延的上限D(zhuǎn)e2e進行分析,可表示為:
其中,Lmax是用戶會話中的最大分組大小,MTU 是網(wǎng)絡(luò)的最大傳輸單元,Ci是路由中第i 個鏈路的預(yù)留帶寬,Ti是第i 個鏈路的最大傳輸速率。因此,非均勻帶寬預(yù)留的數(shù)學(xué)模型可表示為如下定理:
定理1(非均勻帶寬預(yù)留):非均勻帶寬預(yù)留方法滿足:
其中,Ai是路徑中第i 個鏈路的可用帶寬。式(2)表示端到端時延的上界應(yīng)小于要求的最大時延。每條鏈路的預(yù)留帶寬應(yīng)大于最小所需帶寬且小于可用帶寬。顯然,傳統(tǒng)的均勻帶寬預(yù)留方法是非均勻帶寬預(yù)留方法的特例,其中每條鏈路上的預(yù)留帶寬Ci相同(表示為Cf)。因此,端到端時延上界可表示為:
其中,n 是路由的跳數(shù)。然后,可以得到均勻帶寬預(yù)留的數(shù)學(xué)模型如下。
定理2(均勻帶寬預(yù)留):則具有業(yè)務(wù)需求R=(Rsla,Dsla)的流f 的預(yù)留帶寬可表示為:
通過比較式(2)和式(4)可以看到,利用非均勻帶寬預(yù)留模型,可以靈活地確定每個鏈路上預(yù)留的帶寬,同時仍能夠滿足業(yè)務(wù)的端到端時延要求。
基于以上分析,可以建立模型,確定每個鏈路上預(yù)留帶寬的最優(yōu)值,從而使得網(wǎng)絡(luò)能夠承載的業(yè)務(wù)數(shù)量最大化。首先,將第i 個鏈路的剩余帶寬比qi定義為:可以將算法的偽代碼表示為算法1 所示。
算法1:帶寬最優(yōu)化預(yù)留算法輸入:R=(Rsla,Dsla),={Ai}輸出:images/BZ_18_540_535_569_577.png={Ci}1: 開始2: 為用戶連接計算最優(yōu)的端到端路由;3: 找到擁有最大 的鏈路i,然后令Rslaimages/BZ_18_332_600_363_642.pngimages/BZ_18_909_783_976_826.png4: while De2e≠Dsla 并且images/BZ_18_661_849_753_896.png5:+△C 6: 根據(jù)式(12)計算每個Ci 7: end while 8: 結(jié)束 images/BZ_18_425_918_525_965.png
在傳統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)中,實現(xiàn)每一跳上的靈活帶寬預(yù)留較為困難,因為逐跳配置單個設(shè)備可能需要較大的開銷或復(fù)雜的機制。為了解決這個問題,本文基于Openflow 協(xié)議提供的meter table 特性[9],設(shè)計了一種自動帶寬預(yù)留機制,以實現(xiàn)所提出的非均勻帶寬預(yù)留。整個方案的結(jié)構(gòu)框架如圖2 所示,通過南向接口,SDN 控制器能夠收集網(wǎng)絡(luò)狀態(tài)信息,為用戶連接計算出最優(yōu)的端到端路由,并根據(jù)第2 節(jié)中的算法1 計算出路由中每一跳應(yīng)當預(yù)留的最優(yōu)帶寬值。之后,在每個交換機上,SDN 控制器通過Openflow 協(xié)議自動配置meter table,實現(xiàn)帶寬預(yù)留。
圖2 基于SDN 的帶寬預(yù)留框架
在每個交換機中,利用meter table 實現(xiàn)帶寬預(yù)留的方法如圖3 所示,meter table 是一種特殊的流表,其主要用來記錄和管制流量。meter table 的結(jié)構(gòu)如圖3 所示,每個meter table 包含多個meter band,每個meter band 相當于一條流量管制策略,其中rate,burst 字段定義了流量允許的速率和突發(fā)量,band type 則定義了對不合規(guī)流量的處理方式,當前有drop 和remark 兩種,即丟棄和重標記。meter table工作原理與單速率漏桶模型類似。在一段時間內(nèi),如果流量大于可以處理的量,則將數(shù)據(jù)包丟棄或重新標記。
圖3 基于meter table 的帶寬預(yù)留機制
如圖3 所示,首先,通過匹配流條目,將流量分類為Class 1,…,Class n 和Best Effort。通過對應(yīng)于每個類的meter table 表,限制了屬于每個類流量的總傳輸速率。因此,通過設(shè)置適當?shù)乃俾?,突發(fā)及其他參數(shù),可以實現(xiàn)帶寬預(yù)留和管制。例如,對于最大傳輸速率為10 Mb/s 的端口,假設(shè)流量有3 個類別,Class1、Class2 和Besteffort,我們將Besteffort 的速率設(shè)置為2 Mb/s,將band type 設(shè)置為丟棄。同樣,Class 1 和Class 2 的速率都設(shè)置為5 Mb/s 并且band type 設(shè)置為丟棄。因此,Class 1 和Class 2 的最小傳輸速率均為3 Mb/s,最大速率為5 Mb/s,相當于分別為Class 1 和Class 2 保留3 Mb/s 帶寬。
為了驗證本文提出方法在不同拓撲規(guī)模下的性能表現(xiàn),本文在d×d 網(wǎng)格拓撲中進行仿真實驗,仿真拓撲如圖4 所示。
圖4 仿真拓撲圖
連接終端與節(jié)點的鏈路的最大傳輸速率設(shè)置為100 Mb/s。其他鏈路速率設(shè)置為1 Gb/s,假設(shè)只有33%的總?cè)萘靠捎糜趲掝A(yù)留。在仿真實驗中,用戶連接的源終端和目的終端均為隨機產(chǎn)生,之后,本文根據(jù)不同的業(yè)務(wù)需求和應(yīng)用場景,評估在采用不同帶寬預(yù)留方法的情況下,網(wǎng)絡(luò)能夠容納的最大用戶連接數(shù)。為了比較非均勻帶寬預(yù)留機制(Non-Uniform Bandwidth Reservation,NUBR)與傳統(tǒng)帶寬預(yù)留機制的性能表現(xiàn),在仿真中,本文采用了當前最常用的帶寬預(yù)留協(xié)議(Resource Reservation Protocol,RSVP)作為對照方法。根據(jù)指揮控制網(wǎng)絡(luò)中承載的實際業(yè)務(wù),評估3 種具有不同帶寬需求和端到端時延要求的業(yè)務(wù)類型:業(yè)務(wù)1(Rsla=98 kb/s;Dsla=100 ms)用于模擬話音,關(guān)鍵消息傳遞等應(yīng)用,這些應(yīng)用對帶寬要求較低,但對時延要求較高;業(yè)務(wù)2(Rsla=350 kb/s;Dsla=150 ms)用于模擬視頻業(yè)務(wù)等,這些應(yīng)用在需要較高帶寬保障的同時,也要求較低的時延。業(yè)務(wù)3(Rsla=1 024 kb/s;Dsla=500 ms)用于模擬文件下載,數(shù)據(jù)傳輸?shù)葮I(yè)務(wù),這些應(yīng)用對帶寬要求較高,但對時延要求較低。在仿真中,本文結(jié)合典型路由算法,來分析非均勻帶寬預(yù)留方法在不同路由算法下的性能表現(xiàn),選擇的算法為約束最短路徑優(yōu)先(Constrained Shortest Path First,CSPF)[10],最寬路徑優(yōu)先(Widest Path First,WPF)[11]和最小沖突路由算法(Minimum Interference Routing Algorithm,MIRA)[12]?!鰿 設(shè)定為1 kb/s,仿真進行50次,結(jié)果取平均值。不同條件下,網(wǎng)絡(luò)能夠容納的最大用戶連接數(shù)如圖5 所示。
從圖5 中可以看出,對于采用NUBR 方法和RSVP 方法的所有業(yè)務(wù)類型,最大用戶連接數(shù)隨著網(wǎng)絡(luò)規(guī)模的增加而增加。對于業(yè)務(wù)1 和業(yè)務(wù)2,RSVP 方法的提升幅度總是隨d 增長,當d 達到6時,分別可以高達80.9%(使用CSPF)和29.7 %(使用WPF)。但是,對于業(yè)務(wù)3 的需求,無論路由算法如何,NUBR 方法的性能表現(xiàn)幾乎與RSVP 相同。根據(jù)式(1)~式(4)可知,本文提出的非均勻帶寬預(yù)留方法主要通過調(diào)整每個鏈路的過量預(yù)留帶寬,來實現(xiàn)更好的負載均衡。因此,當Cf-Rsla越大時,非均勻帶寬預(yù)留方法可以調(diào)整的帶寬越多,進而可以實現(xiàn)比RSVP 更大的改進。由式(3)可知,Cf主要由Dsla和端到端路徑的跳數(shù)確定。因此,對于具有較小Dsla和更多跳的業(yè)務(wù),非均勻帶寬預(yù)留方法具有更大的優(yōu)勢。同時,可以看到非均勻帶寬預(yù)留,在使用不同路由算法時,性能表現(xiàn)的差異很?。?%~8.9%)。因此,可以證明網(wǎng)絡(luò)容納用戶連接數(shù)量的提升,主要原因是采用了本文提出的方法而非路由算法。因此,可以從仿真結(jié)果中得出結(jié)論,在不同的服務(wù)類型,路由算法和網(wǎng)絡(luò)規(guī)模下,本文提出的非均勻帶寬預(yù)留方法,均可以顯著增加網(wǎng)絡(luò)能夠承載的用戶連接數(shù)量。尤其是對于具有高時延要求的應(yīng)用和大規(guī)模的網(wǎng)絡(luò),本文提出的方法能夠發(fā)揮更大的優(yōu)勢。
此外,為了驗證非均勻帶寬預(yù)留方法在實際場景中的有效性,本文混合不同的業(yè)務(wù)類型,并在指揮控制網(wǎng)絡(luò)的常見拓撲中,評估非均勻帶寬預(yù)留方法的性能。采用的拓撲為:星型拓撲(Star,14 個節(jié)點),樹狀拓撲(Tree,32 個節(jié)點)),全連接拓撲(Mesh,12 個節(jié)點)和胖樹拓撲(FatTree,30 個節(jié)點)。每個用戶連接的業(yè)務(wù)類型隨機,其源和目的地同樣隨機產(chǎn)生。本文評估了在3 種不同路由算法下(CSPF、WPF、MIRA),使用非均勻帶寬預(yù)留方法,相比于RSVP 方法,網(wǎng)絡(luò)能夠承載最大用戶連接數(shù)的提升幅度。實驗進行50 次,結(jié)果取平均值。
圖5 不同條件下,網(wǎng)絡(luò)能夠容納的最大用戶連接數(shù)
圖6 不同拓撲類型下帶寬預(yù)留方法的性能表現(xiàn)
從圖6 中可以看出,雖然在不同應(yīng)用場景下,非均勻帶寬預(yù)留方法能夠?qū)崿F(xiàn)的提升有所不同,但在常用的路由算法和網(wǎng)絡(luò)拓撲類型下,本文所提出的方法總能獲得比RSVP 更好的性能。因此,可以得出結(jié)論,所提出的非均勻帶寬預(yù)留方法可以應(yīng)用于實際應(yīng)用場景中。
本文提出了一種應(yīng)用于指揮控制網(wǎng)絡(luò)的非均勻帶寬預(yù)留方法,其能夠靈活地在端到端路徑的每一跳中,預(yù)留最優(yōu)的帶寬,從而在保證業(yè)務(wù)需求的同時,最優(yōu)化網(wǎng)絡(luò)的負載均衡性能。同時,基于Openflow 提供的meter table 特性,提出了一種可行的非均勻帶寬預(yù)留實現(xiàn)方法。仿真結(jié)果表明,與傳統(tǒng)方法相比,所提出的方法可以在指揮控制網(wǎng)絡(luò)的大部分應(yīng)用場景中,使得網(wǎng)絡(luò)容納更多的用戶連接。與此同時,本文提出的非均勻帶寬預(yù)留方法仍需進一步的完善。例如,本文方法的實現(xiàn)有賴于網(wǎng)絡(luò)設(shè)備對于Openflow 協(xié)議的支持,同時實現(xiàn)基于每個流的帶寬預(yù)留也可能會帶來額外的網(wǎng)絡(luò)管理開銷等等。在下一步的研究中,將繼續(xù)改進和完善,以提升本文提出方法的實用性和有效性。