摘要:開發(fā)了一種新的研究大規(guī)模網(wǎng)絡(luò)的實(shí)時半實(shí)物仿真方法,并對無線Ad Hoc網(wǎng)絡(luò)上的視頻傳輸進(jìn)行了成功仿真,證明該方法對研究通信網(wǎng)絡(luò)具有實(shí)時性、可擴(kuò)展性和高保真性。
關(guān)鍵詞:實(shí)時;半實(shí)物;視頻;網(wǎng)絡(luò);仿真;Ad Hoc
A Novel Real-time Hardware-In-The-Loop Network Emulation Method
ZHAO Yuting, DAI Guanzhong, ZHANG Zhi, MU Dejun, CHEN Wu
Automatic
Abstract: A novel real-time hardware-in-the-loop network emulation is developed for large scale networks. The success of emulating a video over wireless Ad Hoc network scenario proves the real-time, scalability and high-fidelity of the new approach.
Key Words: real-time; Hardware-In-The-Loop; video; network; emulation; Ad Hoc
1. 仿真及半實(shí)物仿真
1.1 仿真及其分類
仿真方法的應(yīng)用早可追溯到1773年,法國自然學(xué)家用仿真方法做物理實(shí)驗(yàn)估計π值。經(jīng)過200多年的發(fā)展,仿真技術(shù)已經(jīng)成為科學(xué)實(shí)驗(yàn)的有效手段,對科學(xué)技術(shù)的發(fā)展起到了巨大的推動作用。1992年美國提出22項(xiàng)國家關(guān)鍵技術(shù),仿真技術(shù)列第16項(xiàng);提出21項(xiàng)國防關(guān)鍵技術(shù),仿真技術(shù)列第6項(xiàng)。近年來美國更加重視仿真,將發(fā)展“合成仿真環(huán)境”作為國際科技發(fā)展的7個科技推動領(lǐng)域之一[1]。
根據(jù)仿真過程中所建立模型對象的方式不同,可以將系統(tǒng)仿真分為三種模式[1]:
(1)計算機(jī)仿真。其特點(diǎn)是系統(tǒng)用嚴(yán)格的數(shù)學(xué)模型表示,不使用實(shí)際系統(tǒng)的任何部件。計算機(jī)仿真的模型抽象程度,仿真費(fèi)用省,仿真所花的時間少,作各種變量控制試驗(yàn)也方便。但它有一個致命的弱點(diǎn),即仿真結(jié)果的可信度較差。
(2)實(shí)物仿真。即系統(tǒng)原型方法,特點(diǎn)是全部使用實(shí)際系統(tǒng)的子系統(tǒng)或部件,系統(tǒng)原型可以任意接近的系統(tǒng)配置。實(shí)物仿真與實(shí)際系統(tǒng)接近,仿真結(jié)果可信,但費(fèi)用高,執(zhí)行起來所花時間長,作變量控制試驗(yàn)也不方便。
(3)半實(shí)物仿真,又稱為硬件在回路(Hardware-In-Loop,HWIL)仿真。被仿真系統(tǒng)有一部分用與實(shí)際系統(tǒng)相同或相近的實(shí)物,其它部分則采用計算機(jī)仿真形式。半實(shí)物仿真是一種將控制器(實(shí)物)與在計算機(jī)上實(shí)現(xiàn)的控制對象的仿真模型(數(shù)學(xué)仿真)聯(lián)接在一起進(jìn)行實(shí)驗(yàn)的技術(shù)。在這種實(shí)驗(yàn)中,控制器的動態(tài)特性、靜態(tài)特性和非線性因素等都能真實(shí)地反映出來,因此它是一種更接近實(shí)際的仿真實(shí)驗(yàn)技術(shù)。這種仿真技術(shù)可用于修改控制器設(shè)計,同時也廣泛用于產(chǎn)品的修改定型、產(chǎn)品改型和出廠檢驗(yàn)等方面。
1.2 半實(shí)物仿真及其特點(diǎn)仿真及其分類
半實(shí)物仿真技術(shù)自20世紀(jì)60年代問世直到目前美國研制航天飛機(jī),始終盛行不衰[2]。美國大多數(shù)國防承包商都有一個或多個半實(shí)物仿真實(shí)驗(yàn)室,這些實(shí)驗(yàn)室代表了當(dāng)前世界先進(jìn)水平。其先進(jìn)性體現(xiàn)在:(1)有高速高精度的仿真機(jī);(2)有先進(jìn)完備的環(huán)境模擬設(shè)備。國內(nèi)半實(shí)物仿真技術(shù)在導(dǎo)彈制導(dǎo)、火箭控制、衛(wèi)星姿態(tài)控制等應(yīng)用研究方面也達(dá)到了較高水平。自20世紀(jì)80年代開始,我國建設(shè)了一批高水平、大規(guī)模的半實(shí)物仿真系統(tǒng),如射頻、紅外制導(dǎo)導(dǎo)彈、殲擊機(jī)、驅(qū)逐艦半實(shí)物仿真系統(tǒng)等。
半實(shí)物仿真的特點(diǎn)是[1]:①在回路中接入實(shí)物,必須實(shí)時運(yùn)行,即仿真模型的時間標(biāo)尺和自然時間標(biāo)尺相同。②需要解決控制器與仿真計算機(jī)之間的接口問題。③半實(shí)物仿真的實(shí)驗(yàn)結(jié)果比數(shù)學(xué)仿真更接近實(shí)際。
2. 半實(shí)物網(wǎng)絡(luò)仿真
2.1 半實(shí)物仿真及其特點(diǎn)仿真及其分類
網(wǎng)絡(luò)的半實(shí)物仿真是一種重要的網(wǎng)絡(luò)研究方法。它允許現(xiàn)實(shí)世界的網(wǎng)絡(luò)分組流量和仿真器中模擬的流量進(jìn)行交互,經(jīng)受用戶定義的分組延時、丟失、重排序和復(fù)制。利用網(wǎng)絡(luò)仿真,用戶能夠測試現(xiàn)實(shí)網(wǎng)絡(luò)設(shè)備在各種不同模擬的網(wǎng)絡(luò)環(huán)境中的功能和性能,而無需獲得、了解或修改它的內(nèi)部協(xié)議棧。正由于此,半實(shí)物仿真被廣泛應(yīng)用于測試網(wǎng)絡(luò)協(xié)議和設(shè)備。
實(shí)時模擬IP網(wǎng)絡(luò)對于網(wǎng)絡(luò)仿真引擎來說是一個很大的挑戰(zhàn)和負(fù)擔(dān)。網(wǎng)絡(luò)仿真器必須同時監(jiān)視實(shí)際運(yùn)行的網(wǎng)絡(luò)作為輸入數(shù)據(jù)流量、仿真流量并將仿真結(jié)果重新遞交給實(shí)際運(yùn)行的IP網(wǎng)絡(luò)。網(wǎng)絡(luò)仿真器必須具有下列的特性才能夠進(jìn)行上述的網(wǎng)絡(luò)模擬[3]:
速度快(Fast)——仿真器處理單個分組的時候必須比實(shí)際的網(wǎng)絡(luò)要快。如果分組在模擬網(wǎng)絡(luò)內(nèi)部需要10ms,那么就要將分組在10ms以內(nèi)重新遞交給目的端IP電話所在的實(shí)際網(wǎng)絡(luò)。如果這個時間增加到了50ms或者更多,那么模擬IP網(wǎng)絡(luò)就不稱職了——實(shí)際的網(wǎng)絡(luò)設(shè)備將經(jīng)歷很高的端到端延時,這與實(shí)際網(wǎng)絡(luò)情況出入太大,沒有反映出真實(shí)性。
擴(kuò)展性強(qiáng)(Scalable)——即使在網(wǎng)絡(luò)規(guī)模達(dá)到數(shù)以千計的時候,仿真器也要執(zhí)行得比實(shí)際網(wǎng)絡(luò)運(yùn)行要快。一個模擬的IP網(wǎng)絡(luò)如果只能支持小規(guī)模網(wǎng)絡(luò),那么它的有用性就大打折扣了。
高保真度(High-Fidelity)——仿真器必須對模擬IP網(wǎng)絡(luò)進(jìn)行精確建模的情況下滿足前面的兩個要求。
這樣就對網(wǎng)絡(luò)仿真提出了很高的要求,我們需要開發(fā)能夠?qū)崿F(xiàn)實(shí)時IP網(wǎng)絡(luò)模擬的網(wǎng)絡(luò)半實(shí)物仿真方法。
2.2 半實(shí)物網(wǎng)絡(luò)仿真的原理
IP網(wǎng)絡(luò)模擬應(yīng)該允許真實(shí)的網(wǎng)絡(luò)設(shè)備(例如VoIP電話和計算機(jī)程序)通過模擬的網(wǎng)絡(luò)進(jìn)行通信[4]。這個功能是通過從實(shí)際的網(wǎng)絡(luò)當(dāng)中讀取實(shí)際的IP流量,并將讀取到的數(shù)據(jù)流量添加到仿真當(dāng)中,然后在仿真結(jié)束時,將仿真器中的數(shù)據(jù)流量重新注入到實(shí)際的IP網(wǎng)絡(luò)。盡管IP網(wǎng)絡(luò)的通信效果是仿真得到的,但是對于實(shí)際的設(shè)備來說,卻和真實(shí)的網(wǎng)絡(luò)流量毫無二致。
我們開發(fā)的IP網(wǎng)絡(luò)模擬是通過QualNet外部接口(External Interface)API實(shí)現(xiàn)的。這個API使得QualNet和其它的仿真器、圖形用戶接口(Graphic User Interface, GUI)和物理設(shè)備容易接口。它將接口簡化為兩個函數(shù):獲取(Get)數(shù)據(jù)和發(fā)送(Send)數(shù)據(jù)。
“Get Data”函數(shù)利用libpcap庫從實(shí)際運(yùn)行的IP網(wǎng)絡(luò)中接收數(shù)據(jù)。Libpcap是一個開放源代碼的網(wǎng)絡(luò)管理工具,允許QualNet從實(shí)際網(wǎng)絡(luò)中直接讀取IP分組。當(dāng)QualNet確定要仿真某個讀取到的IP分組(例如該分組是兩個QualNet已經(jīng)作了標(biāo)記的真實(shí)設(shè)備之間通信的數(shù)據(jù)),QualNet將使用外部API將此IP分組添加到仿真內(nèi)部。IP分組將在仿真場景中的節(jié)點(diǎn)之間傳輸,終要么到達(dá)目的端,要么由于網(wǎng)絡(luò)問題被丟棄。
如果某個IP分組到達(dá)其目的地,那么外部接口API將調(diào)用“Send Data”函數(shù)。此函數(shù)將該IP分組重新導(dǎo)入實(shí)際運(yùn)行的IP網(wǎng)絡(luò)。此過程調(diào)用另一個稱為“libnet”的開源工具。目前,IP分組重新被送回到實(shí)際運(yùn)行網(wǎng)絡(luò)中的實(shí)際接收者——目的端IP設(shè)備。
圖1 IP網(wǎng)絡(luò)模擬器原理圖
圖1當(dāng)中,源端IP電話(真實(shí)設(shè)備)向目的端IP電話(另一個真實(shí)設(shè)備)發(fā)起呼叫。呼叫的語音數(shù)據(jù)是以逐個IP分組的形式在網(wǎng)絡(luò)中傳輸?shù)摹T趥鬏數(shù)倪^程中,這些IP數(shù)據(jù)分組被QualNet導(dǎo)入模擬IP網(wǎng)絡(luò)內(nèi)部,從洛杉磯經(jīng)過Internet傳輸?shù)郊~約,然后再重新導(dǎo)出模擬IP網(wǎng)絡(luò),遞交給目的端IP電話。對于源端和目的端IP電話而言,模擬網(wǎng)絡(luò)也提供了實(shí)際網(wǎng)絡(luò)一樣的傳輸延時和分組丟失,語音分組就好像經(jīng)過了實(shí)際的Internet傳輸一樣。從目的端的體驗(yàn)效果來看,是無法區(qū)分出分組是經(jīng)過實(shí)際網(wǎng)絡(luò)還是模擬網(wǎng)絡(luò)傳輸?shù)摹?/span>
實(shí)時IP網(wǎng)絡(luò)模擬具有許多好處。它使模擬網(wǎng)絡(luò)代替了實(shí)際網(wǎng)絡(luò),節(jié)省了人力和財力,加速了實(shí)際設(shè)備的研發(fā)。
3. 建立半實(shí)物網(wǎng)絡(luò)仿真
我們基于QualNet建立了半實(shí)物網(wǎng)絡(luò)仿真環(huán)境。
3.1 實(shí)驗(yàn)床的配置
我們的實(shí)驗(yàn)床包含3臺運(yùn)行Windows XP系統(tǒng)的電腦:一個作為仿真服務(wù)器,其它兩個作為物理網(wǎng)絡(luò)收發(fā)設(shè)備。
圖2 配置QualNet半實(shí)物仿真實(shí)驗(yàn)床
實(shí)驗(yàn)床按照圖2中標(biāo)示的IP地址進(jìn)行配置。這三臺計算機(jī)連接到了同一個有線(或無線)交換機(jī)上。
這樣,這三臺計算機(jī)就處于同一個網(wǎng)段內(nèi)并且能夠相互訪問,我們需要對192.168.0.1和192.168.0.4這兩臺計算機(jī)進(jìn)行如下的靜態(tài)路由配置,使得二者之間的通信都必須經(jīng)過仿真服務(wù)器轉(zhuǎn)發(fā):
route -p add 100.100.10.0 mask 255.255.255.0 192.168.0.100
3.2 仿真場景的配置
我們在仿真服務(wù)器上運(yùn)行的仿真網(wǎng)絡(luò)場景示例如圖3所示[5]。
圖3 半實(shí)物仿真場景示例
這個示例場景一共有四個節(jié)點(diǎn),IP地址分別是100.100.10.1、100.100.10.2、100.100.10.3和100.100.10.4,組成了一個移動自組織網(wǎng)絡(luò)(Mobile Ad Hoc Networks,MANET)。它們都具有802.11射頻,運(yùn)行AODV(Ad Hoc On Demand Vector)路由協(xié)議。左邊的1號節(jié)點(diǎn)向右邊的4號節(jié)點(diǎn)發(fā)送恒定比特率(Constant Bit Rate,CBR)流量,數(shù)據(jù)經(jīng)由中間的2號或3號節(jié)點(diǎn)轉(zhuǎn)發(fā)。
3.3 半實(shí)物仿真的配置
上述仿真場景中的節(jié)點(diǎn)IP地址都屬于100.100.10.0子網(wǎng),需要和實(shí)際物理網(wǎng)絡(luò)收發(fā)設(shè)備進(jìn)行影射。
影射的結(jié)果就是將100.100.10.1和100.100.10.4這兩個節(jié)點(diǎn)分別和192.168.0.1和192.168.0.4這兩個計算機(jī)建立匹配關(guān)系。由192.168.0.1計算機(jī)發(fā)送的數(shù)據(jù)發(fā)送到192.168.0.100后,仿真器會將數(shù)據(jù)導(dǎo)入100.100.10.1節(jié)點(diǎn),接著由100.100.10.1節(jié)點(diǎn)把數(shù)據(jù)通過仿真器中模擬的場景進(jìn)行傳輸,終到達(dá)100.100.10.4節(jié)點(diǎn),再由100.100.10.4節(jié)點(diǎn)把數(shù)據(jù)導(dǎo)出到192.168.0.4計算機(jī)。
對于192.168.0.1和192.168.0.4上運(yùn)行的端到端應(yīng)用程序而言,仿真器是透明的。192.168.0.4收到的數(shù)據(jù)就好象是經(jīng)過這四個仿真節(jié)點(diǎn)組成的Ad Hoc網(wǎng)絡(luò)傳輸?shù)囊粯印?/span>
4. 仿真實(shí)例
我們使用VLC 8.0.2版網(wǎng)絡(luò)視頻播放程序作為192.168.0.1和192.168.0.4計算機(jī)上運(yùn)行的端到端應(yīng)用程序。
192.168.0.1在本地運(yùn)行一個視頻文件,通過半實(shí)物仿真將視頻數(shù)據(jù)經(jīng)由模擬的無線Ad Hoc網(wǎng)絡(luò)傳輸后,再由192.168.0.4上運(yùn)行的VLC接收并回放出來。由于這個我們運(yùn)行的這個仿真網(wǎng)絡(luò)場景非常簡單,所以只能明顯的察覺出仿真網(wǎng)絡(luò)傳輸帶來的延時,但是視頻圖像本身并沒有出現(xiàn)明顯的質(zhì)量損失。
我們設(shè)置的仿真場景如圖4所示:
圖4 半實(shí)物仿真實(shí)驗(yàn)場景實(shí)例
左端和右端的兩個節(jié)點(diǎn)分別是視頻的發(fā)送端和接收端。中間的節(jié)點(diǎn)個數(shù)可變,用來表示視頻分組從信源到信宿經(jīng)過了幾跳的中繼傳輸。我們進(jìn)行了1~9跳的仿真實(shí)驗(yàn)。
在接收端,我們將接收到的視頻數(shù)據(jù)分組進(jìn)行了實(shí)時記錄,從終文件的大小我們可以看出經(jīng)過不同網(wǎng)絡(luò)環(huán)境傳輸后的視頻分組的丟包情況,根據(jù)對接收視頻文件的主觀評價標(biāo)準(zhǔn),我們可以看出經(jīng)過不同網(wǎng)絡(luò)環(huán)境傳輸后的視頻分組的出錯情況。
圖5 記錄文件大小的曲線
從圖5可以看出,Ad Hoc網(wǎng)絡(luò)中的中繼跳數(shù)是一個非常重要的性能參數(shù)指標(biāo)。
|
|
|
|
|
|
|
|
圖6 1~8跳情況下的視頻某幀截圖比較
根據(jù)記錄視頻文件回放的主觀視頻質(zhì)量評價,我們可以看出,在我們實(shí)驗(yàn)設(shè)置的參數(shù)下,隨著跳數(shù)的增加,視頻質(zhì)量的下降趨勢和圖6所示的文件大小的變化趨勢相同:超過4跳的Ad Hoc傳輸以后,我們幾乎無法觀察視頻圖像;從3跳開始,音頻質(zhì)量就已經(jīng)下降了很多,令人無法接受了。
4. 結(jié)論
本文研究開發(fā)了半實(shí)物網(wǎng)絡(luò)仿真環(huán)境,并通過實(shí)例驗(yàn)證了這個方法,為研究大規(guī)模無線移動通信網(wǎng)絡(luò)提供了一個新的實(shí)時、可擴(kuò)展和高保真的實(shí)驗(yàn)平臺。