熊 輝
(四川職業(yè)技術(shù)學(xué)院 計科系,四川 遂寧 629000)
各種網(wǎng)絡(luò)仿真工具在此背景下應(yīng)運而生。本文就常見的三種網(wǎng)絡(luò)仿真工具(OPNET、NS2及MATLAB),從它們的運行環(huán)境、主要模塊及功能、工作流程及應(yīng)用領(lǐng)域進(jìn)行了分析比較。
OPNET對于網(wǎng)絡(luò)的設(shè)計和管理,一般分為3個階段:設(shè)計階段、發(fā)布階段,實際運營中的故障診斷、排錯和升級優(yōu)化,能面向網(wǎng)絡(luò)研發(fā)的不同階段,既可以作網(wǎng)絡(luò)的設(shè)計,也可以作為發(fā)布網(wǎng)絡(luò)性能的依據(jù),還可以作為已投入運營的網(wǎng)絡(luò)的優(yōu)化和故障診斷工具。
NS2可以對無線、有線網(wǎng)、衛(wèi)星網(wǎng),局域網(wǎng)和廣域網(wǎng)等不同的網(wǎng)絡(luò)形式進(jìn)行仿真。可以支持HTTP、TCP,UDP協(xié)議,支持FTP,Telnet,Web,,CBR and VBR 等高層業(yè)務(wù);對無線網(wǎng)絡(luò),支持DSR、AODV、DSDV等協(xié)議。NS2是一種可擴(kuò)展易配置和編程的事件驅(qū)動網(wǎng)絡(luò)仿真工具。
MATLAB主要用于概念設(shè)計、算法開發(fā)、建模仿真、實時實現(xiàn)的理想的集成環(huán)境。由于其完整的專業(yè)體系和先進(jìn)的設(shè)計開發(fā)思路,使得MATLAB在多種領(lǐng)域都有廣闊的應(yīng)用空間,特別是在MATLAB的主要應(yīng)用方向— —科學(xué)計算、建模仿真以及信息工程系統(tǒng)的設(shè)計開發(fā)上已經(jīng)成為行業(yè)內(nèi)的首選設(shè)計工具。
(1)OPNET 運行環(huán)境。平臺:Windows、Linux、Unix等各種平臺;系統(tǒng)裝有C++編譯器。
(2)NS2 運行環(huán)境。平臺:Windows、Linux、Unix、machitosh,還要求系統(tǒng)裝有 C++編譯器;兩種語言:C++、OTcl。
(3)Matlab運行環(huán)境。平臺:主要是Windows平臺。
3.2.1 OPNET模塊及功能
若固守男女授受不親之禮,則不應(yīng)施以援手救嫂子;此時施以援手,則是權(quán)的體現(xiàn)。而孟子懂得通權(quán)達(dá)變,用權(quán)變思維處理嫂溺問題。在孔子看來,當(dāng)處在道德兩難的特殊境遇時,道德主體可以暫時犧牲乃至違背較低層次的道德規(guī)范,以保證更高層次的道德規(guī)范的實現(xiàn),而這種行為仍具有真正的道德價值,這就是“權(quán)”。在處理兩難問題時,就需要靈活變通,不能固守于經(jīng)。權(quán)變是人的道德選擇,也是道德實踐的前提。
(1)OPNET模型分為Network、Node和Process三個層次,分別在圖形界面的Project Editor、Node Editor和Process Editor工具中建立。
(2)OPNET提供了一個比較齊全的的基本模型庫,主要包括:Ethernet,F(xiàn)DDI,TR,TCP/IP,ATM,F(xiàn)R,PSTN,Cellular phone,wireless network,Client/Server
(3)OPNET采用基于包的建模機(jī)制,模擬實際物理網(wǎng)絡(luò)中packet的流動,包括在網(wǎng)絡(luò)設(shè)備間的流動和網(wǎng)絡(luò)設(shè)備內(nèi)部的處理過程,模擬實際網(wǎng)絡(luò)協(xié)議中的組包和拆包的過程,可以生成、編輯任何標(biāo)準(zhǔn)的或自定義的packet格式,利用DEBUG功能,還可以在模擬過程中察看任何特定的 packet的包頭(Header)和凈荷(Payload)的內(nèi)容。
(4)OPNET采用離散事件驅(qū)動的模擬機(jī)理,計算效率得到很大提高。
3.2.2 NS2模塊及功能
Nam,動態(tài)顯示網(wǎng)絡(luò)仿真過程。如:包的傳輸?shù)鹊?Xgraph,顯示仿真過程的數(shù)值特征。如:流量/時間圖等;拓?fù)鋱D生成器:Gt-itm;節(jié)點移動生成器:Setdest;傳輸事件生成器:cbrgen.tcl、tcpgen.tcl。
3.2.3 MATLAB的主要功能
數(shù)值計算功能;符號計算功能;數(shù)據(jù)分析和可視化功能;文字處理功能;SIMULINK動態(tài)仿真功能。
3.3.1 OPNET的工作流程
理解系統(tǒng)、仿真目的;選擇需要的建模方面;定義輸入和輸出;確定系統(tǒng)模型、輸出;運行仿真;系統(tǒng)結(jié)果是否準(zhǔn)確,驗證結(jié)果的容錯性和精確性;結(jié)果是否足夠詳細(xì)和統(tǒng)計可用。
3.3.2 NS2的工作流程
定義網(wǎng)絡(luò)結(jié)構(gòu)、輸出文件、退出過程和網(wǎng)絡(luò)事件,配置響應(yīng)的硬件參數(shù),確定拓?fù)鋱D和傳輸事件文件以及節(jié)點移動文件,在運行過程中,打開輸出文件,按照定義的事件,運行拓?fù)鋱D,同時將過程數(shù)據(jù)寫入輸出文件,調(diào)用退出過程,接著調(diào)用Nam或Xgraph顯示并關(guān)閉輸出文件。
3.3.3 MATLAB的工作流程
MATLAB及其豐富的Toolbox資源的支持,可以方便地進(jìn)行具有開創(chuàng)性的建模與算法開發(fā)工作,并通過MATLAB強(qiáng)大的圖形和可視化能力反映算法的性能和指標(biāo)。所得到的算法則可以在Simulink環(huán)境中以模塊化的方式實現(xiàn),通過全系統(tǒng)建模,進(jìn)行全系統(tǒng)的動態(tài)仿真以得到算法在系統(tǒng)中的動態(tài)驗證。
MATLAB主要應(yīng)用于控制器及控制對象、信號處理系統(tǒng)、通信系統(tǒng)、機(jī)電液一體化設(shè)計開發(fā)。OPNET、NS2能夠較好的對通信系統(tǒng)進(jìn)行仿真,MATLAB一般是高端應(yīng)用,OPNET和NS2主要用于通信系統(tǒng)設(shè)計開發(fā)的網(wǎng)絡(luò)仿真方面。OPNET和NS2支持底端應(yīng)用和硬件接口。
網(wǎng)絡(luò)仿真技術(shù)是一種全新的網(wǎng)絡(luò)規(guī)劃設(shè)計方法,該技術(shù)以其獨特的技術(shù)手段,成為一種經(jīng)濟(jì)、有效和其他傳統(tǒng)方法不可替代的網(wǎng)絡(luò)設(shè)計的有力工具。隨著數(shù)據(jù)網(wǎng)絡(luò)的日趨復(fù)雜、網(wǎng)絡(luò)規(guī)模的日漸龐大,對網(wǎng)絡(luò)仿真技術(shù)的需求必將越來越迫切,網(wǎng)絡(luò)仿真的應(yīng)用也將越來越廣泛,網(wǎng)絡(luò)仿真技術(shù)將成為數(shù)據(jù)網(wǎng)絡(luò)規(guī)劃設(shè)計不可缺少的工具。
[1]http://www.china-ns.com
[2]http://www.ns.nl
[3]http://www.opnet.com
[4]http://www.matlab-world.com