劉 敏,喬會東,郎 杰,劉旭光
(中國洛陽電子裝備試驗中心 河南 洛陽 471003)
隨著通信網(wǎng)絡(luò)規(guī)模的日益龐大,新技術(shù)的不斷涌現(xiàn),網(wǎng)上應(yīng)用的日益復(fù)雜,網(wǎng)絡(luò)性能也變得越來越難以預(yù)測。如果在真實的網(wǎng)絡(luò)環(huán)境中進行性能研究、網(wǎng)絡(luò)規(guī)劃、設(shè)計和開發(fā),不僅耗資大,而且在統(tǒng)計數(shù)據(jù)的收集和分析上也存在困難。因此,迫切需要一種新的網(wǎng)絡(luò)規(guī)劃和設(shè)計手段來提高網(wǎng)絡(luò)設(shè)計的客觀性和結(jié)果的可靠性,網(wǎng)絡(luò)仿真[1-2]應(yīng)運而生。
網(wǎng)絡(luò)仿真是進行網(wǎng)絡(luò)技術(shù)研究的一種基本手段,能夠為不同的設(shè)計方案建立不同的模型,對這些模型分別進行模擬仿真并獲取定量的網(wǎng)絡(luò)性能預(yù)測數(shù)據(jù),通過對結(jié)果的分析,為方案間的驗證和比較提供可靠的定量依據(jù),從而為優(yōu)化設(shè)計和決策制定提供更便捷有效的手段。
常用的網(wǎng)絡(luò)仿真工具有 NS2、QualNet、OPNet、GloMosim、OMNet++等。 本節(jié)對NS2、QualNet、OPNet三種仿真工具進行簡要介紹。
NS2[3]是一種多協(xié)議網(wǎng)絡(luò)仿真軟件,由DARPA支持的項目VINT開發(fā)而成,其源碼是免費的、開源的,主要面向網(wǎng)絡(luò)協(xié)議研究。
NS是一個離散事件模擬器,核心部分是一個離散事件模擬引擎。NS是用兩種面向?qū)ο蟮恼Z言O(shè)tcl和C++編寫而成的,稱為分裂對象模型,構(gòu)件主要功能通常在C++程序中實現(xiàn),Otcl中的類則主要提供C++對象面向用戶的配置接口。
NS中具有豐富的構(gòu)件庫,包括基礎(chǔ)設(shè)備、鏈路、協(xié)議模型、無線移動模型等,具有強大的網(wǎng)絡(luò)模擬仿真功能。但由于采用兩種語言,學習起來比較困難,且沒有可視化的操作界面,不夠直觀。
OPNet[4]是由 OPNet Technologies研制和開發(fā)的,對幾乎所有網(wǎng)絡(luò)和網(wǎng)絡(luò)技術(shù)都可進行建模仿真。
OPNet仿真軟件采用網(wǎng)絡(luò)域、節(jié)點域、進程域?qū)哟位?,使用有限狀態(tài)自動機對協(xié)議和其他過程進行建模。OPNet具有豐富的集成分析工具、詳細協(xié)議模型的全面模型庫和高效的仿真引擎,功能強大,適用范圍廣。但該軟件費用較高,一般面向?qū)I(yè)人士,不適于大多數(shù)用戶的學習、交流。
QualNet[5]是近年來興起的一種仿真工具,是美國SNT(Scalable Network Technologies)公司的網(wǎng)絡(luò)模擬系統(tǒng),其前身是GloMoSim。
QualNet采用TCP/IP層次化、模塊化建模,支持無線、有線和混合網(wǎng)絡(luò)及設(shè)備的仿真分析。QualNet具有豐富的協(xié)議模型庫,從對專用網(wǎng)絡(luò)的支持(如 WiFi、MANET、WiMAX、傳感器網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)),到進行半實物仿真,再到強大的3D可視化效果,這極大地提高了QualNet Developer的性能。基于此,QualNet越來越受到人們的青睞,其應(yīng)用領(lǐng)域也越來越廣泛。
QualNet圖形用戶界面由場景設(shè)計器、動畫模擬器、分析器、包追蹤器等組成[6-7]。
1)場景設(shè)計器(Scenario Designer)
場景設(shè)計器是圖形化的模型設(shè)置工具。在場景設(shè)計模式下,用戶可以設(shè)定網(wǎng)絡(luò)節(jié)點的地理位置、物理連接、各項功能參數(shù)以及地形特征等。通過簡單直觀的點擊和拖放,用戶可以配置單個或一組節(jié)點的網(wǎng)絡(luò)層協(xié)議和業(yè)務(wù)流量特征。
2)動畫模擬器(Animator)
動畫模擬器是圖形化的仿真可視工具。在仿真運行時,用戶可以利用動態(tài)可視窗口觀察網(wǎng)絡(luò)中不同層的包流以及關(guān)鍵性能度量的動態(tài)圖表,還可以在高速服務(wù)器上進行批量仿真,并查看動態(tài)數(shù)據(jù)。
3)分析器(Analyzer)
分析器是一個統(tǒng)計圖表工具,通過收集網(wǎng)絡(luò)場景運行階段的上百個度量,對其進行篩選,將用戶關(guān)心的統(tǒng)計特性展示出來。在生成統(tǒng)計報告的過程中可隨時查看,并可對不同試驗的結(jié)果進行比較。
4)包追蹤器(Packet Tracer)
包追蹤器是一個包級別的可視化工具,用于查看數(shù)據(jù)包經(jīng)過協(xié)議棧的變化情況。
QualNet的主要優(yōu)點如下:
1)包含大量預(yù)設(shè)的模型、協(xié)議和算法,封裝性較好,便于學習。
2)通過高效的調(diào)度、并行算法和高保真模型來實現(xiàn)運行的速度、效率和準確性。基于經(jīng)過驗證的PARSEC并行仿真內(nèi)核,每個節(jié)點都獨立地進行運算,能夠以實時速度仿真大型復(fù)雜網(wǎng)絡(luò)。
3)高度模塊化設(shè)計,便于用戶根據(jù)自己的需要屏蔽、增加或刪除某些協(xié)議模塊,具有良好的可修改性、可擴展性。4)圖形和算術(shù)工具便于實驗建立、監(jiān)視和后續(xù)數(shù)據(jù)處理。5)可作為真實網(wǎng)絡(luò)的一部分,參與到網(wǎng)絡(luò)測試中,即可用于半實物仿真。
6)實現(xiàn)并行分布式仿真,具有速度快、精度高、魯棒性好、實時接口等特點。
基于QualNet的網(wǎng)絡(luò)仿真一般遵循如圖1所示的仿真流程。
圖1 基于QualNet的網(wǎng)絡(luò)仿真流程Fig.1 QualNet based network simulation flow chart
若期望的功能基于QualNet的現(xiàn)有功能模塊就能實現(xiàn),則不需對其源碼作任何修改,只需根據(jù)需要搭建仿真場景,并配置相當?shù)木W(wǎng)絡(luò)參數(shù)、節(jié)點參數(shù)、鏈路參數(shù)或各層業(yè)務(wù)即可。然后運行仿真場景,待仿真結(jié)束后,采用分析器對結(jié)果進行分析,必要時可追蹤數(shù)據(jù)包行為。對統(tǒng)計得到的數(shù)據(jù)量等結(jié)果進行分析,得出仿真結(jié)論。若結(jié)果不符合預(yù)期期望,則需對仿真場景或各參數(shù)進行調(diào)整,再重新運行仿真,直至得到預(yù)期結(jié)果。
若期望的功能超出了QualNet的現(xiàn)有功能,則需要在現(xiàn)有基礎(chǔ)上增加或修改源碼,并進行重新編譯以生成可用的QualNet可執(zhí)行程序。若編譯出現(xiàn)問題,則需返回查找問題所在并修改,然后重新編譯。編譯正確后,運行仿真場景,分析仿真結(jié)果,得出結(jié)論。若結(jié)果不符合預(yù)期期望,則需修改場景或源碼,并重新運行仿真,直至得出滿意的結(jié)論。
于小學生而言,他們的年齡相對較小,語言功底相對成人而言較差,而小學生在學習當中與語文教材接觸得最多。但是語文教材中的文章比較簡短或者是由長篇文章中節(jié)選出來的一部分。于課文內(nèi)容而言,學生在學習的過程中只是按照原文的順序進行學習。小學語文中的大部分內(nèi)容都是名著中的節(jié)選部分,教師在引導(dǎo)學生進行教材閱讀時,學生不能對原來的文章有一個全面的認識,這就造成學生難以對閱讀材料中的事件以及人物進行準確把控。
本文利用QualNet網(wǎng)絡(luò)仿真工具搭建一個簡單的有線網(wǎng)絡(luò),實現(xiàn)特定節(jié)點間的通信,通過在節(jié)點之間配置應(yīng)用層業(yè)務(wù),運行仿真場景,觀察節(jié)點間各業(yè)務(wù)的傳輸情況,并對仿真結(jié)果進行分析比較。
利用QualNet網(wǎng)絡(luò)平臺搭建仿真場景如圖2所示。
圖2 仿真場景Fig.2 Network simulation instance
仿真場景中配置12個節(jié)點,呈柵格狀分布,每行4個節(jié)點,共3行,組成一個柵格狀的傳輸網(wǎng)絡(luò)。每個節(jié)點均可與其直連節(jié)點直接通信。圖中藍色實線表示節(jié)點間存在直接鏈路。
QualNet提供了多種應(yīng)用業(yè)務(wù),如CBR(恒定比特率流量)、FTP (文件傳輸協(xié)議)、TELNET (遠程登錄協(xié)議)、LOOKUP (輪詢)、VoIP(IP網(wǎng)絡(luò)傳送話音業(yè)務(wù))、VBR(可變比特率流量)等。
CBR(Constant Bit Rate)即固定比特率,CBR流量產(chǎn)生器以一個固定的速率產(chǎn)生流量,這是通過以固定速率傳輸固定大小的包來實現(xiàn)的。通常用于提供影響其他應(yīng)用業(yè)務(wù)性能的背景流量,或者用來仿真產(chǎn)生多媒體流量。
CBR是固定采樣率的壓縮方式,是一個理想的業(yè)務(wù)形式。其優(yōu)點是壓縮快,能被大多數(shù)軟件和設(shè)備支持,缺點是占用空間比較大。本文主要目的是對QualNet網(wǎng)絡(luò)仿真工具進行簡要分析,因此,采用理想化的CBR業(yè)務(wù)。
如圖2所示,CBR業(yè)務(wù)用深綠色帶箭頭上標注“CBR”的實線表示,箭尾為業(yè)務(wù)流源節(jié)點,箭頭為業(yè)務(wù)流目的節(jié)點。分別建立由節(jié)點 1到節(jié)點 2、節(jié)點 5、節(jié)點 8、節(jié)點 11、節(jié)點 10的CBR業(yè)務(wù)。分別建立由節(jié)點10到節(jié)點3、節(jié)點6、節(jié)點9、節(jié)點12的CBR業(yè)務(wù)。
表1 網(wǎng)絡(luò)協(xié)議參數(shù)設(shè)定表Tab.1 Network protocol param eters setting table
圖3 仿真過程演示Fig.3 Demonstrate of network simulation process
QualNet動畫模擬器向用戶提供了可視化及分析功能,實現(xiàn)了各個層次的動畫演示。仿真和動畫演示可同步進行,并且可以查看單個事件所對應(yīng)的動畫效果。
在搭建好仿真場景并配置完成各業(yè)務(wù)及各協(xié)議參數(shù)后,運行仿真,觀察仿真過程,仿真過程演示圖如圖3所示。圖中淺綠色的箭頭代表數(shù)據(jù)包的成功接受:當數(shù)據(jù)包從一個節(jié)點傳輸至另一個接受節(jié)點,一個淺綠色的箭頭會從源節(jié)點拉向目標節(jié)點。
在仿真完成時,點擊Analyze Results按鈕切換到分析界面。QualNet仿真結(jié)果的數(shù)據(jù)統(tǒng)計和分析包支持參數(shù)逐一比較、直方圖和基于文本的統(tǒng)計存儲。本文主要的統(tǒng)計結(jié)果如圖4~圖8所示。其中不同顏色的柱狀圖表示節(jié)點不同接口的統(tǒng)計數(shù)據(jù)。
圖4 客戶端發(fā)送數(shù)據(jù)包數(shù)柱狀圖Fig.4 Histogram of packet transmitting by CBR client
圖4所示為CBR客戶端即源節(jié)點(本例中即為節(jié)點1與節(jié)點10)成功發(fā)送包的數(shù)目。圖5所示為CBR服務(wù)器端即目的節(jié)點(本例中即為節(jié)點 2、3、5、6、8、9、10、11、12)成功接收包的數(shù)目。從圖中可以看出,所有從源節(jié)點發(fā)出的包都被目的節(jié)點成功接收了。
圖6所示為CBR服務(wù)器端統(tǒng)計得出的平均端到端延時。從圖中可以看出,各節(jié)點的端到端延時都比較小,在10-3數(shù)量級,完全在可接受范圍內(nèi)。其中,節(jié)點10到節(jié)點3的業(yè)務(wù)流延時最大,這是因為二者之間需要經(jīng)過最多跳數(shù),這里為5跳。節(jié)點1到節(jié)點2的業(yè)務(wù)流延時最小,這是因為二者之間有直連鏈路,可直接通信,而無需經(jīng)過其他節(jié)點中轉(zhuǎn)。
圖5 服務(wù)器接收數(shù)據(jù)包數(shù)柱狀圖Fig.5 Histogram of packet receiving by CBR server
圖6 服務(wù)器端的平均端到端延時Fig.6 Histogram of end-to-end average delay by CBR client
圖7、圖8所示為CBR客戶端與服務(wù)器端的吞吐量柱狀圖。從圖中可以看出,客戶端與服務(wù)器端的吞吐量是對應(yīng)的,即客戶端發(fā)出的所有數(shù)據(jù)包流都被服務(wù)器端正確接收到。
文中介紹了 3種常用的網(wǎng)絡(luò)仿真工具 NS2、QualNet、OPNet,權(quán)衡各自的優(yōu)缺點,選擇QualNet網(wǎng)絡(luò)仿真工具。對QualNet的組成、優(yōu)點進行了詳細介紹,并給出了對源碼無操作和對源碼有操作兩種情況下的仿真流程圖。在此基礎(chǔ)上,利用QualNet仿真平臺搭建了一個有線網(wǎng)絡(luò)示例,詳細闡述了QualNet的仿真步驟和網(wǎng)絡(luò)性能的分析。
圖7 客戶端吞吐量柱狀圖Fig.7 Histogram of throughput by CBR client
圖8 服務(wù)器端吞吐量柱狀圖Fig.8 Histogram of throughput by CBR server
[1]郭云芳.計算機仿真技術(shù)[M].北京:北京航空航天大學出版社,1991.
[2]馮允成,杜端甫.系統(tǒng)仿真及其應(yīng)用[M].北京:機械工業(yè)出版社,2000.
[3]徐雷鳴,龐博,趙耀.NS與網(wǎng)絡(luò)模擬[M].北京:人民郵電出版社,2003.
[4]陳敏.OPNET網(wǎng)絡(luò)仿真[M].北京:清華大學出版社,2004.
[5]Scalable Network Technologies,Inc.QualNet[5.0.2]User's Guide[EB/OL].(2010)[2013].http://www.scalable-networks.com.
[6]Scalable Network Technologies,Inc.QualNet[5.0.2]Programmer’s Guide [EB/OL].(2010) [2013].http://www.scalable-networks.com.
[7]劉斌,許紅軍,陳樨.基于OPNET的智能配電變電站通信網(wǎng)絡(luò)研究與仿真[J].陜西電力,2013(10):35-38.LIU Bin,XU Hong-jun,CHEN Xi.Research and simulation of smart distribution substation communication network based on OPNET[J].Shaanxi Electric Power,2013(10):35-38.