韋良芬
摘要:該文在介紹OPNET技術(shù)特點(diǎn)、仿真流程的基礎(chǔ)上,通過(guò)實(shí)驗(yàn)室擴(kuò)建案例的OPNET網(wǎng)絡(luò)建模、收集統(tǒng)計(jì)量、運(yùn)行仿真、查看并分析仿真結(jié)果等過(guò)程,說(shuō)明OPNET仿真軟件是網(wǎng)絡(luò)建模及性能分析的有效工具。
關(guān)鍵詞:OPNET;網(wǎng)絡(luò)仿真;網(wǎng)絡(luò)建模;仿真流程
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2012)33-8073-03
隨著網(wǎng)絡(luò)應(yīng)用的不斷擴(kuò)大,網(wǎng)絡(luò)新技術(shù)及其性能的開發(fā)與應(yīng)用已經(jīng)是網(wǎng)絡(luò)通信的重要研究方面。而網(wǎng)絡(luò)仿真是網(wǎng)絡(luò)規(guī)劃、設(shè)計(jì)及分析的有效工具,可以為網(wǎng)絡(luò)規(guī)劃和設(shè)計(jì)提供客觀、可靠的定量依據(jù),可以構(gòu)建接近真實(shí)的網(wǎng)絡(luò)環(huán)境和業(yè)務(wù)并測(cè)試網(wǎng)絡(luò)性能,從而起到縮短網(wǎng)絡(luò)建設(shè)周期,降低網(wǎng)絡(luò)投資風(fēng)險(xiǎn)的目的。cisco、華為、電信等各運(yùn)營(yíng)商通常就是采用網(wǎng)絡(luò)仿真的方法來(lái)解決網(wǎng)絡(luò)規(guī)劃、測(cè)試、應(yīng)用等問題[1]。當(dāng)前應(yīng)用最為廣泛的網(wǎng)絡(luò)仿真軟件有OPNET和NS2。NS2是一種可以作為網(wǎng)絡(luò)建模和仿真研究的免費(fèi)共享資源,但其功能不是很完善。OPNET以其完善的技術(shù)、協(xié)議及設(shè)備模型庫(kù)而成為網(wǎng)絡(luò)虛擬建模的主流工具。
1OPNET技術(shù)特點(diǎn)
OPNET最早出自麻省理工學(xué)院,1987年發(fā)布為商業(yè)化軟件并得以迅速而穩(wěn)健的發(fā)展,逐漸成為計(jì)算機(jī)網(wǎng)絡(luò)、通信、國(guó)防等領(lǐng)域廣泛認(rèn)可的網(wǎng)絡(luò)仿真軟件。OPNET的以下特點(diǎn)使其能夠進(jìn)行各種層次的網(wǎng)絡(luò)建模仿真需求[2-3]:
1)使用網(wǎng)絡(luò)模型、節(jié)點(diǎn)模型、進(jìn)程模型三層建模機(jī)制,與實(shí)際通信網(wǎng)絡(luò)的分級(jí)結(jié)構(gòu)自然對(duì)應(yīng),全面反映了通信網(wǎng)絡(luò)的相關(guān)特征,通過(guò)多層次嵌套子網(wǎng)還可以構(gòu)建復(fù)雜的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
2)擁有較為豐富的模型庫(kù)。OPNET模型庫(kù)提供了路由器、交換機(jī)、服務(wù)器、客戶機(jī)、ATM設(shè)備、DSL設(shè)備、ISDN設(shè)備等,可以滿足各種網(wǎng)絡(luò)仿真需求。
3)可以靈活的開發(fā)自定義模型。OPNET支持靈活的高級(jí)編程語(yǔ)言,為通信和分布式系統(tǒng)提供了廣泛的支持,允許對(duì)所有已知的通信協(xié)議、算法和傳輸技術(shù)實(shí)施真實(shí)模擬。
4)擁有綜合統(tǒng)計(jì)量收集和分析工具。OPNET擁有一系列綜合分析和仿真工具,可以收集各個(gè)網(wǎng)絡(luò)層次的性能統(tǒng)計(jì)參數(shù)并輸出圖形化仿真報(bào)告,通過(guò)仿真報(bào)告對(duì)網(wǎng)絡(luò)進(jìn)行性能評(píng)估和對(duì)比分析,并提出改進(jìn)方案。
另外OPNET還具有面向?qū)ο蟆D形化編輯、交互式分析、協(xié)同仿真、動(dòng)畫、應(yīng)用編程接口等特點(diǎn)。因此,OPNET不僅支持一般意義上的網(wǎng)絡(luò)建模與仿真,還為各種特殊網(wǎng)絡(luò)提供支持。
2OPNET網(wǎng)絡(luò)仿真基本流程
網(wǎng)絡(luò)仿真工作復(fù)雜而又細(xì)致,在使用OPNET進(jìn)行網(wǎng)絡(luò)仿真之前,需要準(zhǔn)確的理解整個(gè)系統(tǒng)及其仿真目的,明確仿真系統(tǒng)的結(jié)構(gòu)及各模塊間的關(guān)系,然后在復(fù)雜的網(wǎng)絡(luò)模型中選擇能夠反映問題的模型進(jìn)行建模。OPNET的仿真過(guò)程通常包括創(chuàng)建模型、收集統(tǒng)計(jì)量、運(yùn)行仿真、查看和分析結(jié)果幾個(gè)步驟[4]。
1)創(chuàng)建模型。創(chuàng)建模型是指根據(jù)研究的問題及其目標(biāo),建立網(wǎng)絡(luò)、節(jié)點(diǎn)、進(jìn)程及其協(xié)議模型并配置相關(guān)業(yè)務(wù)。OPNET采用網(wǎng)絡(luò)、節(jié)點(diǎn)和進(jìn)程三層建模機(jī)制,基本覆蓋了系統(tǒng)模型的各個(gè)層次。這三層建模機(jī)制是以層次化的方式進(jìn)行組合的,首先在網(wǎng)絡(luò)編輯器進(jìn)行網(wǎng)絡(luò)建模,然后雙擊網(wǎng)絡(luò)模型中的節(jié)點(diǎn)即可進(jìn)入節(jié)點(diǎn)編輯器進(jìn)行該網(wǎng)絡(luò)中節(jié)點(diǎn)的建模,最后雙擊節(jié)點(diǎn)中的功能模塊即可進(jìn)入進(jìn)程編輯器進(jìn)行進(jìn)程建模,添加網(wǎng)絡(luò)協(xié)議。
2)收集統(tǒng)計(jì)量。收集統(tǒng)計(jì)量是指將統(tǒng)計(jì)量寫入輸出文庫(kù)的過(guò)程。OPNET中包含反映網(wǎng)絡(luò)動(dòng)態(tài)特性的矢量統(tǒng)計(jì)量(Vector)和捕捉網(wǎng)絡(luò)非動(dòng)態(tài)行為特征的標(biāo)量統(tǒng)計(jì)量(Scalar)兩種。
3)運(yùn)行仿真。運(yùn)行仿真前需要設(shè)置運(yùn)行參數(shù),還可利用ProbeEditor探針編輯器在需要采集統(tǒng)計(jì)數(shù)據(jù)的點(diǎn)上設(shè)置探針。
4)查看和分析結(jié)果。OPNET中的仿真結(jié)果是以參數(shù)曲線的形式顯示的,可以在結(jié)果中加入一些算法用于完成不同算法間結(jié)果的比較。
3OPNET網(wǎng)絡(luò)仿真案例
這是一個(gè)實(shí)驗(yàn)室擴(kuò)建的案例:設(shè)某實(shí)驗(yàn)大樓目前擁有一個(gè)星型拓?fù)渚W(wǎng)絡(luò)實(shí)驗(yàn)室,由于教學(xué)需要,現(xiàn)準(zhǔn)備在隔壁教室擴(kuò)建一間同樣規(guī)模的星型拓?fù)渚W(wǎng)絡(luò)實(shí)驗(yàn)室,并將兩個(gè)實(shí)驗(yàn)室用路由器連接起來(lái)。實(shí)例要求選擇合適的統(tǒng)計(jì)量對(duì)其進(jìn)行離散事件仿真,并分析仿真結(jié)果,檢測(cè)實(shí)驗(yàn)室網(wǎng)絡(luò)擴(kuò)展以后是否能夠成功通信以及擴(kuò)展后所產(chǎn)生的額外負(fù)載對(duì)網(wǎng)絡(luò)性能的影響程度。仿真分以下幾個(gè)步驟進(jìn)行:
1)創(chuàng)建項(xiàng)目。創(chuàng)建一個(gè)工程名為lab,場(chǎng)景名為lab_room的項(xiàng)目,并進(jìn)行相應(yīng)的參數(shù)設(shè)置,其中網(wǎng)絡(luò)所需的模型族選擇Sm_Int_Model_List模型族。
2)創(chuàng)建lab_room網(wǎng)絡(luò)。通過(guò)快速配置(ImportTopology)的方法創(chuàng)建如圖1所示的包含25個(gè)外圍節(jié)點(diǎn)的星型網(wǎng)絡(luò)拓?fù)鋵?shí)驗(yàn)室lab_room。
3)收集統(tǒng)計(jì)量并運(yùn)行仿真。因?yàn)樵摪咐P(guān)注是擴(kuò)建網(wǎng)絡(luò)后給服務(wù)器帶來(lái)的額外負(fù)載和網(wǎng)絡(luò)總延時(shí)兩個(gè)問題,所以需要收集的統(tǒng)計(jì)量為服務(wù)器負(fù)載(ServerLoad)和以太網(wǎng)延時(shí)(EthernetDelay)。
4)查看仿真結(jié)果。服務(wù)器負(fù)載仿真結(jié)果圖和全局以太網(wǎng)延時(shí)仿真結(jié)果圖這里省略,因?yàn)閿U(kuò)建后可以通過(guò)比較結(jié)果仿真,將擴(kuò)展前后的仿真結(jié)果在同一窗口比較顯示。
5)擴(kuò)展網(wǎng)絡(luò)。用前面同樣的方法創(chuàng)建擴(kuò)建網(wǎng)絡(luò)expansion,并通過(guò)路由器將兩個(gè)網(wǎng)絡(luò)連接起來(lái),如圖2所示為擴(kuò)建后的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
6)擴(kuò)建前后兩個(gè)網(wǎng)絡(luò)的仿真比較結(jié)果與分析。圖3為服務(wù)器平均負(fù)載比較仿真結(jié)果。與預(yù)料的結(jié)果一樣,擴(kuò)建以后最大負(fù)載和平均負(fù)載都有所增加,但整體上看負(fù)載變化是平穩(wěn)的,沒有出現(xiàn)單調(diào)遞增的現(xiàn)象,因此擴(kuò)展后的網(wǎng)絡(luò)是可以穩(wěn)定運(yùn)行的。圖4所示為全局延時(shí)對(duì)比仿真結(jié)果,網(wǎng)絡(luò)進(jìn)入穩(wěn)定狀態(tài)后,最大延時(shí)均在0.4μs左右,雖然網(wǎng)絡(luò)擴(kuò)建以后,增加了服務(wù)器的負(fù)載,但網(wǎng)絡(luò)延時(shí)并沒有發(fā)生明顯變化,所以擴(kuò)建以后的網(wǎng)絡(luò)仍然能夠維持較好的性能。
4結(jié)束語(yǔ)
隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,協(xié)議也變得更為復(fù)雜,OPNET仿真軟件為網(wǎng)絡(luò)技術(shù)開發(fā)、性能分析、設(shè)計(jì)方案、故障診斷等研究提供了有力的虛擬環(huán)境支持。而且OPNET網(wǎng)絡(luò)仿真軟件具有豐富的模型庫(kù),靈活的系統(tǒng)架構(gòu),并且支持多種編程接口,利用OPNET進(jìn)行網(wǎng)絡(luò)建模和仿真,可以大大縮短網(wǎng)絡(luò)開發(fā)周期,降低開發(fā)成本并提高網(wǎng)絡(luò)研究效率。
參考文獻(xiàn):
[1]L.Zhao,C.Fan.EnhancementofQoSdifferentiationoverIEEE802.11WLAN[J].IEEECommun.Lett,2004(8):492-496.
[2]張博,姚琳.基于OPNET的廣域網(wǎng)仿真實(shí)驗(yàn)設(shè)計(jì)[J].渤海大學(xué)學(xué)報(bào),2012,33(1):52-57.
[3]李馨.OPNETModeler網(wǎng)絡(luò)建模與仿真[M].西安:西安電子科技大學(xué)出版社,2006.
[4]周慧.OPNET網(wǎng)絡(luò)仿真及其應(yīng)用研究[D].武漢:武漢科技大學(xué),2009.