周麗麗,張宗恕
(中國電子科技集團公司第五十四研究所,河北石家莊050081)
伴隨計算機在信息領域的廣泛應用,計算機信息網絡已成為現代通信的神經中樞。OPNET和Qualnet等仿真軟件,通過虛擬網絡場景構建和網絡特性參數統計,為全網性能分析和網絡規劃提供了有效手段。但是對于實際復雜的網絡系統,由于僅僅依靠數學建模和統計分析的軟件網絡仿真不能提供準確的性能描述,因此,引入實物系統的半實物仿真技術在網絡研究中具有廣闊的應用空間。
將實物系統引入仿真回路的半實物仿真,具有下列優點:首先,在網絡數學模型和仿真計算模型的基礎上,增加了實物終端的信息流量,使整個網絡仿真系統的數學模型得到進一步校準;其次,利用半實物仿真,通過網絡參數統計,可以對實物終端的功能和性能進行有效驗證,降低了設備驗證測試的網絡構建復雜度。
OPNET是業界公認并廣泛使用的通信網絡、設施和協議的仿真及建模工具,采用基于數據包的通信機制、基于離散事件驅動的仿真機制和與真實網絡相一致的三層建模機制,提供高層架構(High Level Architecture,HLA)接口模塊,適用于復雜目標網絡試驗平臺的半實物仿真實現。
半實物網絡仿真采用硬件在回路仿真(Hardware-In-the-Loop Simulation,HILS)技術,利用OPNET的HLA接口模塊,通過HLA聯邦體系結構將實物設備與仿真網絡連接起來,使仿真系統從實物設備獲得真實的輸入輸出,并通過協同仿真完成實物設備和仿真網絡統一控制,最終實現完整的、可控的網絡對抗技術研究和驗證試驗平臺。
1.1.1 硬件接口模塊
硬件接口模塊是半實物仿真網實物系統與仿真系統之間互連的物理接口,滿足仿真計算機和實物終端接口的電氣特性要求和標準。
1.1.2 數據包截獲模塊
數據包截獲模塊捕捉半實物仿真網的實物系統和仿真系統之間數據交互的原始數據包。OPNET網絡仿真采用TCP/IP協議棧模擬網絡節點并與實物終端互連,所以OPNET SITL仿真通常采用WinPcap API來捕獲原始數據包。它直接與網卡驅動程序進行交互,通過“嗅探”傳輸介質實現數據包的抓取,并向網絡發送數據包。
1.1.3 數據包轉換模塊
OPNET仿真軟件的仿真節點是通過有限狀態機進行建模實現的,仿真節點實現的是虛擬的協議棧,各層協議以及仿真設備之間采用數據包流進行連接。仿真包會觸發節點進程模型的中斷,引發協議進程對仿真包的處理。但仿真包不是真正的比特流,是由域組成的OPNET內部的特殊數據類型。因此實物終端與OPNET仿真網之間不能直接通信,必須通過數據包轉換模塊進行包轉換。
半實物網絡仿真系統構成如圖1所示。

圖1 半實物仿真系統構成
仿真系統構成中各部分功能如下:
①實物終端:為半實物仿真網絡提供真實的業務數據,通常不少于兩個以實現業務交互的完整協議過程,是整網業務通信的仿真基礎;
②半實物硬件接口:進行實物電路接口與仿真計算機網絡接口之間的互聯轉換,實現仿真計算機和實物設備之間的物理互聯;
③仿真配置模塊:配置半實物硬件接口的仿真地址,控制半實物仿真運行過程;
④協仿真處理模塊:基于OPNET的協仿真機制,通過OPNET的外部訪問接口(External System Access,ESA)實現外部控制程序和OPNET仿真程序的通信交互,保證仿真系統和實物系統的同步運行;
⑤實物映射節點:實物設備在仿真網絡中的虛擬映射節點,是仿真網絡的組成部分,虛擬映射節點在仿真網絡中使用無線管道機制或特定有線鏈路模型與仿真網絡的其他節點互聯;
⑥復雜網絡仿真:依據目標網絡建模需求形成的仿真網絡,可包括客戶端、服務器、路由器、交換機、無線通信中繼等多類型的節點模型。
參照OPNET半實物仿真系統構成,OPNET半實物仿真的核心處理主要包括OPNET網絡仿真實現和半實物仿真接口實現2個部分。OPNET網絡仿真實現部分可參考專業書籍和相關文章,在此主要介紹半實物仿真接口的設計實現。
在半實物仿真中,OPNET代表的仿真網絡在與計算機外界的實物終端進行交互時,必須通過半實物仿真接口。半實物接口軟件處理單元主要包括仿真配置和協同仿真處理模塊,實現仿真的運行控制和仿真網絡數據流到實物設備數據流的協議轉換。半實物接口硬件處理單元與仿真計算機的數據交互可以采用串口、以太網口和USB口等,半實物接口硬件處理單元與實物終端的接口根據實際設備的接口要求進行設計實現,考慮實物設備接口以E1接口為例。半實物仿真接口的功能構成如圖2所示。

圖2 半實物仿真接口的功能構成
半實物接口硬件處理單元實現實物終端到仿真網計算機之間的雙向數據交換,具有實時性和實物終端協議匹配的特性,通常選擇FPGA進行功能實現。
采用IP接口和E1接口實現PC仿真環境與實物設備的互連。IP接口實現分為物理層實現和協議實現,物理層實現采用專用芯片,完成從線路碼型到數字信號的轉換;協議的實現采用IPCore軟核,完成IP接口MAC協議的解析。E1接口物理層實現同樣采用專用芯片,滿足標準要求;協議層的成幀和解幀處理采用FPGA編程實現,符合標準要求。半實物接口硬件處理單元的接口架構如圖3所示。

圖3 半實物接口硬件處理單元接口架構
如上所述,半實物接口軟件處理單元主要包括仿真配置和協仿真處理模塊,實現仿真的運行控制和OPNET仿真網數據流到實物設備數據流的協議轉換。
仿真配置模塊:是半實物仿真接口的仿真配置和管理的主要工具。主要完成的仿真配置和仿真操作功能。仿真配置功能用于對半實物接口設備的IP接口進行MAC地址、IP地址、網關和掩碼設置,進行仿真時間推進步長設置等;仿真操作功能包括仿真的運行、暫停和結束操作。
協仿真處理模塊:基于OPNET的協仿真機制情況下,協仿真處理模塊的實現是通過OPNET的ESA接口實現與OPNET仿真程序的通信交互,由數據處理模塊和仿真控制模塊組成。數據處理模塊完成仿真系統與實物系統之間的數據交互,仿真控制模塊實現對仿真系統的運行控制,保證整體半實物仿真平臺的實時性。
協仿真處理模塊的數據處理功能包括:
①協仿真程序從半實物硬件接口的數據流中讀取從實物終端發送的數據幀,將數據幀進行解析和重新封裝,并把重封裝后的數據映射到仿真網的內部處理程序;
②協仿真程序從仿真網內部處理程序接收仿真數據流,解析并獲取向實物終端發送的數據信息,根據實物終端的數據幀格式進行數據幀重封裝,并把數據發送給實物設備。
協仿真處理模塊的仿真控制功能包括:
①向OPNET仿真網絡查詢要執行的仿真事件的時間;
②等待仿真網絡與實物終端交互的數據包,根據數據的流向調用數據處理模塊進行數據解幀、封裝和轉發處理;
③在實際時間執行仿真網絡的仿真事件。
協仿真處理進程的關鍵函數如下:
①GetModuleIDByMacAddress():根據地址獲取仿真模塊ID;
②GetObjectIDByName():根據對象名稱獲得對象ID;
③SimDataToReal():完成仿真報文到實際數據的轉換;
④RealDataToSim():完成實際數據到仿真報文的轉換;
⑤GetPacketLength():從比特流中定位數據包并獲取包長度。
實物終端A、B與目標終端DEST之間通過2個路由器節點和4個交換機節點進行互聯;協調接口模塊完成半實物接口的協仿真處理功能實現;OPNET仿真計算機通過網絡交換機與半實物仿真硬件接口設備互聯,實物終端通過E1接口與半實物仿真硬件接口互聯。在仿真網絡各層協議棧的協議交互過程中增加了仿真統計量,對實物終端的網絡性能進行評估。半實物仿真網絡采用實物—仿真—實物的工作模式。在試驗過程中,對吞吐量、信道數量、丟包率、重傳率、傳輸時延和可達性等多類統計量進行了統計分析。經仿真驗證,半實物仿真網的統計分析曲線清晰且全面地體現了各實物終端在仿真網絡的通信能力、通信可信性和通信可用性,也指導了實物終端 的工作性能優化。半實物仿真場景設置如圖4所示。

圖4 半實物仿真網絡場景圖
通過半實物網絡仿真平臺,實物終端與仿真網絡有效結合,避免了終端性能測試所需復雜網絡的實物平臺構建,提供了對實物節點進行驗證、分析和評估的有效手段。半實物仿真方法在網絡設備研究方面具有技術優勢,應用于大規模網絡背景下的網絡研究是一條可行、有效的技術途徑。
[1]陳 敏.OPNET網絡仿真[M].北京:清華大學出版社,2004.
[2]段 威,任 華,柳海峰.基于OPNET的通信網絡半實物仿真方法研究[J].計算機仿真,2009,24(11):138-143.
[3]劉 蕓,顧曉鳴,匡 曉.一種基于OPNET的網絡半實物仿真方法研究[J].軟件導刊,2009,8(2):125-127.
[4]張 筱,林孝康.一種基于OPNET的網絡半實物仿真模型[J].仿真技術,2007,23(1):257-258.
[5]李于衡,關 暉,李廣鵬.OPNET在計算機網絡和通信工程中的應用[J].無線電工程,2002,32(11):52-56.