摘要:在數據鏈系統的生命周期中,仿真是不可缺少的一個環節。針對商用軟件成本高,教育版無源代碼難以二次開發問題。采用新型開源網絡仿真軟件OMNeT,利用Mobility Framework組件構架,編寫了輪詢協議模型,建立了數據鏈仿真系統模型和Linkll網絡模型,通過場景和統計模塊的設計,對Linkll進行了性能仿真實驗。仿真結果表明,網絡性能良好,基本滿足了消息傳輸的實時性和可靠性。
關鍵詞:數據鏈;網絡仿真;OMNeT;Link 11
中圖分類號:TN711-34;TP311 文獻標識碼:A 文章編號:1004-373X(2012)03-0021-05
在戰術數據鏈的全壽命周期過程中,建模和仿真作為一種重要的支撐技術發揮著越來越重要的作用,已經成為戰術數據鏈設計開發和應用研究過程中不可或缺的關鍵技術之一。早在20世紀60年代初期,美空軍半自動化戰場環境(SAGE)系統中就開展了對戰斗機和陸軍防空導彈系統的數據鏈仿真,這也是最早開展的戰術數據鏈仿真工作。
國內外學者針對數據鏈網絡在OPNET和Qual—Net環境下建立了若干仿真模型和想定條件下的性能仿真,本文考慮到OPNET、QualNet等商用仿真軟件平臺開放性不高、成本高昂的問題,以及其教育版本版權受限,不提供源代碼等二次開發阻礙,嘗試使用一款新型開源的、基于組件的、模塊化的網絡仿真平臺OMNeT”利用其仿真了輪詢協議,建立了Link 11網絡模型,實踐證明了OMNeT”的面向對象特性以及開源特性保證了非常好的可移植性和擴展性,協議仿真時速度快、實時性好、內存消耗小,基于Eclipse友好的IDE界面可以簡便定義網絡拓撲結構,同時對于標準的支持使其可以進行基于線程的windOWS程序協同開發,具備編程、調試和跟蹤支持等功能,能夠實現復雜的基礎設施間的通信模擬,滿足數字化戰場網絡構架的需求。
1.OMNeT下數據鏈仿真系統模型的設計
對數據鏈進行仿真,首先要根據數據鏈的技術特點和關鍵技術,模擬實現其信道的占用和分配,實現其戰術數據流的處理和分發功能。因此,負責數據流逐層處理的網絡體系結構和負責信道占用規則的組網技術,成為數據鏈仿真過程中起重要作用的關鍵性技術。
OMNeT提供了基本的工具和機制來編寫仿真代碼,但它本身并不提供任何特定的用于計算機網絡仿真、系統仿真和其他領域仿真的組件。具體的仿真是由一些仿真模型和框架組件如MF(Mobility Frame-work)或INET Framework來支持,這些模型獨立于OMNet開發,并有自己的發布周期,MF的最新版本為2.Op3,下文將利用其建立系統模型的各個模塊。
1.1節點模型
數據鏈節點模型是仿真系統中相對獨立完整的中心模塊,包含了數據鏈網絡體系中的協議棧結構,由完成各個分層功能的簡單模塊復合而成,多個節點模型通過NED語言聯合組成最終的數據鏈網絡模型。本節研究的數據鏈節點模型建立在MF框架上,根據協議要求對相應層進行了代碼修改和功能擴充,節點的分層結構如圖1和圖2所示。


節點模型由應用層模塊(appl)、網絡層模塊(net)、網絡接口層模塊(nic)、移動模塊(mobility)及黑箱模塊(blackboard)組成。除了nic模塊是一個包含物理層和鏈路層中的MAC子層的復合模塊,其余都是簡單模塊,它實現了PHY/MAC協議。
Appl模塊用于網絡相關應用的開發,在數據鏈仿真中,將節點內數據包的生成定義在該層,Link 11主站的appl模塊結束處理時完成以下工作:負責關閉系統運行時所打開的文件,計算系統運行時各個節點的平均入網時間,計算輪詢協議的網絡循環周期,同時顯示統計的結果;net模塊負責數據鏈網絡的路由維護,由于在單鏈組網中,不論是輪詢還是廣播都不需要進行路由交換,這一層基本用于網絡內現有節點列表的維護;MAC模塊是數據鏈組網協議模型所在之處,負責信道訪問控制的模擬,本文研究的組網協議代碼主要集中在此,兩種數據鏈節點模型中MAC模塊結束處理時完成系統運行中各個節點的丟包率和MAC端到端時延的計算,同時顯示統計的結果;在物理層中,snrEval模塊用來計算接收消息的信噪比信息,snrEval的無線信道模型使用具有門限截止特性的自由空間無線電傳播模型,物理層對一個接收包處理過程為:在snrEval模塊將接收功率電平與載波檢測門限做比較,如果被接收包的功率電平小于載波檢測門限,包將被作為噪聲丟棄,否則送人decider模塊;在decider模塊將功率電平與接收門限作比較,如果接收包的功率電平低于接收門限,則在該包傳輸到MAC層之前將其標記為錯誤包,否則,物理層將該包視為無誤并傳送到MAC層。snrEval模塊在結束處理時完成以下工作:計算系統運行時各個節點的系統響應時間;計算信道利用率同時顯示統計的結果。
節點的移動性管理通過面向對象技術實現節點移動狀態類的本地封裝,各節點擁有獨立的移動模式。在每個節點中,移動性由獨立的移動控制子模塊負責。該控制子模塊按一定規律反復計算節點的位置并更新移動主節點模塊,也負責當前位置信息與信道控制模塊的通信,這種通信方式采用函數調用來實現。由于每個節點都擁有自己的移動模塊,因此只要改變系統配置文件omnetpp.ini中的指定模型參數值,就可以指定一個移動算法模型。目前MF中實現了7種移動算法模型:定向線性移動模型(LinearMobility模型)、固定角速度環形移動模型(CircleMobility模型)、勻速隨機點移動模型(Con-stSpeedMobility模型)、隨機方向移動模型(MassMobility模型)、固定矩形區域移動模型(RecTangule Mobility模型),另外兩種算法模型是通過外部導人移動軌跡,支持xml格式的TurtleMobility模型和本地movements文件格式的BonnMotionMobility模型。
移動管理框架中的blackboard主要用于跨層設計,通過這種黑箱機制實現主機節點中協議層間跨層信息交換,通信的發生使用發布一訂閱機制實現。在一個主機節點中僅有一個黑箱模塊,黑箱功能必須從Black-boardAccess類派生,提供各協議層所需數據。例如協議棧的物理層向MAC層提供數據,可利用Blackboar-dAccess類中的publish()方法向黑箱發布這些數據。對一定類型的信息感興趣的模塊可以通過Blackboard-Access類的subscribe()方法訂閱這類主題,當相應的數據發布時可接收到通知消息。
1.2統計模塊模型
為了分析相應性能指標,需要建立一些統計模型。在數據鏈仿真系統中添加了時延、丟包率和信道利用率三大統計模型,在Lni中配置相關參數后,可以在仿真中得到相關的性能數據,便于進行分析研究和性能評估。
數據鏈網絡中的數據包時延包括各層處理時延、發送時延和信道傳輸時延,它是評價網絡實時性和MAC算法的一個重要參數。在數據鏈仿真系統中建立的時延模型的工作機制如下:在MF的相應協議層的NED模型中添加時間戳字段,在統計時延的事件發生之時記錄該時刻,并賦值于時延起始戳,而后數據包在網內傳輸,在相應的中間處理環節中設置一個時間窗口,數據包到達目的模塊的時刻落在該時間窗口內,記錄此時的時刻信息作為時延截止戳,兩個時間戳間的時差即為時延。通過此法,分別在Link ll仿真系統中建立了的MAC端到端時延、系統響應處理時延,網絡循環周期和平均入網時間四個時間指標。
數據包在傳輸時會因信道沖突、信號衰落等原因造a成節點不能正確接收數據包,即出現錯包丟包現象。統計成功接收數據包的實現原理:在節點相應層的NED模型中定義數據包發送數和數據包接收數,分別做好備份記錄,再和其他節點的收發包記錄做比對。在仿真系統中丟包的原因出現在接收判決時信號功率低于snrEval模塊中的載波檢測門限而被誤認為是噪聲而丟棄,或者是信號功率低于decider模塊中的接收門限而被視為錯包而丟棄。因此,數據包接收數的統計值必須定義在MAC層上,而數據包發送數應定義在物理層。
信道利用率模型和時延模型在原理上是一致的,根據其定義:實際有效信息傳輸所占用的信道時間與實際信息傳輸所占用的信道時間的比率。在物理層snrEval模塊中定義了時延起始戳和時延截止戳,并在模塊中負責向信道發包的sendDow函數中賦予當前時刻值為時延起始戳,而在負責向上層decider模塊上傳消息包的sendUp()函數中賦予當前時刻值為時延截止戳,兩者的差值作為分母與仿真信道運行時間的比值即為信道利用率。
2基于輪詢協議的Link ll建模與仿真
2.1輪詢組網協議模型的設計
通過OMNeT下擴展協議的方法,在MF框架中建立了輪詢協議模型,輪詢代碼主要集中在控制網絡運行的主站節點中,其主要構成包括三個定時器自消息:入網廣播啟動定時器SEND-BROADCAST-TIM-ER,入網廣播完畢定時器BROADCAST-REPLY_TIMEOUT,輪詢應答超時定時器POLL-REPLY-TIMEOUT;四個消息報:廣播消息報BROADCAST-MESSAGE,廣播應答消息報BROADCAST-REPLY-MESSAGE,輪詢消息報POLL_MESSAGE,輪詢應答消息報POLLREPLY;五個方法函數:發送廣播報函數sendBroadcast(),發送輪詢報函數sendPoll(),輪詢下個節點函數pollNext()以及初始化函數initialize()和仿真結束函數finish()。執行輪詢網絡協議的程序流程圖如圖3所示。

輪詢協議工作流程可以分為以下六個步驟:
(1)啟用initialize()初始化模型,獲取模塊、協議參數,設置入網廣播啟動定時器SEND_BROADCASTTIMER;
(2)在handleSelfMsg()中處理到時的SEND-BROADCAST-TIMER,生成BROAD CAST-MES-SAGE逐層封裝發送出去,同時啟動BROADCAST-REPLY-TIMEOUT;
(3)收到廣播包的從站節點發送BROADCAST-REPLY-MESSAGE,收到此包的主站將該節點加入輪詢表,說明該節點已經成功入網;
(4)BROADCAST_REPLY_TIMEOUT定時器到時,結束入網,依據輪詢表順序開始輪詢,調用send-Poll()發送POLL-MESSAGE,同時啟動POLL-RE-PLY_TIMEOUT定時器,在定時器到時之前如果收到該從站的POLL-REPLY則取消該定時器,否則從輪詢表中將該從站節點除名;
(5)收到從站的POLL-REPLY后,調用pollNext()檢查輪詢表,如果輪詢表沒有完成一周則輪詢下一個從站,如果輪詢表已到結尾則完成一周網絡輪詢,開始新一輪的輪詢點名;
(6)仿真時間到時或者中途停止仿真,調用finish()記錄性能數據,結束仿真運行。
2.2實驗方法和網絡配置
實驗采取橫向與縱向相結合的方式綜合比較各網絡節點間性能差異和網絡總體性能差異,以數據鏈網絡中從站節點數目作為橫向比較和縱向比較的分界標準。首先在節點數為某固定值(如10個從站節點)的仿真場景下對數據鏈網絡進行仿真實驗,統計各個節點的物理層、MAC層、網絡層、應用層的性能。主站節點發送廣播包和輪詢包,各包的分組長度可調,所有從站發送相同數目的應答消息,各節點速度可調。通過仿真比較不同節點的性能差異,統計各節點的MAC端到端時延、成功接收分組率、系統響應時間和平均入網時間以及整個網絡的網絡循環周期和信道利用率。
然后依次對網絡增加5個從站節點,觀察網絡性能的變化,直到網絡規模達到50節點。在不同從站節點數的場景下進行性能參數的縱向比較,從而得到數據鏈網絡總體性能與網絡節點數量的關系曲線。
仿真場景中參數設置仿真范圍為:5000m×5000m;仿真時間:100s;工作頻率:設定為高頻固定頻率24MHz;節點數:11個(10個從站節點,依次增加5個從站節點,假設是一個機載,兩個艦載,一個車載和一個單兵,直至50個從站節點),其中節點0為主站,為靜止狀態,其余是從站,都為移動節點;移動模型:定向線性移動模(LinearMobility),機載移動速度200m/s,艦載移動速度15m/s,車載移動速度10m/s,士兵移動速度1m/s;通信協議:輪詢協議,根據輪詢表順序輪詢從站,輪詢應答時限為15/s;物理層模型:OMNeT環境下的抽象模型,信息傳輸速率為Link 11的平均報文傳輸速率1800b/s,發射功率為100w,噪聲檢測門限為10~12mW,接收門限為10~10mW,路徑損失系數為3.O,MAC層隊列長度為10;業務類型:廣播包和輪詢包,應用層、網絡層和MAC層報頭都為24b;時延類型:在時間窗口區間內[T,Tz]隨機停留一個時間。
仿真配置文件由ini文件來實現,完成物理信道、傳輸媒介、MAC層、網絡層的配置。以10個從站節點為例,仿真場景運行如圖4所示。

2.3仿真運行與結果分析
利用OMNeT提供的結果分析器對仿真實驗結果進行統計和分析,本文主要對Link 11網絡模型的網絡循環周期、MAC端到端時延、平均入網時間、系統響應時間、成功接收分組率和信道利用率做了仿真分析”。
對于一條數據鏈,端到端時延是從其分組信源將消息發送至傳輸媒介到信宿MAC層接收到分組為止的一段時間。衡量網絡節點的端到端時延可以有效地說明一個通信網絡的實時性。作為軍事網絡戰術數據鏈,需要很高的實時性才能保證其實際應用需求。仿真結果如圖5所示。

圖5中描述了從站節點數為lO時,各節點的MAC端到端時延的最值(藍色表示最大值,綠色表示最小值)、平均值(紅色表示)和偏方差(黃色表示)。由圖可知,節點的平均時延主要集中在2/s附近,岸基節點7.8,9的各項時延指標都較低,而機載節點4,5,6時延較高,其中距離主站最遠的節點6時延最大,產生較大偏差,這主要是受到移動速度和移動距離兩個因素的影響,時延較大導致信息傳輸的有效性降低。
網絡節點的成功接收分組率是指信宿成功接收分組的概率。通過仿真分析各節點的成功接收分組的概率可以檢測整個數據鏈路的信息傳輸可靠性。圖6為各節點的仿真結果。

由圖6可知,節點1,4,5,6的成功接收率較低,基本在60%左右,艦載節點0,2,3和岸基節點7,8,9基本在70%左右。機載節點移動速度較快,艦載節點1由于移動路徑距主站越來越遠,導致了網絡性能的下降。總體趨勢來看,數據的成功接收概率基本保持在60%以上,保證了網絡的可靠性。
當信道上發生碰撞及傳輸錯誤時,必然導致幀的丟失,這使信道時間被浪費。信道時間浪費的程度可以反映MAC協議的優劣。實際有效信息傳輸所占用的信道時間與實際信息傳輸所占用的信道時間之比定義為信道利用率,或從信息量的角度,把單位時間內在信道上成功傳輸的信息量定義為吞吐量,信道利用率即為吞吐量與信道容量之比。圖7給出整個網絡的信道利用率。

由圖7可知,隨著仿真時間的進行和仿真記錄次數的增加,從主站發出廣播包到從站應答人網,再從主站輪詢表的建立到輪詢網絡穩定運行,信道的利用率逐漸增加,最終穩定在40%左右。這和信道中信息量逐步增加的變化趨勢相一致,網絡穩定后信道中信息量基本趨于恒定,這時信道利用率也基本穩定。

圖8顯示了當網絡節點數增加時,信道利用率的變化規律。在從站節點數達到40之前,趨于線性增長,直至從站數為40時出現極值68.52%,而后呈現圍繞65%上下振蕩趨勢。說明了該Link 11網絡最佳負載數在40個從站節點左右,信道最大利用率在70%左右,這時也對應著信道的最大吞吐量。
輪詢協議網絡循環周期(NCT)是指主站完成一次對所有網絡成員順序點名所需的時間。影響網絡循環周期的因素主要包括成員數量、網絡成員業務量、以及成員地理位置分布等。圖9顯示了網絡循環周期與網絡負載的關
系:當節點數小于35時,NCT隨著負載數的增加線性緩慢提升,計算斜率可得5.11/s一個節點;當超過35個節點數后,NCT隨著負載數的增加線性陡升,計算斜率可得8.67/s一個節點。當節點數小于35時,單位時間上增加的業務量還未達到信道的最大吞吐量,此時網絡成員數的增加對NCT的影響是相對緩慢的;當網絡節點數超過35時,即將達到信道的最大吞吐量,此時負載數的增加帶來的業務量增加將需要更多的傳輸時間,節點數的增加對傳輸時間的影響增大,這導致了NCT陡然提高。這一變化規律與圖7中信道利用率是相符合的,說明了該網絡的最佳負載數在35~40之間。
圖10顯示了成功接收分組率與網絡負載的關系,可以看出分組率基本保持在80%左右,這是由于信道特性采用的是MF框架中的抽象信道模型,在仿真過程中符合特定的變化規律,并不會受到網絡負載的太大影響,在以后建模過程中可以加入信道傳輸特性模擬,以得到更真實的仿真數據。
戰術數據鏈系統仿真涉及到各種硬件、軟件和實際系統,如何利用仿真技術手段將這些資源有機、有效地結合起來是系統仿真技術的主要問題。本文主要研究了在OMNeT環境下戰術數據鏈的仿真實現,建立 了數據鏈仿真系統模型,應用MF仿真框架建立了輪詢協議模型,設計了基于輪詢協議的Link ll數據鏈網絡模型,并將數據鏈仿真指標嵌入到設計的模型中以進行性能評估。實驗結果表明網絡性能良好,實際可行,利用0MNeT”進行的仿真方法具有一定的通用性。下一步工作可以利用該軟件針對數據鏈的其他組網技術體制、多鏈情況、分布式仿真深入研究,并通過和Mat-lab聯合仿真進一步提高網絡性能。
參考文獻
[1]MOSERA V. MJTIDS ntegrateds’tung t001(JIST)tech-nology overview[c]//Miliitary Communication Conference1992.New Jersey:IEEE,1992:883-887.
[2]VARGA A.OMNeT“discrete event simulation systemversion 4.0 user manual[EB/OL].[2005-12-16].http://WWW.omnetpp.org.
[3]LOBBERS M,WILLKOMM D.A mobility framework forOMNeT’user manual version 1.0a4[EB/()I。1.[2004-07-21]1 http://WWW.omnetpp.org.
[4]cAMP T,BOLENG J,DAVIES V.A survey 0f mobilitymodels for ad hoc network researeh[J].Wireless Commu-nications&Mobile Computing,2002,2(5):483-502.
[5]趙春芬,陳林星,盧建川.Linkll系統的QualNet仿真[J].電訊技術,2008,48(2):86-91.
[6]夏林英.戰術數據鏈技術研究[D].西安:西北工業大學,2007.
[7]VARGA A.OMNeT“development user guide[EB/OL].[2004-10-21].http://WWW.omnetpp.org.
[8]刑智,戴浩.基于OPNET的Link 16數據鏈建模與仿真[J].軍事運籌與系統工程,2005,19(1):62-66.
[9]王瑩,方旭明.戰術數據鏈lank 1l的仿真與評測[c]//2007通信理論與技術新發展;第十二屆全國青年通信學術會議