一種面向QualNet的仿真場(chǎng)景節(jié)點(diǎn)信息定時(shí)修改方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種面向Qual化t網(wǎng)絡(luò)仿真過程中場(chǎng)景節(jié)點(diǎn)信息動(dòng)態(tài)、批量、定時(shí)修改 的方法,尤其設(shè)及一種面向QuaWet的仿真場(chǎng)景節(jié)點(diǎn)信息定時(shí)修改方法,屬于網(wǎng)絡(luò)仿真技術(shù) 領(lǐng)域。
【背景技術(shù)】
[0002] 網(wǎng)絡(luò)的研究中普遍采用了實(shí)物實(shí)驗(yàn)法和軟件仿真法。實(shí)物實(shí)驗(yàn)法中,實(shí)驗(yàn)對(duì)象在 真實(shí)物理平臺(tái)上運(yùn)行,具有較高的精度;但構(gòu)建全尺度實(shí)物實(shí)驗(yàn)平臺(tái)代價(jià)高昂,且進(jìn)行大量 重復(fù)試驗(yàn)是很困難的。軟件仿真法具有較好的靈活性和可控性,但由于大部分的模擬和結(jié) 果分析都在一個(gè)典型的封閉的非定時(shí)模擬時(shí)鐘的虛擬環(huán)境中重復(fù)地運(yùn)行,忽略了"人在回 路"的干預(yù)過程(例如一個(gè)網(wǎng)絡(luò)仿真過程中,我們需要根據(jù)實(shí)際情況在相應(yīng)時(shí)間改變一個(gè)網(wǎng) 絡(luò)節(jié)點(diǎn)的信息,如位置,開關(guān)狀態(tài)W及發(fā)送功率等。),因此在運(yùn)樣仿真時(shí)間長(zhǎng)而且 "Hardware-in-the-Loop"的大規(guī)模網(wǎng)絡(luò)仿真中不能直觀展示真實(shí)設(shè)備、應(yīng)用在特定網(wǎng)絡(luò)環(huán) 境下的實(shí)際性能。為了實(shí)現(xiàn)用戶對(duì)仿真進(jìn)程的實(shí)時(shí)干預(yù)功能,國(guó)內(nèi)外研究機(jī)構(gòu)提出了 "human-in-the-loop"模擬框架。所謂"human-in-the-loop"模擬框架就是在網(wǎng)絡(luò)仿真場(chǎng)景 運(yùn)行時(shí)能夠人為干預(yù)的按照真實(shí)的需要實(shí)時(shí)的改變網(wǎng)絡(luò)仿真場(chǎng)景中的網(wǎng)絡(luò)模型的參數(shù)。運(yùn) 種方法將傳統(tǒng)的"Hardware-in-the-Loop"網(wǎng)絡(luò)仿真加入了實(shí)際中不可避免的人為干預(yù),使 得軟件仿真方法更加能體現(xiàn)真實(shí)設(shè)備和應(yīng)用在特定網(wǎng)絡(luò)環(huán)境下的實(shí)際性能,為大規(guī)模網(wǎng)絡(luò) 研究提供了更為有效的研究手段。
[0003] 構(gòu)建"human-in-the-loop"網(wǎng)絡(luò)仿真模擬系統(tǒng),一方面需要具有高保真度和定時(shí) 運(yùn)行能力的網(wǎng)絡(luò)仿真軟件;另一方面還需要仿真軟件支持能夠通過外部軟件或程序?qū)⑺?修改的節(jié)點(diǎn)信息傳輸?shù)椒抡婺M器的外部接口。
[0004] QualNet作為當(dāng)前廣泛使用的網(wǎng)絡(luò)仿真軟件具有較高的保真度和良好的擴(kuò)展性, 同時(shí)也提供了相應(yīng)的外部接口注冊(cè)功能讓如aWet可W和外部的軟件或程序進(jìn)行通信。
[0005] 針對(duì)本發(fā)明,進(jìn)行了深入的文獻(xiàn)及專利檢索,相關(guān)度較高的文獻(xiàn)如下:
[0006] (I)Staub T,Gantenbein R,Braun T.VirtualMesh:an emulation framework for wireless mesh networks in 0MNeT + +[C]. In Proceedings of the 2nd International Conference on Simulation Tools andTechniques,2009:64.該文南犬提出 一種基于網(wǎng)絡(luò)仿真器OMNeT++的網(wǎng)絡(luò)模擬的框架,叫VirtualMesh。它使用了真實(shí)的協(xié)議找, 可W通過虛擬網(wǎng)卡來捕捉節(jié)點(diǎn)的真實(shí)的網(wǎng)絡(luò)流量,然后重定向于網(wǎng)絡(luò)仿真器OMNeT++。 VirtualMesh在擴(kuò)展網(wǎng)絡(luò)拓?fù)浜鸵苿?dòng)性測(cè)試上有很大的靈活性。VirtualMesh的主要功能是 攔截真實(shí)節(jié)點(diǎn)的網(wǎng)絡(luò)流量,重定向到仿真模型里面,然后控制網(wǎng)絡(luò)接入和物理層的行為。網(wǎng) 絡(luò)找被分成兩部分,應(yīng)用層、傳輸層和網(wǎng)絡(luò)層都是由真實(shí)節(jié)點(diǎn)或者虛擬節(jié)點(diǎn)控制。在MAC層, 網(wǎng)絡(luò)流量被虛擬網(wǎng)卡捕捉,然后重定向到仿真模型里。仿真模型根據(jù)虛擬網(wǎng)絡(luò)的拓?fù)?、傳?模型、干擾噪聲和節(jié)點(diǎn)位置來計(jì)算網(wǎng)絡(luò)響應(yīng)。它只仿真MC層和物理層,其他層保持不變,正 常地工作在節(jié)點(diǎn)的Linux協(xié)議找里。即使VbtualMesh支持動(dòng)態(tài)網(wǎng)絡(luò)的節(jié)點(diǎn)加入或離開,和 無線參數(shù)配置一樣,諸如節(jié)點(diǎn)位置、移動(dòng)模型等一些參數(shù)預(yù)先配置好后就不能在仿真過程 中按照突發(fā)需求進(jìn)行動(dòng)態(tài)修改。
[0007] (2)Peng Gong*,Mingguan Li*,Jiejun Kong**,Ping Li*,and Duk Kyun邑 Kim***:An Interactive Approach for QualNet-based Network Model Evaluation and Testing at Real Time[C].February 16~19,2014ICACT2014.Korea該文獻(xiàn)提出一種和本 發(fā)明較為相似的QualNet外部接口,它叫做"RTUr,它同樣是通過外部程序或者軟件與 如曰1化t仿真器進(jìn)行交互,然后改變仿真場(chǎng)景中的節(jié)點(diǎn)信息,但是"RTUr所實(shí)現(xiàn)的僅僅是用 戶對(duì)仿真進(jìn)程的干預(yù)功能,至于當(dāng)節(jié)點(diǎn)修改的指令發(fā)送的到QuaWet仿真服務(wù)器后,服務(wù)器 何時(shí)修改節(jié)點(diǎn)信息是根據(jù)用戶所發(fā)送報(bào)文的時(shí)間來確定的,也就是說是當(dāng)前發(fā)送當(dāng)前修 改,而且"RTUr在處理節(jié)點(diǎn)信息的時(shí)候是根據(jù)消息隊(duì)列依次處理。沒有辦法按照實(shí)際情況 對(duì)網(wǎng)絡(luò)模型進(jìn)行定時(shí)的參數(shù)修改。特別的在處理批量控制指令時(shí),"RTUr就顯得乏力了,它 沒有辦法處理同一時(shí)間對(duì)多個(gè)不同節(jié)點(diǎn)進(jìn)行修改。如圖1所示為PDSI接口和RTUI接口處理 報(bào)文原理對(duì)比示意圖。
[0008] 而本發(fā)明提出的一種面向Qualnet的仿真場(chǎng)景節(jié)點(diǎn)信息定時(shí)修改方法,面向 QualNet仿真器設(shè)計(jì)可編程動(dòng)態(tài)控制接口(Programmable dynamic-simulation Inte計(jì)ace,簡(jiǎn)稱叩DSr ),并建立在外部程序與Qual化t仿真器之間的PDSI仿真框架,克服 了上述文獻(xiàn)中,無法實(shí)現(xiàn)動(dòng)態(tài)修改、批量定時(shí)修改的缺陷。PDSI接口支持了幾乎所有協(xié)議層 的節(jié)點(diǎn)參數(shù)修改,而且可修改的網(wǎng)絡(luò)參數(shù)不僅包括了節(jié)點(diǎn)的位置和加入或離開,還包括節(jié) 點(diǎn)的其他多種網(wǎng)絡(luò)參數(shù)(例如:發(fā)送功率、接收閥值、帶寬、接收靈敏度等)。并且不僅可W在 仿真伊始對(duì)需要修改的節(jié)點(diǎn)參數(shù)進(jìn)行預(yù)設(shè),還可W在仿真場(chǎng)景運(yùn)行時(shí)進(jìn)行節(jié)點(diǎn)參數(shù)修改, 動(dòng)態(tài)地根據(jù)預(yù)先的節(jié)點(diǎn)參數(shù)修改指令進(jìn)行定時(shí)的操作。同時(shí)它還支持同一時(shí)間批量處理多 條節(jié)點(diǎn)修改指令,讓同一時(shí)間的多條節(jié)點(diǎn)修改指令能夠在仿真場(chǎng)景同時(shí)執(zhí)行,確保了網(wǎng)絡(luò) 仿真更加真實(shí)精確。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明的目的在于改進(jìn)現(xiàn)有技術(shù)缺陷,通過遠(yuǎn)程主機(jī)和仿真模擬器的交互,提出 一種面向如aWet的仿真場(chǎng)景節(jié)點(diǎn)信息定時(shí)修改方法。
[0010] 本發(fā)明一種面向QualNet的仿真場(chǎng)景節(jié)點(diǎn)信息定時(shí)修改方法所依托的系統(tǒng)包括 化uWet仿真程序和PDSI接口開發(fā)框架;PDSI接口開發(fā)框架又包括PDSI接口與外部程序;
[0011] 其中,化UWet仿真程序其功能是運(yùn)行網(wǎng)絡(luò)仿真場(chǎng)景并和PDSI接口進(jìn)行交互,其仿 真場(chǎng)景可W是各種不同的網(wǎng)絡(luò)仿真場(chǎng)景,如:戰(zhàn)場(chǎng)仿真場(chǎng)景、交通仿真場(chǎng)景、雷達(dá)網(wǎng)仿真場(chǎng) 景;PDSI接口的功能是實(shí)現(xiàn)Qual化t仿真程序與外部程序的通信,起到連接Qual化t仿真程 序與外部程序的橋梁作用,PDSI接口又包括UDP socket、接收緩存、發(fā)送緩存、報(bào)文解析器、 節(jié)點(diǎn)管理器、事件調(diào)度器、事件處理器六部分;PDSI接口開發(fā)框架中的PDSI接口是基于 QaulNet軟件的API函數(shù)實(shí)現(xiàn)的注冊(cè)及調(diào)用,PDSI接口開發(fā)框架中的外部程序存在于 QualNet仿真程序之外,其功能是將仿真場(chǎng)景中需要修改的節(jié)點(diǎn)信息輸入并通過UDP socket發(fā)送至PDSI接口;
[0012] 基于上述所依托的系統(tǒng),本發(fā)明的一種面向Qual化t的仿真場(chǎng)景節(jié)點(diǎn)信息定時(shí)修 改方法包含PDSI接口注冊(cè)和PDSI接口函數(shù)調(diào)用兩部分;
[OOU]首先,PDSI接 口注冊(cè)通過調(diào)用函數(shù)EXTERNAL_UserFunctionRegiStration、 EXTERNAL_SetTimeManagementRealTime 和 EXTERNAL_SetReceiveDelay 實(shí)現(xiàn),其具體步驟 為:
[0014] 步驟A.1 函數(shù)EXTERNA L_UserFunctionRegistration 通過 ExternaL Registe;rExte;rnal Interface 來聲明一個(gè) PDSI接口;
[0015] 步驟 A.2 函數(shù) EXTERNAL_User 化 nctionRegistration 為 PDSI 接口綁定相應(yīng)的回調(diào) 函數(shù);
[0016] 步驟A. 3函數(shù)EXTERNAL_SetTimeManagementRealTime管理仿真時(shí)間,使其按照實(shí) 際時(shí)間運(yùn)行;
[0017] 步驟A.4函數(shù)EXTERNAL_SetReceiveDelay設(shè)置兩次接收?qǐng)?bào)文之間的最小延遲時(shí) 間;
[001引優(yōu)選的最小延遲時(shí)間范圍為300ms到1000ms,運(yùn)樣能有效防止過于頻繁的接收W 及可能導(dǎo)致的性能降低;
[0019] 經(jīng)過步驟A. 1、步驟A. 2、步驟A. 3和步驟A. 4實(shí)現(xiàn)了 PDSI接口注冊(cè);
[0020] 其次,PDSI接口函數(shù)調(diào)用的具體步驟如圖2所示為:
[0021] 步驟B