李培林,彭美平
(1.中國電子科學(xué)研究院,北京 100041;2. 西安云辰電子科技有限公司,陜西西安 710065)
?
工程與應(yīng)用
基于DDS的分布式網(wǎng)絡(luò)仿真系統(tǒng)
李培林1,彭美平2
(1.中國電子科學(xué)研究院,北京100041;2. 西安云辰電子科技有限公司,陜西西安710065)
DDS(DataDistributionService) 即數(shù)據(jù)分發(fā)服務(wù),是OMG組織制定的數(shù)據(jù)分發(fā)服務(wù)規(guī)范,提供了QoS(服務(wù)質(zhì)量),采用以數(shù)據(jù)為中心的訂閱/發(fā)布的通信模型,可以滿足系統(tǒng)高效、實(shí)時(shí)的通信需求。隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,網(wǎng)絡(luò)仿真已成為全新的網(wǎng)絡(luò)分析和規(guī)劃技術(shù),OPNET仿真軟件具有在通信網(wǎng)絡(luò)和信息系統(tǒng)方面的專業(yè)化設(shè)計(jì), 對關(guān)鍵參數(shù)和原理進(jìn)行驗(yàn)證,并提供豐富的API接口,滿足分布式通信網(wǎng)絡(luò)仿真的需要。至此,本文結(jié)合DDS分布式仿真技術(shù)與OPNET網(wǎng)絡(luò)仿真平臺,提出了一種基于DDS與OPNET的分布式網(wǎng)絡(luò)仿真體系架構(gòu),實(shí)現(xiàn)了多個(gè)仿真平臺之間的實(shí)時(shí)信息交互,指導(dǎo)實(shí)施大規(guī)模軍事通信網(wǎng)仿真。
DDS;OPNET;分布式仿真;系統(tǒng)集成
TP393
A
1673-5692(2016)02-214-05
性能評估能判斷網(wǎng)絡(luò)結(jié)構(gòu)和協(xié)議算法的實(shí)用性,并能指導(dǎo)其實(shí)施優(yōu)化。而評估網(wǎng)絡(luò)結(jié)構(gòu)與算法性能的一種有效方式是采用仿真的方法。網(wǎng)絡(luò)仿真作為一種重要的科學(xué)方法,受到了國際通信網(wǎng)絡(luò)領(lǐng)域的高度關(guān)注。而針對軍事通信網(wǎng)絡(luò)具有網(wǎng)絡(luò)規(guī)模大,協(xié)議復(fù)雜等特點(diǎn),單一的通信網(wǎng)絡(luò)仿真已無法滿足軍事通信網(wǎng)的仿真需求。而利用分布式仿真技術(shù)集成多個(gè)仿真平臺,為精確仿真軍事通信網(wǎng)提供有效的解決途徑。
目前,分布式仿真系統(tǒng)廣泛采用高層體系結(jié)構(gòu)(HLA)作為中間件進(jìn)行信息交互,但HLA-RTI存在實(shí)時(shí)性較差,不能很好的滿足數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性要求,導(dǎo)致在很多領(lǐng)域的應(yīng)用受到限制[1]。2004年對象管理組織(OMG)首次發(fā)布了以實(shí)時(shí)數(shù)據(jù)為中心的發(fā)布/訂閱通信模式-數(shù)據(jù)分發(fā)服務(wù)(DDS)[2]規(guī)范。DDS為用戶提供了統(tǒng)一的應(yīng)用程序編程接口,將數(shù)據(jù)發(fā)布、傳遞以及接收的接口和行為標(biāo)準(zhǔn)化。該規(guī)范實(shí)現(xiàn)對復(fù)雜系統(tǒng)中的數(shù)據(jù)進(jìn)行實(shí)時(shí)、高效的傳輸要求;在分布式網(wǎng)絡(luò)環(huán)境下,可以實(shí)現(xiàn)動(dòng)態(tài)組網(wǎng)和數(shù)據(jù)的按需多點(diǎn)分發(fā)。同時(shí)規(guī)范化了QoS,使其能夠滿足實(shí)時(shí)通信的需求,優(yōu)化了分布式系統(tǒng)的高實(shí)時(shí)性,用于滿足對高性能、可預(yù)見性有較高要求的關(guān)鍵任務(wù)領(lǐng)域的計(jì)算需求。
OPNET[3-4]是當(dāng)前業(yè)界領(lǐng)先的網(wǎng)絡(luò)開發(fā)環(huán)境,以其無與倫比的靈活性應(yīng)用于設(shè)計(jì)和研究網(wǎng)絡(luò)通信、設(shè)備、協(xié)議和應(yīng)用。以事件調(diào)度為基礎(chǔ)的建模思路,結(jié)合進(jìn)程交互處理事件,以進(jìn)程形式把活動(dòng)、事件按事件的先后順序組合,使得OPNET建模方式靈活而又直觀[5]。因此,本文提出一種基于DDS與OPNET(DOP)分布式通信網(wǎng)絡(luò)仿真體系架構(gòu),利用該架構(gòu)可搭建分布式仿真系統(tǒng),完成多個(gè)分布式節(jié)點(diǎn)間的高效數(shù)據(jù)交互,實(shí)現(xiàn)多個(gè)仿真節(jié)點(diǎn)的動(dòng)態(tài)擴(kuò)展,完成數(shù)據(jù)共享。
1.1數(shù)據(jù)分發(fā)服務(wù)(DDS)技術(shù)特點(diǎn)
DDS規(guī)范了數(shù)據(jù)發(fā)布、傳遞以及接收的接口和行為,提供一個(gè)與平臺無關(guān)的數(shù)據(jù)模型。其目的是簡化分布式系統(tǒng)中的數(shù)據(jù)高效、可靠發(fā)布,主要應(yīng)用在要求高性能、可預(yù)見性和對資源有效使用的關(guān)鍵任務(wù)領(lǐng)域[6]。以數(shù)據(jù)為中心的通信模式如圖1所示。
圖1 以數(shù)據(jù)為中心的發(fā)布/訂閱通信模式
以數(shù)據(jù)為中心的發(fā)布/訂閱模式針對發(fā)布者和訂閱者采用松耦合的連接方式?;谌?jǐn)?shù)據(jù)空間概念,所有對該空間中的數(shù)據(jù)感興趣的分布式節(jié)點(diǎn)都可以自由讀取。在通信過程中,向數(shù)據(jù)空間寫數(shù)據(jù)者被定義為“發(fā)布者”,公布自己所提供的數(shù)據(jù)類型和屬性;向數(shù)據(jù)空間讀取數(shù)據(jù)者被定義為“訂閱者”,公布自己所希望得到的數(shù)據(jù)類型和屬性。發(fā)布者和訂閱者不需知道彼此的具體位置,發(fā)布者只需通過關(guān)聯(lián)一個(gè)類型化的數(shù)據(jù)寫入者,并根據(jù)對應(yīng)的QoS策略向外發(fā)送仿真應(yīng)用產(chǎn)生的各種數(shù)據(jù);訂閱者只需關(guān)聯(lián)一個(gè)類型化的數(shù)據(jù)讀取者,接收發(fā)布者已發(fā)布的數(shù)據(jù)供接收分布式仿真節(jié)點(diǎn)使用。一旦全局?jǐn)?shù)據(jù)空間中有數(shù)據(jù)更新,中間件將數(shù)據(jù)傳遞給所有對此數(shù)據(jù)感興趣的訂閱者,從而訂閱者即可從全局?jǐn)?shù)據(jù)空間中獲取感興趣的數(shù)據(jù)。
DDS作為在分布式系統(tǒng)中高效、可靠地進(jìn)行數(shù)據(jù)交互的規(guī)范,引入了“全局?jǐn)?shù)據(jù)空間”概念,訂閱方直接配對發(fā)布方,進(jìn)行點(diǎn)對點(diǎn)的通信,無需中介,時(shí)延低、效率高;可采用靈活的QoS策略,滿足多類型的用戶需求;擁有較大的網(wǎng)絡(luò)吞吐率,可以UDP/IP等協(xié)議發(fā)包,一個(gè)包同時(shí)可發(fā)至多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn);讀寫雙方均可動(dòng)態(tài)接入與動(dòng)態(tài)退出,即時(shí)發(fā)布與讀取數(shù)據(jù);系統(tǒng)可擴(kuò)展,系統(tǒng)間解耦合。
1.2OPNET技術(shù)特點(diǎn)
OPNET是當(dāng)前業(yè)界領(lǐng)先的網(wǎng)絡(luò)技術(shù)開發(fā)環(huán)境,可以方便地設(shè)計(jì)與開發(fā)通信設(shè)備,通信協(xié)議與應(yīng)用。以事件調(diào)度為基礎(chǔ)的建模思想,采用離散事件驅(qū)動(dòng)機(jī)制。OPNET以進(jìn)程的形式按先后順序組合事件,建模靈活、效果直觀。OPNET建模采用三層建模機(jī)制,將復(fù)雜系統(tǒng)分解為不同的層次結(jié)構(gòu),每一層完成特定的功能,且一層內(nèi)可由多個(gè)模塊組成。三層模型分別與實(shí)際的網(wǎng)絡(luò)、設(shè)備和協(xié)議一一映射,反應(yīng)真實(shí)網(wǎng)絡(luò)特性。三層建模機(jī)制即:網(wǎng)絡(luò)域、節(jié)點(diǎn)域和進(jìn)程域。
1)網(wǎng)絡(luò)域:由通信子網(wǎng)、通信節(jié)點(diǎn)、通信鏈路三個(gè)主要模塊組成,描述被仿真網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。
2)節(jié)點(diǎn)域:將真實(shí)的通信實(shí)體(如終端,路由器等)抽象為節(jié)點(diǎn)。從應(yīng)用、進(jìn)程、隊(duì)列和通信接口等方面對節(jié)點(diǎn)的功能進(jìn)行了規(guī)范,以最大限度來描述真實(shí)的網(wǎng)絡(luò)實(shí)體設(shè)備。
3)進(jìn)程域:是實(shí)施算法、協(xié)議的載體,是整個(gè)建模過程中最重要的部分,用于定義節(jié)點(diǎn)域中處理器模塊、隊(duì)列模塊、外部系統(tǒng)模塊的動(dòng)態(tài)行為。模擬各種硬件或軟件子系統(tǒng),包括通信協(xié)議、算法、磁盤或內(nèi)存的共享資源、操作系統(tǒng)排隊(duì)規(guī)則、特定業(yè)務(wù)生成器等。
OPNET采用基于數(shù)據(jù)包的形式模擬真實(shí)網(wǎng)絡(luò)的數(shù)據(jù)流,數(shù)據(jù)包以虛擬的形式存在,同時(shí)也可以搭載真實(shí)的數(shù)據(jù)流,還能有效結(jié)合數(shù)據(jù)包分析法和統(tǒng)計(jì)學(xué)建模法,從而達(dá)到提高網(wǎng)絡(luò)仿真的精確度。并提供靈活的網(wǎng)絡(luò)場景配置、網(wǎng)絡(luò)背景流量配置等相關(guān)網(wǎng)絡(luò)參數(shù),方便通信網(wǎng)絡(luò)場景的模擬和仿真結(jié)果的對比分析。
2.1DOP分布式仿真系統(tǒng)框架
從上述分析可以看出,OPNET網(wǎng)絡(luò)仿真平臺提供了網(wǎng)絡(luò)設(shè)備與網(wǎng)絡(luò)協(xié)議的研發(fā)以及拓?fù)浣Y(jié)構(gòu)的搭建,準(zhǔn)確分析復(fù)雜網(wǎng)絡(luò)的性能和行為。另外,OPNET提供豐富的API接口(如ESA,EMA,ETS等),便于開發(fā)人員的系統(tǒng)集成。DDS規(guī)范了分布式系統(tǒng)的數(shù)據(jù)分發(fā)、傳輸和接收的接口與行為,同時(shí)在規(guī)范中通過QoS策略提高數(shù)據(jù)分發(fā)的傳輸質(zhì)量。以數(shù)據(jù)為中心的發(fā)布/訂閱模式基于“全局?jǐn)?shù)據(jù)空間”的概念,任何對該空間中的數(shù)據(jù)有意向的成員均可接入,便于充分的信息共享和透明傳輸。結(jié)合DDS與OPNET的技術(shù)特點(diǎn),充分利用各自的技術(shù)優(yōu)勢,提出一種基于DDS的分布式通信網(wǎng)絡(luò)仿真DOP系統(tǒng)體系架構(gòu),如圖2所示。
圖2 DOP系統(tǒng)框架
單純的離散事件通信網(wǎng)絡(luò)仿真已經(jīng)不滿足當(dāng)前大規(guī)模軍事通信網(wǎng)絡(luò)設(shè)計(jì)論證的需求(如復(fù)雜通信鏈路建模,衛(wèi)星姿態(tài),彈道軌跡姿態(tài)等),需要第三方仿真平臺支持;此外,隨著國防科技的發(fā)展,具有諸多優(yōu)點(diǎn)的半實(shí)物仿真技術(shù)成為科學(xué)研究必不可少的技術(shù)。為解決多平臺分布式實(shí)時(shí)集成仿真,本文以O(shè)PNET網(wǎng)絡(luò)仿真平臺為核心,提出一種分布式通信網(wǎng)絡(luò)仿真系統(tǒng)(DOP系統(tǒng))。DOP系統(tǒng)體系架構(gòu)采用DDS構(gòu)建分布式系統(tǒng)總線,負(fù)責(zé)數(shù)據(jù)的分發(fā)與接收。各仿真成員或仿真成員的內(nèi)部組件(如OPNET想定中單個(gè)的網(wǎng)絡(luò)設(shè)備)采用標(biāo)準(zhǔn)規(guī)范的接口集成到信息總線上,仿真成員間的信息交互通過DDS來實(shí)現(xiàn)。OPNET仿真成員通過OPNET提供的ESA模塊實(shí)現(xiàn)與外部仿真成員的信息交互。
該系統(tǒng)針對每一個(gè)仿真成員獨(dú)立存在,相互協(xié)作,各平臺輸出數(shù)據(jù)反映在仿真系統(tǒng)的虛擬數(shù)據(jù)列表中,其他應(yīng)用或仿真平臺可根據(jù)其需求對數(shù)據(jù)讀取。因此,所有仿真平臺或應(yīng)用根據(jù)各自感興趣的數(shù)據(jù)各取所需,而無需關(guān)心數(shù)據(jù)的來源。虛擬數(shù)據(jù)列表遵循一種讀寫規(guī)則,即虛擬數(shù)據(jù)列表中的同一數(shù)據(jù)僅存在一個(gè)數(shù)據(jù)源,該數(shù)據(jù)可同時(shí)被多個(gè)成員讀取,但修改權(quán)限只有數(shù)據(jù)源成員擁有。
2.2DOP系統(tǒng)接口控制模塊設(shè)計(jì)
DOP系統(tǒng)接口控制模塊作為整個(gè)分布式仿真系統(tǒng)的驅(qū)動(dòng)控制模塊提供3種狀態(tài)控制,狀態(tài)圖如圖3所示。
圖3 控制模塊狀態(tài)轉(zhuǎn)移圖
接口控制模塊狀態(tài)由初始化/結(jié)束狀態(tài)、執(zhí)行仿真狀態(tài)、凍結(jié)狀態(tài)3個(gè)狀態(tài)組成。在初始化狀態(tài)時(shí),各參與仿真成員接入分布式實(shí)時(shí)網(wǎng)絡(luò)仿真系統(tǒng),并設(shè)置相關(guān)預(yù)設(shè)參數(shù)。執(zhí)行仿真時(shí),接口控制模塊則根據(jù)設(shè)置的時(shí)間步長推進(jìn)仿真;同時(shí)處理本仿真成員發(fā)出的數(shù)據(jù)和接收來自其他仿真成員的數(shù)據(jù)。在凍結(jié)狀態(tài),整個(gè)分布式仿真系統(tǒng)將凍結(jié)在最后一次時(shí)間推進(jìn)時(shí)刻點(diǎn),而后個(gè)仿真成員進(jìn)入休眠狀態(tài);當(dāng)恢復(fù)仿真時(shí),整個(gè)分布式仿真系統(tǒng)重新進(jìn)入到運(yùn)行狀態(tài),由時(shí)間推進(jìn)模塊繼續(xù)推動(dòng)整個(gè)仿真。其各狀態(tài)功能如下:
初始化狀態(tài):各仿真成員完成接口注冊,接入DDS網(wǎng)絡(luò),等待接收控制指令。
執(zhí)行仿真狀態(tài):仿真開始;處理發(fā)送與接收數(shù)據(jù);對各仿真成員進(jìn)行時(shí)間管理控制,以Δt推進(jìn)量實(shí)時(shí)推進(jìn)各仿真成員。如某個(gè)仿真成員不需要時(shí)間管理,則不訂閱時(shí)間管理控制數(shù)據(jù)即可,在仿真開始后,等待事件觸發(fā)。
凍結(jié)狀態(tài):凍結(jié)狀態(tài)即實(shí)現(xiàn)仿真暫停功能。
2.3仿真網(wǎng)絡(luò)時(shí)間同步設(shè)計(jì)
OPNET仿真時(shí)間是從0秒為起始時(shí)間,而其他需要與OPNET時(shí)間同步的仿真成員(如STK)可能以各種紀(jì)元時(shí)間格式為準(zhǔn),因此需要針對仿真成員進(jìn)行時(shí)間轉(zhuǎn)換。例如,將整個(gè)分布式仿真系統(tǒng)時(shí)間“秒”s轉(zhuǎn)換為“時(shí)-分-秒”格式時(shí)間YYYYDDD.HHMMSS。
時(shí)間同步更新:整個(gè)分布式仿真系統(tǒng)由DOP系統(tǒng)控制接口作為唯一的時(shí)間控制成員,控制全局的仿真時(shí)間,其他各仿真成員均以時(shí)間控制成員時(shí)間為基礎(chǔ),設(shè)置相應(yīng)的仿真局部時(shí)間,完成時(shí)間同步認(rèn)為。具體時(shí)間同步工作流程如圖4所示。
圖4 時(shí)間同步流程
首先,需要與OPNET仿真成員進(jìn)行時(shí)間同步的其他仿真成員在初始化過程中訂閱時(shí)間推進(jìn)參數(shù);在仿真開始后,DOP控制模塊向外發(fā)布時(shí)間推進(jìn)增量Δt,仿真成員在收到時(shí)間推進(jìn)信息后,自身判斷是否將時(shí)間推進(jìn)到指定的時(shí)間點(diǎn),如是,則將時(shí)間推進(jìn)仿真時(shí)間,并設(shè)置當(dāng)前的仿真時(shí)間;如否,則不做任何處理,繼續(xù)等待時(shí)間推進(jìn)。在本文的仿真測試中,采用Windows的系統(tǒng)時(shí)間向前推進(jìn),后續(xù)可采用硬件時(shí)鐘源作為同步時(shí)鐘源,各仿真成員接入硬件時(shí)鐘源向前推進(jìn),而不需訂購與發(fā)布時(shí)間推進(jìn)信息。
為驗(yàn)證本文提出的基于DDS的分布式仿真系統(tǒng)架構(gòu),設(shè)計(jì)OPNET與三維顯示聯(lián)邦成員的分布式仿真系統(tǒng)。三維展示成員訂購節(jié)點(diǎn)位置與路由路徑信息,由OPNET仿真航空自組織網(wǎng)絡(luò),并實(shí)時(shí)向三維展示成員提供節(jié)點(diǎn)移動(dòng)位置以及路由路徑信息。仿真過程如下:
1)OPNET仿真場景定義各節(jié)點(diǎn)移動(dòng)速度與路徑,更新節(jié)點(diǎn)位置與實(shí)時(shí)路由路徑信息,如圖5所示。
圖5 航空自組網(wǎng)仿真場景
2)三維展示成員接收網(wǎng)絡(luò)節(jié)點(diǎn)位置與路由路徑信息的狀態(tài)更新并通過三維顯示手段直觀地演示實(shí)時(shí)網(wǎng)絡(luò)拓?fù)淝闆r,如圖6所示。
圖6 網(wǎng)絡(luò)拓?fù)錉顟B(tài)實(shí)時(shí)展示
數(shù)據(jù)分發(fā)服務(wù)(DDS)在現(xiàn)代信息系統(tǒng)領(lǐng)域占有舉足輕重的地位,以數(shù)據(jù)為中心的發(fā)布/訂閱通信架構(gòu)為構(gòu)建高性能、可擴(kuò)展、可配置的數(shù)據(jù)分發(fā)系統(tǒng)提供了標(biāo)準(zhǔn)規(guī)范。網(wǎng)絡(luò)仿真技術(shù)作為一種新的網(wǎng)絡(luò)規(guī)劃和設(shè)計(jì)技術(shù),通過離散事件仿真運(yùn)行機(jī)制完成網(wǎng)絡(luò)性能分析和設(shè)計(jì)論證等任務(wù);從而獲取網(wǎng)絡(luò)設(shè)計(jì)或優(yōu)化所需要的網(wǎng)絡(luò)性能數(shù)據(jù)。然而,針對大規(guī)模軍事通信網(wǎng)絡(luò),單純的離散事件網(wǎng)絡(luò)仿真技術(shù)并不能滿足復(fù)雜環(huán)境的通信設(shè)計(jì)論證要求,DOP系統(tǒng)的提出,為實(shí)現(xiàn)基于OPNET網(wǎng)絡(luò)仿真的分布式仿真提供一種參考,有利于指導(dǎo)其實(shí)施大規(guī)模通信網(wǎng)絡(luò)仿真。
[1]AzzedineBoukerche,andKaiyuanLu.Anovelapproachtoreal-timeRTIbaseddistributedsimulationsystem[C].Proceedingsofthe38thAnnualSimulationSymposium(ANSS’05)SimulationSymposium,2005.Proceedings.38thAnnualVolume,Issue,4-6April2005Page(s):267-274.
[2]OMG.DataDistributionServiceforReal-TimeSystemsSpecificationVersion1.0 [DB/OL]. 2009-06-10.http:/www.omg.org/cgi-bin/doc?For-mal/04-12-02.pdf
[3]王文博,張金文.OPNETModeler與網(wǎng)絡(luò)仿真[M]. 北京:人民郵電出版社,2003.
[4]OPNETofficialwebsite.http://www.opnet.com.
[5]李小龍, 彭美平. 基于OPNET的改進(jìn)型Zigbee傳感器網(wǎng)絡(luò)仿真系統(tǒng)[J]. 江蘇大學(xué)學(xué)報(bào):自然科學(xué)版, 2012, 33(6):671-677.
[6]DataDistributionServiceforReal-timeSystemsVersion1.2(ptc/07-01-01)[S].2007.
李培林(1986—),男,福建泉州人,碩士,主要研究方向?yàn)榭刂评碚撆c控制工程、航天產(chǎn)品系統(tǒng)工程;
E-mail:lplxy123@163.com
彭美平(1984—),男,湖南邵陽人,博士研究生,主要研究方向?yàn)闊o線網(wǎng)絡(luò)、計(jì)算機(jī)仿真。
Distributed Communication Network Simulation System Based on DDS
LIPei-lin,PENGMei-ping
(1.ChinaAcademyofElectronicsandInformationTechnology,Beijing100041,China;2.StarsTechnologyCo,.LTD,Xi’an,Shanxi710065,China)
DDS(DataDistributionService)isaspecificationaboutdatadistributionserviceforreal-timesystemspublishedbyOMG,whileoffersQoS(QualityofService)anddefinesacommunicationmodelforData-CentricPublish-Subscribe(DCPS).Itcanmeettherequirementsforeffectiveandreal-timedata-interactive.Withtheexpandingofnetworksize,networksimulationhasbecomeanewlynetworkanalysisanddesigntechnology,OPNETsimulationsoftwarepossessprofessionaldesigninthefieldofcommunicationnetworksandinformationsystems,Thekeyparameters,theprincipleandprovidedrichlyAPIinterfaceareverifiedtomeettheneedsofthedistributedcommunicationnetworksimulation.Therefore,thispaperproposesadistributednetworkbasedonDDSandOPNETsimulationarchitecture,whichcombinesDDStechnologyanddistributedsimulationOPNETnetworksimulationplatform.Thedesignrealizesthereal-timeinformationinteractionbetweenthemultiplesimulationplatforms,toguidetheimplementationoflarge-scalemilitarycommunicationnetworksimulation
DDS;OPNET;Distributedsimulation;systemintegration
10.3969/j.issn.1673-5692.2016.02.018
2016-02-09
2016-03-26
國家自然科學(xué)基金資助項(xiàng)目(91338201),國家863計(jì)劃資助項(xiàng)目(2015AA015701)