榮 偉,汪新云,黃寥若,許鈞南
(解放軍31648 部隊,南寧 530000)
指揮控制網絡中承載有數據、話音、視頻等多種業務,由于軍事行動的時效性要求較高,因此,往往需要為各種業務和用戶分配專用的帶寬,以保證端到端的傳輸速率和時延能夠滿足業務要求[1]。當前信息保障部隊采用的帶寬預留方法,是類似于帶寬預留協議(Resource Reservation Protocol,RSVP)的均勻帶寬預留機制,即在端到端路徑的每一跳上,預留相同的帶寬。然而,在當前的指揮控制網絡中,多種通信手段和傳輸信道并存,如微波、短波、衛星、光纖等,不同通信信道和設備所能夠提供的帶寬差異較大,存在較多的通信瓶頸,采用這種均勻帶寬預留方法,可能會導致一些瓶頸鏈路帶寬迅速耗盡,而另一些鏈路卻存在較多的空閑資源,在造成資源浪費的同時,也限制了網絡能夠承載的用戶連接數量,而網絡能夠承載的用戶連接數量,直接決定了指揮中心能夠指揮部隊的數量和范圍,是信息保障能力最為重要的指標之一[2]。
為了解決這一問題,本文提出了一種非均勻的帶寬預留機制,其可以在保證端到端傳輸速率和時延的情況下,根據每一跳的可用帶寬資源,靈活預留不同的帶寬,從而最優化網絡的負載均衡水平,最大化網絡能夠承載的用戶連接數量。本文的貢獻可以總結為下幾個方面:
1)針對傳統均勻帶寬預留機制存在的問題,提出了一種非均勻帶寬預留機制,并設計了最優化帶寬預留模型。通過該模型,能夠根據當前的鏈路狀態,決定每一跳預留的最優帶寬;
2)提出了一種基于軟件定義網絡(Software Defined Network,SDN)的非均勻帶寬預留機制實現方法,利用Openflow 提供的meter table 特性,實現了端到端路徑上每一跳的靈活帶寬預留;
3)對非均勻帶寬預留機制進行了仿真實驗,證明了在不同路由算法下,以及在指揮控制網絡的典型拓撲下,本文提出方法的有效性。
在指揮控制網絡中,消除通信過程的丟包并不采用帶寬預留的方式,因此,本文主要考慮各種業務的帶寬和時延需求。由于指揮控制網絡覆蓋的范圍較廣,端到端的鏈路較長,因此,通常情況下,僅僅預留業務需求的帶寬,難以滿足其端到端的時延需求,因此,往往需要在滿足基本傳輸速率的基礎上,多預留一部分帶寬,以加速數據的傳輸[3]。當前信息保障部隊采用的帶寬預留方法,往往在每一跳上預留相同的帶寬,忽視了不同鏈路的資源差異,導致了網絡的負載均衡水平較差。
為了解決以上問題,學者們已經提出了多種方法,有一些學者嘗試使用流量工程機制從空間的角度解決問題,通過流量工程,使得流量負載能夠更加均勻地分布在網絡中,以提高網絡的負載均衡水平[4-5]。另外幾種方法則從時間的角度解決問題,通過為某些請求安排適當的傳輸時間,從而避免網絡擁塞,利用空閑時的資源來接納更多連接[6-7]。雖然這些方法可以在一定程度上提高網絡的負載均衡水平,但是在傳統的均勻帶寬預留方法中,每一跳過量預留的帶寬是默認相同的,并未考慮每個鏈路的可用資源,因此,仍然無法最大化地減少瓶頸鏈路上的帶寬消耗。

圖1 均勻帶寬預留與非均勻帶寬預留
本文認為每條鏈路上過量預留的帶寬,應根據可用帶寬靈活調整,如圖1 所示。通過這種方式,可以在保證端到端服務質量的同時,通過在空閑鏈路上適當多預留帶寬,來減少瓶頸鏈路的資源消耗,從而能夠在以上研究成果的基礎上,進一步平衡每個鏈路的帶寬利用率,使得網絡容納更多的用戶連接。
網絡拓撲可以表示為有向圖G(E,V),其中,E和V 分別表示邊和頂點的集合。本文主要研究在給定的端到端路徑上為用戶業務保留帶寬。因此,假設在帶寬預留之前已建立用戶連接的路由。用戶連接的帶寬和時延要求可以表示為二元組R=(rate≥Rsla,delay≤Dsla),其中,Rsla表示最小所需帶寬,Dsla表示業務能夠承受的最大端到端時延。假設每個連接的流量均在網絡邊緣進行整形,且符合容量為Sbucket,服務速率為Rsla的漏桶模型。因此,排隊時延主要發生在網絡邊緣,其最大值可以用Sbucket/Rsla表示。在整形之后,網絡核心中的分組時延僅包括傳輸時延和傳播時延。在此,采用網絡演算[8]對端到端時延的上限De2e進行分析,可表示為:

其中,Lmax是用戶會話中的最大分組大小,MTU 是網絡的最大傳輸單元,Ci是路由中第i 個鏈路的預留帶寬,Ti是第i 個鏈路的最大傳輸速率。因此,非均勻帶寬預留的數學模型可表示為如下定理:
定理1(非均勻帶寬預留):非均勻帶寬預留方法滿足:

其中,Ai是路徑中第i 個鏈路的可用帶寬。式(2)表示端到端時延的上界應小于要求的最大時延。每條鏈路的預留帶寬應大于最小所需帶寬且小于可用帶寬。顯然,傳統的均勻帶寬預留方法是非均勻帶寬預留方法的特例,其中每條鏈路上的預留帶寬Ci相同(表示為Cf)。因此,端到端時延上界可表示為:

其中,n 是路由的跳數。然后,可以得到均勻帶寬預留的數學模型如下。
定理2(均勻帶寬預留):則具有業務需求R=(Rsla,Dsla)的流f 的預留帶寬可表示為:

通過比較式(2)和式(4)可以看到,利用非均勻帶寬預留模型,可以靈活地確定每個鏈路上預留的帶寬,同時仍能夠滿足業務的端到端時延要求。
基于以上分析,可以建立模型,確定每個鏈路上預留帶寬的最優值,從而使得網絡能夠承載的業務數量最大化。首先,將第i 個鏈路的剩余帶寬比qi定義為:可以將算法的偽代碼表示為算法1 所示。


算法1:帶寬最優化預留算法輸入:R=(Rsla,Dsla),={Ai}輸出:images/BZ_18_540_535_569_577.png={Ci}1: 開始2: 為用戶連接計算最優的端到端路由;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: 根據式(12)計算每個Ci 7: end while 8: 結束 images/BZ_18_425_918_525_965.png

在傳統的網絡結構中,實現每一跳上的靈活帶寬預留較為困難,因為逐跳配置單個設備可能需要較大的開銷或復雜的機制。為了解決這個問題,本文基于Openflow 協議提供的meter table 特性[9],設計了一種自動帶寬預留機制,以實現所提出的非均勻帶寬預留。整個方案的結構框架如圖2 所示,通過南向接口,SDN 控制器能夠收集網絡狀態信息,為用戶連接計算出最優的端到端路由,并根據第2 節中的算法1 計算出路由中每一跳應當預留的最優帶寬值。之后,在每個交換機上,SDN 控制器通過Openflow 協議自動配置meter table,實現帶寬預留。

圖2 基于SDN 的帶寬預留框架
在每個交換機中,利用meter table 實現帶寬預留的方法如圖3 所示,meter table 是一種特殊的流表,其主要用來記錄和管制流量。meter table 的結構如圖3 所示,每個meter table 包含多個meter band,每個meter band 相當于一條流量管制策略,其中rate,burst 字段定義了流量允許的速率和突發量,band type 則定義了對不合規流量的處理方式,當前有drop 和remark 兩種,即丟棄和重標記。meter table工作原理與單速率漏桶模型類似。在一段時間內,如果流量大于可以處理的量,則將數據包丟棄或重新標記。

圖3 基于meter table 的帶寬預留機制
如圖3 所示,首先,通過匹配流條目,將流量分類為Class 1,…,Class n 和Best Effort。通過對應于每個類的meter table 表,限制了屬于每個類流量的總傳輸速率。因此,通過設置適當的速率,突發及其他參數,可以實現帶寬預留和管制。例如,對于最大傳輸速率為10 Mb/s 的端口,假設流量有3 個類別,Class1、Class2 和Besteffort,我們將Besteffort 的速率設置為2 Mb/s,將band type 設置為丟棄。同樣,Class 1 和Class 2 的速率都設置為5 Mb/s 并且band type 設置為丟棄。因此,Class 1 和Class 2 的最小傳輸速率均為3 Mb/s,最大速率為5 Mb/s,相當于分別為Class 1 和Class 2 保留3 Mb/s 帶寬。
為了驗證本文提出方法在不同拓撲規模下的性能表現,本文在d×d 網格拓撲中進行仿真實驗,仿真拓撲如圖4 所示。

圖4 仿真拓撲圖
連接終端與節點的鏈路的最大傳輸速率設置為100 Mb/s。其他鏈路速率設置為1 Gb/s,假設只有33%的總容量可用于帶寬預留。在仿真實驗中,用戶連接的源終端和目的終端均為隨機產生,之后,本文根據不同的業務需求和應用場景,評估在采用不同帶寬預留方法的情況下,網絡能夠容納的最大用戶連接數。為了比較非均勻帶寬預留機制(Non-Uniform Bandwidth Reservation,NUBR)與傳統帶寬預留機制的性能表現,在仿真中,本文采用了當前最常用的帶寬預留協議(Resource Reservation Protocol,RSVP)作為對照方法。根據指揮控制網絡中承載的實際業務,評估3 種具有不同帶寬需求和端到端時延要求的業務類型:業務1(Rsla=98 kb/s;Dsla=100 ms)用于模擬話音,關鍵消息傳遞等應用,這些應用對帶寬要求較低,但對時延要求較高;業務2(Rsla=350 kb/s;Dsla=150 ms)用于模擬視頻業務等,這些應用在需要較高帶寬保障的同時,也要求較低的時延。業務3(Rsla=1 024 kb/s;Dsla=500 ms)用于模擬文件下載,數據傳輸等業務,這些應用對帶寬要求較高,但對時延要求較低。在仿真中,本文結合典型路由算法,來分析非均勻帶寬預留方法在不同路由算法下的性能表現,選擇的算法為約束最短路徑優先(Constrained Shortest Path First,CSPF)[10],最寬路徑優先(Widest Path First,WPF)[11]和最小沖突路由算法(Minimum Interference Routing Algorithm,MIRA)[12]。△C 設定為1 kb/s,仿真進行50次,結果取平均值。不同條件下,網絡能夠容納的最大用戶連接數如圖5 所示。
從圖5 中可以看出,對于采用NUBR 方法和RSVP 方法的所有業務類型,最大用戶連接數隨著網絡規模的增加而增加。對于業務1 和業務2,RSVP 方法的提升幅度總是隨d 增長,當d 達到6時,分別可以高達80.9%(使用CSPF)和29.7 %(使用WPF)。但是,對于業務3 的需求,無論路由算法如何,NUBR 方法的性能表現幾乎與RSVP 相同。根據式(1)~式(4)可知,本文提出的非均勻帶寬預留方法主要通過調整每個鏈路的過量預留帶寬,來實現更好的負載均衡。因此,當Cf-Rsla越大時,非均勻帶寬預留方法可以調整的帶寬越多,進而可以實現比RSVP 更大的改進。由式(3)可知,Cf主要由Dsla和端到端路徑的跳數確定。因此,對于具有較小Dsla和更多跳的業務,非均勻帶寬預留方法具有更大的優勢。同時,可以看到非均勻帶寬預留,在使用不同路由算法時,性能表現的差異很小(0%~8.9%)。因此,可以證明網絡容納用戶連接數量的提升,主要原因是采用了本文提出的方法而非路由算法。因此,可以從仿真結果中得出結論,在不同的服務類型,路由算法和網絡規模下,本文提出的非均勻帶寬預留方法,均可以顯著增加網絡能夠承載的用戶連接數量。尤其是對于具有高時延要求的應用和大規模的網絡,本文提出的方法能夠發揮更大的優勢。
此外,為了驗證非均勻帶寬預留方法在實際場景中的有效性,本文混合不同的業務類型,并在指揮控制網絡的常見拓撲中,評估非均勻帶寬預留方法的性能。采用的拓撲為:星型拓撲(Star,14 個節點),樹狀拓撲(Tree,32 個節點)),全連接拓撲(Mesh,12 個節點)和胖樹拓撲(FatTree,30 個節點)。每個用戶連接的業務類型隨機,其源和目的地同樣隨機產生。本文評估了在3 種不同路由算法下(CSPF、WPF、MIRA),使用非均勻帶寬預留方法,相比于RSVP 方法,網絡能夠承載最大用戶連接數的提升幅度。實驗進行50 次,結果取平均值。

圖5 不同條件下,網絡能夠容納的最大用戶連接數

圖6 不同拓撲類型下帶寬預留方法的性能表現
從圖6 中可以看出,雖然在不同應用場景下,非均勻帶寬預留方法能夠實現的提升有所不同,但在常用的路由算法和網絡拓撲類型下,本文所提出的方法總能獲得比RSVP 更好的性能。因此,可以得出結論,所提出的非均勻帶寬預留方法可以應用于實際應用場景中。
本文提出了一種應用于指揮控制網絡的非均勻帶寬預留方法,其能夠靈活地在端到端路徑的每一跳中,預留最優的帶寬,從而在保證業務需求的同時,最優化網絡的負載均衡性能。同時,基于Openflow 提供的meter table 特性,提出了一種可行的非均勻帶寬預留實現方法。仿真結果表明,與傳統方法相比,所提出的方法可以在指揮控制網絡的大部分應用場景中,使得網絡容納更多的用戶連接。與此同時,本文提出的非均勻帶寬預留方法仍需進一步的完善。例如,本文方法的實現有賴于網絡設備對于Openflow 協議的支持,同時實現基于每個流的帶寬預留也可能會帶來額外的網絡管理開銷等等。在下一步的研究中,將繼續改進和完善,以提升本文提出方法的實用性和有效性。