路 冉,袁 舒
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081; 2.中國人民解放軍32180部隊,北京 100072)
機動通信網(wǎng)[1]具有帶寬資源有限、通信質(zhì)量不穩(wěn)定和通信時延大等特點。面對機動通信技術(shù)的快速發(fā)展以及無線傳輸?shù)腝oS要求,封閉的傳統(tǒng)網(wǎng)絡(luò)架構(gòu)無法提供靈活的機動通信網(wǎng)服務(wù)能力。隨著軟件無線電[2]、軟件定義網(wǎng)絡(luò)技術(shù)[3]的成熟,使得信息系統(tǒng)向軟件定義一切(SDX)方向發(fā)展,這些先進技術(shù)對于機動通信網(wǎng)的建設(shè)發(fā)展具有重要的參考、借鑒和應(yīng)用價值。
軟件定義思想在機動通信網(wǎng)絡(luò)中的研究也越來越多,李默嘉[4]等針對戰(zhàn)術(shù)環(huán)境下OpenFlow協(xié)議面臨的問題,修改并仿真驗證了OpenFlow的協(xié)議機制;趙尚弘[5]等將軟件定義網(wǎng)絡(luò)思想運用于航空集群機載網(wǎng)絡(luò)的構(gòu)建,提出軟件定義航空集群機載網(wǎng)絡(luò)架構(gòu);鄭亮[6]等基于SDN/NFV,提出了海軍虛擬軍事信息網(wǎng)絡(luò)的實現(xiàn)方案。為檢驗軟件定義網(wǎng)絡(luò)技術(shù)在機動通信網(wǎng)絡(luò)中的適用性,本文融合了當(dāng)下先進的云計算[7]、虛擬化仿真[8]和數(shù)字仿真技術(shù)構(gòu)建了開放性、可擴展的軟件定義機動通信網(wǎng)絡(luò)仿真平臺,并基于此仿真平臺測試了機動無線通信環(huán)境下軟件定義網(wǎng)絡(luò)的性能。
SDN是一種可軟件編程的新型網(wǎng)絡(luò)架構(gòu)和技術(shù),設(shè)計思想最初來自美國的未來互聯(lián)網(wǎng)計劃(Future Internet Network Design,F(xiàn)IND),最大優(yōu)勢在于控制平面和數(shù)據(jù)平面的解耦、網(wǎng)絡(luò)邏輯狀態(tài)控制的集中化、底層轉(zhuǎn)發(fā)設(shè)備對高層應(yīng)用的透明化,并且具有靈活的軟件編程能力,可有效地解決當(dāng)前網(wǎng)絡(luò)架構(gòu)所面臨的資源規(guī)??蓴U展性差、網(wǎng)絡(luò)組織不夠靈活以及難以滿足不斷發(fā)展的業(yè)務(wù)需求等問題。
典型SDN網(wǎng)絡(luò)由控制器、交換機、終端和鏈路4類設(shè)備組成,如圖1所示。SDN架構(gòu)中2個重要組成部分是南向接口和北向接口。OpenFlow[9]技術(shù)作為SDN架構(gòu)應(yīng)用最廣泛的南向接口,屬于SDN結(jié)構(gòu)的一個實例、一系列規(guī)范的集合,其協(xié)議在不斷地改進、修改和完善之中。SDN的北向接口是連接控制器和用戶應(yīng)用之間的協(xié)議接口,是實現(xiàn)網(wǎng)絡(luò)的可編程控制,推動網(wǎng)絡(luò)業(yè)務(wù)創(chuàng)新的關(guān)鍵,北向接口方面目前還缺少業(yè)界公認(rèn)的標(biāo)準(zhǔn)。
圖1 典型SDN網(wǎng)絡(luò)組成
將SDN思想引入機動通信網(wǎng)中,設(shè)計基于軟件定義的機動通信網(wǎng)架構(gòu),如圖2所示,從下到上分為資源層、服務(wù)層和應(yīng)用層。
圖2 軟件定義機動通信網(wǎng)架構(gòu)
資源層主要是由機動通信骨干網(wǎng)和接入網(wǎng)組成的基礎(chǔ)通信網(wǎng)絡(luò),核心設(shè)備包括網(wǎng)絡(luò)設(shè)備和傳輸設(shè)備2類,網(wǎng)絡(luò)設(shè)備在服務(wù)層組網(wǎng)控制服務(wù)的管控下,接收下發(fā)的轉(zhuǎn)發(fā)流表,通過傳輸設(shè)備實現(xiàn)互聯(lián)組網(wǎng),構(gòu)建機動通信網(wǎng)的數(shù)據(jù)轉(zhuǎn)發(fā)平臺。服務(wù)層由組網(wǎng)控制和資源感知與調(diào)度2個核心服務(wù)組成,組網(wǎng)控制服務(wù)控制機動通信網(wǎng)資源層的設(shè)備,實現(xiàn)機動通信的組網(wǎng)控制,形成控制面;資源感知與調(diào)度服務(wù)對上層機動應(yīng)用提供網(wǎng)絡(luò)資源感知、控制支撐,實現(xiàn)自動、高效的資源控制,確保各類業(yè)務(wù)可靠、高效傳輸。應(yīng)用層由多樣化的應(yīng)用系統(tǒng)組成,能夠通過可編程方式把需要請求的網(wǎng)絡(luò)行為提交給控制器。
SDN架構(gòu)能否滿足無線環(huán)境下時變的網(wǎng)絡(luò)特征和多樣化的業(yè)務(wù)傳輸,往往需要通過仿真手段驗證。將先進的虛擬化技術(shù)[10]應(yīng)用到仿真領(lǐng)域,虛擬化的仿真環(huán)境為通信網(wǎng)絡(luò)的應(yīng)用程序和協(xié)議提供一個實時運行環(huán)境,并且支持應(yīng)用、協(xié)議不經(jīng)過修改可在真實網(wǎng)絡(luò)中運行,既降低虛實網(wǎng)絡(luò)之間的轉(zhuǎn)換成本,又可以借助接口轉(zhuǎn)換工具便捷地實現(xiàn)虛實結(jié)合的半實物仿真驗證平臺[ 11]。
Mininet[ 12]是當(dāng)下非常流行的輕量級SDN網(wǎng)絡(luò)測試平臺,由一些虛擬的終端節(jié)點、交換機和路由器連接而成,可以和真實網(wǎng)絡(luò)相媲美。面向軟件定義機動通信網(wǎng)仿真測試需求時,Mininet仍存在著不足之處:
① Mininet運行在虛擬機中,依賴虛擬機的資源構(gòu)建仿真網(wǎng)絡(luò),不利于仿真網(wǎng)絡(luò)規(guī)模的擴展;
② Mininet不支持無線信道傳輸模擬,雖然借助Linux內(nèi)核的TC(Traffic Control)機制設(shè)置鏈路的帶寬、延遲等參數(shù)來實現(xiàn)流量限速、流量整形以及策略應(yīng)用(丟棄、NAT等),但不支持復(fù)雜的無線傳輸環(huán)境、廣播傳輸信道的模擬。
面向軟件定義機動通信網(wǎng)絡(luò)的仿真測試需求,提出一種基于云環(huán)境的多模式聯(lián)合仿真方案,如圖3所示。底層云平臺層借助云管理平臺OpenStack[13]實現(xiàn)對計算、存儲和網(wǎng)絡(luò)資源的統(tǒng)一管理,上層仿真平臺層采用數(shù)字仿真與虛擬化仿真等多手段的聯(lián)合仿真實現(xiàn)軟件定義機動通信網(wǎng)絡(luò)的細(xì)粒度模擬。
圖3 基于云環(huán)境的多模式聯(lián)合仿真平臺
① 云平臺層
云平臺層將物理的基礎(chǔ)設(shè)施虛擬出計算、存儲和網(wǎng)絡(luò)3種資源,并利用云管理系統(tǒng)進行資源調(diào)度和管理,為上層網(wǎng)絡(luò)仿真環(huán)境按需提供靈活、動態(tài)可調(diào)配的虛擬化資源。
云平臺層的資源整合[ 14]十分重要,體現(xiàn)在虛擬化的基礎(chǔ)設(shè)施管理器(VIM),其主要功能是對網(wǎng)絡(luò)功能虛擬化基礎(chǔ)設(shè)施(NFVI)的管理,本質(zhì)上就是一個云操作系統(tǒng),對服務(wù)器的計算、存儲和網(wǎng)絡(luò)等資源進行管理。云平臺的NFVI分為3層:硬件資源層、虛擬化層和虛擬資源層,通過這3層的相互作用,支撐上層仿真平臺的構(gòu)建。
② 仿真平臺層
仿真平臺層由軟件定義機動通信網(wǎng)絡(luò)仿真環(huán)境、中間件和仿真管理控制系統(tǒng)組成。
仿真管理控制系統(tǒng)是OpenStack云管理平臺的集成封裝,實現(xiàn)仿真層面的管理控制,包括仿真模型的鏡像管理、仿真數(shù)據(jù)采集和仿真運行的管控等功能模塊。
中間件是軟件定義機動通信網(wǎng)絡(luò)仿真環(huán)境中多模式異構(gòu)仿真系統(tǒng)間,仿真系統(tǒng)與仿真管理控制系統(tǒng)間試驗數(shù)據(jù)、控制數(shù)據(jù)的收發(fā)總線。
軟件定義機動通信網(wǎng)絡(luò)仿真環(huán)境是仿真平臺的核心,其中所有仿真模型全部封裝成虛擬鏡像文件。通過在KVM/Docker中安裝部署仿真模型的運行環(huán)境(包括操作系統(tǒng)、仿真工具等)、仿真模型和仿真數(shù)據(jù)等,生成各類通信設(shè)備的仿真鏡像模板,依托仿真管理控制系統(tǒng)實現(xiàn)對仿真鏡像的自動加載和部署,完成網(wǎng)絡(luò)仿真系統(tǒng)的構(gòu)建。
為彌補虛擬化仿真在無線傳輸模擬方面的不足,基于DDS數(shù)據(jù)分發(fā)中間件實現(xiàn)無線環(huán)境數(shù)字仿真與軟件定義機動通信網(wǎng)絡(luò)虛擬化仿真系統(tǒng)的多模式聯(lián)合仿真,如圖4所示。
圖4 基于中間件的多模式聯(lián)合仿真流程
數(shù)據(jù)分發(fā)過程使用了2類主題數(shù)據(jù):無線鏈路特征主題和廣播數(shù)據(jù)主題。
無線鏈路特征主題“NodeName_RadioPara”以信道設(shè)備名稱命名,用于將OPNET動態(tài)計算的細(xì)粒度無線信道特征參數(shù)包括電臺發(fā)送速率、誤碼率和接收門限等加載到虛擬化網(wǎng)絡(luò)仿真系統(tǒng)中,對應(yīng)的無線傳輸設(shè)備代理訂閱本設(shè)備的無線鏈路特征主題。
廣播數(shù)據(jù)主題“NetName_RadioData”以通信子網(wǎng)名稱命名,無線傳輸設(shè)備代理發(fā)布并訂閱所屬通信子網(wǎng)的廣播數(shù)據(jù)主題,實現(xiàn)相同子網(wǎng)內(nèi)、無線傳輸設(shè)備代理間的數(shù)據(jù)廣播傳輸。無線傳輸設(shè)備代理訂閱到所屬子網(wǎng)的廣播數(shù)據(jù)主題后,依據(jù)無線鏈路特征主題中的信道特征參數(shù),計算數(shù)據(jù)的發(fā)送時延、傳播時延和誤碼個數(shù)等,模擬無線信道的傳輸,實現(xiàn)機動通信網(wǎng)絡(luò)的無線組網(wǎng)和數(shù)據(jù)傳輸。
在OpenStack的計算節(jié)點上安裝nova-docker,用于承載仿真平臺中的仿真工具、模型和系統(tǒng)等。OpenStack的Nova組件將容器狀態(tài)存儲在一個基于結(jié)構(gòu)化查詢語言(SQL)的中央數(shù)據(jù)庫中,所有的OpenStack組件都使用該數(shù)據(jù)庫。
Docker引擎采用C/S架構(gòu),包括Clinet端和Server端2部分。Server端有一守護進程,默認(rèn)在/var/run/dock.sock的一個socket鏈接文件中提供對本地Docker的監(jiān)聽操作。服務(wù)端提供了一套restful api接口,也就是說,Docker服務(wù)端不需要特定的客戶端也可以對Docker的鏡像、容器進行管理,因此使用Docker Remote API可以通過腳本進行Docker集群的自動化控制。
數(shù)據(jù)分發(fā)中間件主要用于完成多模式異構(gòu)仿真系統(tǒng)之間的數(shù)據(jù)交互,是多模式聯(lián)合仿真架構(gòu)中的核心組成部分,為滿足云環(huán)境下仿真系統(tǒng)大業(yè)務(wù)量實時交互的需求,采用DDS[ 15]數(shù)據(jù)分發(fā)技術(shù)。DDS是以數(shù)據(jù)為中心的發(fā)布—訂閱通信模型,并針對強實時系統(tǒng)進行了優(yōu)化,提供低時延、高吞吐量,以及對實時性能的控制登記。
云仿真平臺中,各仿真系統(tǒng)使用DDS API建立實體(對象),以此建立彼此間的發(fā)布/訂閱通信。DDS規(guī)范定義了總共22種QoS策略,其主要從數(shù)據(jù)的時效性、數(shù)據(jù)的可用性、系統(tǒng)資源的限制及數(shù)據(jù)分發(fā)效率這4個方面進行約束。為高效模擬機動通信網(wǎng)無線廣播信道的數(shù)據(jù)傳輸,需要設(shè)置可靠性“Reliablity”、組播“Multicasst Addressing”以及所有權(quán)“Ownership”3種策略,其中,“Reliablity”策略用于確保數(shù)據(jù)傳輸過程中到達的先后順序,“Multicasst Addressing”策略用于保證多個無線傳輸節(jié)點間廣播數(shù)據(jù)的高效傳輸,“Ownership”允許無線傳輸節(jié)點能夠同時接收到所屬通信子網(wǎng)其他無線傳輸節(jié)點發(fā)送的數(shù)據(jù)。
依托華為RH2288 v2型號服務(wù)器搭建軟件定義機動通信網(wǎng)仿真系統(tǒng),在服務(wù)器上部署OpenStack mitaka云管理平臺,在上層nova-docker環(huán)境中部署軟件定義機動通信網(wǎng)仿真系統(tǒng):
① 安裝并部署ONOS 1. 14. 0-SNAPSHOT軟件,構(gòu)建機動通信網(wǎng)絡(luò)的控制器節(jié)點[ 16]模型。
② 安裝并部署OpenvSwitch2. 6. 1軟件,構(gòu)建交換節(jié)點模型,交換節(jié)點與控制器節(jié)點之間通過OpenFlow協(xié)議實現(xiàn)控制協(xié)議的交互。
③ 依托OPNET14. 5商用網(wǎng)絡(luò)仿真引擎,基于平臺的標(biāo)準(zhǔn)模型庫和自定義開發(fā)的電臺模型庫,構(gòu)建無線環(huán)境仿真系統(tǒng)。依托RTI DDS代理接口實現(xiàn)無線鏈路特征數(shù)據(jù)主題的發(fā)布。
④ 無線傳輸設(shè)備代理基于Python語言定制開發(fā),通過虛擬網(wǎng)絡(luò)接口實現(xiàn)與交換節(jié)點之間的數(shù)據(jù)收發(fā);通過RTI DDS代理接口實現(xiàn)無線鏈路特征和廣播數(shù)據(jù)2類主題的發(fā)布訂閱。
基于典型的衛(wèi)星信道構(gòu)建軟件定義機動通信網(wǎng)絡(luò)的骨干網(wǎng)絡(luò)環(huán)境,由40個通信節(jié)點通過衛(wèi)星互聯(lián)而成,衛(wèi)星模擬信道帶寬為10 M,仿真場景如圖5所示。
圖5 軟件定義機動通信網(wǎng)仿真場景
考慮機動通信網(wǎng)絡(luò)在應(yīng)用中很難另外構(gòu)建一個用于實現(xiàn)集中控制的傳輸網(wǎng)絡(luò),控制協(xié)議需依賴帶內(nèi)帶寬進行傳輸?;趫D5仿真場景,分別仿真控制協(xié)議在帶外和帶內(nèi)2種傳輸模式下的控制開銷,控制開銷統(tǒng)計對比曲線如圖6所示,其中,發(fā)流量表示數(shù)據(jù)平面向控制器發(fā)送的流量大小,收流量表示數(shù)據(jù)平面接收控制平面的流量大小。
圖6 控制開銷統(tǒng)計曲線
控制協(xié)議基于帶內(nèi)和帶外2種傳輸方式,控制協(xié)議的開銷變化不明顯,基于帶內(nèi)傳輸控制開銷略高??刂屏髁壳€先有一個增長,再到一個穩(wěn)定值,并圍繞穩(wěn)定值上下波動,拓?fù)湓谶_到穩(wěn)定后,交換機依然會不間斷地向控制器上傳端口統(tǒng)計信息,拓?fù)浒l(fā)現(xiàn)數(shù)據(jù)也跟著持續(xù)向控制器上傳,帶內(nèi)傳輸模式下,全網(wǎng)的控制開銷平均為1. 2 Mbits/s(交換節(jié)點和控制器之間的流量累加)。
面向無線環(huán)境下軟件定義網(wǎng)絡(luò)架構(gòu)的適用性驗證需求,結(jié)合先進的虛擬化仿真技術(shù),基于OpenStack云管理平臺,基于底層靈活可調(diào)配的容器資源,構(gòu)建了基于DDS中間件的融合數(shù)字仿真和虛擬化仿真的多模式仿真平臺,充分發(fā)揮虛擬化仿真技術(shù)的逼真性和數(shù)字仿真在無線環(huán)境模擬中的優(yōu)勢,仿真平臺開放性好,擴展性強。在此基礎(chǔ)上,仿真對比分析了控制信令在帶內(nèi)、帶外傳輸時的控制開銷,帶內(nèi)統(tǒng)計結(jié)果也初步驗證了機動通信骨干網(wǎng)環(huán)境下軟件定義網(wǎng)絡(luò)架構(gòu)的可行性。