耿強(qiáng)++黃雪琴++姜文波++程思寧++陳顯軍++焦凱
摘要:如今網(wǎng)絡(luò)基礎(chǔ)鏈路雖然越來(lái)越好,但隨著國(guó)家“互聯(lián)網(wǎng)+”戰(zhàn)略的不斷深化實(shí)施,網(wǎng)絡(luò)應(yīng)用會(huì)呈幾何級(jí)增加,這樣部分單位會(huì)新建或改建現(xiàn)有網(wǎng)絡(luò),如何確保新網(wǎng)絡(luò)的性能適應(yīng)各種網(wǎng)絡(luò)業(yè)務(wù)是個(gè)很實(shí)際的問(wèn)題。文中首先分析各類網(wǎng)絡(luò)仿真軟件特點(diǎn),著重介紹OPNET的仿真建模要素,同時(shí)利用OPNET對(duì)改建前后的網(wǎng)絡(luò)性能進(jìn)行比較,確定改造效果及仿真意義。
關(guān)鍵詞:OPNET ; 網(wǎng)絡(luò)仿真 ; 網(wǎng)絡(luò)建模 ; 網(wǎng)絡(luò)性能
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)26-0037-03
隨著“互聯(lián)網(wǎng)+”概念的不斷深入與發(fā)展,所建網(wǎng)絡(luò)的性能能否滿足設(shè)計(jì)需求,單靠軟硬件所標(biāo)注性能參數(shù)衡量及工程師經(jīng)驗(yàn)是不夠準(zhǔn)確的。因此能在節(jié)約設(shè)計(jì)成本的條件下,對(duì)所建設(shè)的網(wǎng)絡(luò)環(huán)境進(jìn)行性能前期預(yù)測(cè)是很有必要的。
1 網(wǎng)絡(luò)仿真軟件介紹
網(wǎng)絡(luò)仿真是指在計(jì)算機(jī)系統(tǒng)中,結(jié)合實(shí)際網(wǎng)絡(luò)需求,利用仿真軟件構(gòu)建一個(gè)模擬測(cè)試平臺(tái),可以針對(duì)網(wǎng)絡(luò)通信的數(shù)據(jù)流、網(wǎng)絡(luò)各類硬件、網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)業(yè)務(wù)等進(jìn)行設(shè)計(jì)研究,還可對(duì)網(wǎng)絡(luò)中的帶寬、負(fù)載、CPU利用率、時(shí)延、誤碼率等性能參數(shù)進(jìn)行分析比對(duì),并依據(jù)仿真結(jié)果做出直接有效的網(wǎng)絡(luò)建設(shè)決策。
下面針對(duì)現(xiàn)有主流網(wǎng)絡(luò)仿真軟件OPNET和NS2進(jìn)行介紹:
1.1 OPNET介紹
OPNET出自麻省理工學(xué)院,在1987年得以商業(yè)化。它可以利用其各個(gè)功能仿真模塊,模擬諸如以太網(wǎng)、無(wú)線網(wǎng)絡(luò)、衛(wèi)星通信網(wǎng)、物聯(lián)網(wǎng)等各類網(wǎng)絡(luò)環(huán)境的通信,并針對(duì)網(wǎng)絡(luò)模型中的任意設(shè)備或位置設(shè)置監(jiān)視點(diǎn),采集該點(diǎn)仿真數(shù)據(jù),并加以分析,最終以圖形化的方式展現(xiàn)輸出,供網(wǎng)絡(luò)規(guī)劃人員參照使用。該仿真軟件主要支持的網(wǎng)絡(luò)設(shè)備廠家有HP、Cisco、3Com等。同時(shí)也可在Windows環(huán)境下使用C/C++語(yǔ)言來(lái)控制有限狀態(tài)機(jī)的邏輯狀態(tài)和轉(zhuǎn)移細(xì)節(jié),實(shí)現(xiàn)自定義建模。
1.2 NS2介紹
NS2是一種開(kāi)源仿真軟件,可以通過(guò)C++語(yǔ)言編寫的協(xié)議函數(shù)以及OTCL編寫的配置文件,來(lái)實(shí)現(xiàn)針對(duì)各種網(wǎng)絡(luò)環(huán)境下的網(wǎng)絡(luò)協(xié)議進(jìn)行模擬或修改,從而實(shí)現(xiàn)網(wǎng)絡(luò)模型仿真。
1.3 上述二者對(duì)比
在現(xiàn)有針對(duì)網(wǎng)絡(luò)仿真的各類軟件中,NS2和OPNET是應(yīng)用較為廣泛的兩種。二者區(qū)別主要有以下幾點(diǎn):
1)針對(duì)安裝和使用時(shí)的系統(tǒng)環(huán)境而言,OPNET適配于Windows系統(tǒng)場(chǎng)合,而NS2更匹配于Linux的開(kāi)發(fā)環(huán)境;
2)OPNET是商用軟件,因而開(kāi)發(fā)界面和操作方式更加友好,功能上面也更加全面,但對(duì)于復(fù)雜的節(jié)點(diǎn)設(shè)計(jì)不如NS2靈活。但NS2從新手學(xué)習(xí)來(lái)說(shuō)更加復(fù)雜;
3)NS2是免費(fèi)開(kāi)源軟件,這是與OPNET相比最大的優(yōu)勢(shì)。另外NS2對(duì)于節(jié)點(diǎn)數(shù)較多的場(chǎng)景仿真較為占用系統(tǒng)資源。
2 OPNET的重要結(jié)構(gòu)
OPNET軟件包主要由ITDecisionGuru、Modeler、Modeler/Radio三個(gè)模塊組成。這里重點(diǎn)介紹一下Molder模塊,它既有仿真分析功能,還可以針對(duì)不同的網(wǎng)絡(luò)層次建立自定義的通信協(xié)議。
OPNET Modeler主要由針對(duì)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行編輯的網(wǎng)絡(luò)編輯器、用于對(duì)涉及的網(wǎng)絡(luò)模型節(jié)點(diǎn)進(jìn)行數(shù)據(jù)流編輯的節(jié)點(diǎn)編輯器、用于控制節(jié)點(diǎn)間事件觸發(fā)控制流的進(jìn)程編輯器、用于創(chuàng)建用戶自定義的各類數(shù)據(jù)包的包格式編輯器、用于搜集仿真結(jié)果的探針編輯器這五部分構(gòu)成。上述五個(gè)部分在整個(gè)網(wǎng)絡(luò)仿真環(huán)節(jié)中,按照順序逐一執(zhí)行,從而得到理想的仿真結(jié)果。
3 網(wǎng)絡(luò)改建前后性能仿真
單位原有一個(gè)以星型結(jié)構(gòu)布局的有15個(gè)用戶節(jié)點(diǎn)的局域網(wǎng),并且所有用戶共享一臺(tái)服務(wù)器資源?,F(xiàn)增加一個(gè)接入交換機(jī),并在新增加的交換機(jī)上以星型拓?fù)浣尤胗?個(gè)新用戶節(jié)點(diǎn),同時(shí)也能直接訪問(wèn)原有服務(wù)器資源??紤]以前服務(wù)器的硬件配置可能性能不足的情況,假設(shè)改建后所有21個(gè)用戶同時(shí)訪問(wèn)服務(wù)器,整個(gè)辦公網(wǎng)會(huì)不會(huì)出現(xiàn)訪問(wèn)失敗或延遲太大的問(wèn)題?基于此考慮使用OPNET進(jìn)行網(wǎng)絡(luò)仿真,以確保改造后的網(wǎng)絡(luò)性能能夠滿足業(yè)務(wù)需求。
結(jié)合OPNET網(wǎng)絡(luò)仿真的一般步驟,進(jìn)行了以下仿真操作:
1)根據(jù)上述需求及問(wèn)題,明確要仿真的對(duì)象和待解決的問(wèn)題。這里新建一個(gè)名為“HKC”的工程,場(chǎng)景名為“Existing Network”;
2)結(jié)合仿真目的,利用OPNET軟件進(jìn)行仿真建模。其中包括設(shè)置網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、網(wǎng)絡(luò)的范圍、網(wǎng)絡(luò)傳輸介質(zhì)、網(wǎng)絡(luò)連接核心硬件、網(wǎng)絡(luò)業(yè)務(wù)模型等??墒褂谩翱焖偻?fù)渑渲霉ぞ摺睂?shí)現(xiàn)原有網(wǎng)絡(luò)參數(shù)配置。
3)完成基本拓?fù)淠P驮O(shè)置后,可以進(jìn)行相關(guān)結(jié)果搜集的準(zhǔn)備工作。如CPU占用率、負(fù)載、流量、延時(shí)等等。為了更加準(zhǔn)確的自定義搜集網(wǎng)絡(luò)相關(guān)參數(shù),也可以打開(kāi)如圖1和圖2所示關(guān)于服務(wù)器節(jié)點(diǎn)的模型編輯器和進(jìn)程模型編輯器,在進(jìn)程模型編輯器中,點(diǎn)擊INIT進(jìn)程上部或下部,可對(duì)該節(jié)點(diǎn)進(jìn)行入口或出口代碼的按需編程。
4)建立完網(wǎng)絡(luò)模型并設(shè)置好將要采集的狀態(tài)后,現(xiàn)在可以選擇收集哪些參數(shù)值。在服務(wù)器節(jié)點(diǎn)上單擊右鍵,從彈出的菜單中選擇Choose Individual Statistics,選擇監(jiān)視服務(wù)器的CPU占用率和負(fù)載,另外右鍵點(diǎn)擊網(wǎng)絡(luò)編輯器工作空間,監(jiān)視整個(gè)網(wǎng)絡(luò)延遲情況。
5)完成上述操作后,即可進(jìn)行仿真測(cè)試。可以設(shè)置仿真執(zhí)行時(shí)長(zhǎng)為“0.5 hours”,即30分鐘,點(diǎn)擊執(zhí)行按鈕后,仿真開(kāi)始運(yùn)行,直到提示仿真完成。此時(shí)可以在項(xiàng)目編輯器中點(diǎn)擊鼠標(biāo)右鍵,選擇菜單中的“View Results”來(lái)查看結(jié)果。
在仿真結(jié)果中,可以看到剛才設(shè)置的監(jiān)視點(diǎn)捕獲的所有性能參數(shù)結(jié)果集。但現(xiàn)在為了能夠掌握改建后網(wǎng)絡(luò)的參數(shù)變化,需要對(duì)現(xiàn)有的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)以及相關(guān)設(shè)備進(jìn)行修改,以適應(yīng)新的網(wǎng)絡(luò)規(guī)劃。這里通過(guò)在OPNET的Scenarios菜單中選擇Duplicate Scenario(復(fù)制場(chǎng)景),實(shí)現(xiàn)保留原場(chǎng)景,并復(fù)制出一個(gè)供修改的新場(chǎng)景“New Network”。可以在新場(chǎng)景中添加新的網(wǎng)絡(luò)拓?fù)?,如圖3所示。
6)針對(duì)改建后新的網(wǎng)絡(luò)場(chǎng)景,再次配置仿真參數(shù)并進(jìn)行仿真,觀察對(duì)比結(jié)果,可以對(duì)該項(xiàng)目下兩種不同場(chǎng)景的仿真結(jié)果進(jìn)行比較。
圖4是針對(duì)整個(gè)系統(tǒng)的訪問(wèn)延遲進(jìn)行的對(duì)比??梢?jiàn)延遲由原來(lái)的0.006秒變化為最大0.008秒,但此種變化對(duì)于用戶體驗(yàn)來(lái)說(shuō),幾乎可以忽略不計(jì);圖5中第1個(gè)和第2個(gè)小圖所示,可見(jiàn)服務(wù)器的CPU利用率維持在0.002%左右,幾乎沒(méi)有劇烈變化,可見(jiàn)新增網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)服務(wù)器CPU資源占用影響不大;再看圖5中第3個(gè)和第4個(gè)小圖,服務(wù)器的負(fù)載均穩(wěn)定在2000 bits/s附近的狀態(tài),二者變化不大,可見(jiàn)新增網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)服務(wù)器的負(fù)載影響不大;綜上可知,此次的網(wǎng)絡(luò)改建,對(duì)于服務(wù)器和整個(gè)網(wǎng)絡(luò)的性能來(lái)說(shuō),所帶來(lái)的影響完全在用戶可接受的范圍之內(nèi),可以進(jìn)行實(shí)際改建。
4 結(jié)束語(yǔ)
由上述可知,在互聯(lián)網(wǎng)不斷發(fā)展的今天,各項(xiàng)網(wǎng)絡(luò)業(yè)務(wù)要求不斷變化提升,對(duì)于新建和改建的網(wǎng)絡(luò)所面臨的網(wǎng)絡(luò)技術(shù)選型、拓?fù)湟?guī)劃、設(shè)備選擇、網(wǎng)絡(luò)應(yīng)用部署等實(shí)際問(wèn)題,利用OPNET的網(wǎng)絡(luò)仿真均可以提供可靠的網(wǎng)絡(luò)模型和性能定量參考依據(jù),據(jù)此也可以提出性價(jià)比最優(yōu)的解決方案。
參考文獻(xiàn):
[1] 陳敏.OPNET網(wǎng)絡(luò)仿真[M].北京:清華大學(xué)出版社,2004.
[2] 洪家平,柯宗武,童鈺.OPNET在網(wǎng)絡(luò)規(guī)劃和設(shè)計(jì)中的應(yīng)用[J].湖北師范學(xué)院學(xué)報(bào):自然科學(xué)版,2004(24).
[3] 天極網(wǎng).似幻亦真,教你踏足網(wǎng)絡(luò)仿真的云外之境[EB/OL].[2007-07-18].http://digi.163.com/07/0718/01/3JL7179V0016 28C0.html.
[4] 舒榮.基于OPNET的仿真技術(shù)在校園網(wǎng)絡(luò)研究中的應(yīng)用[J].電腦編程技巧與維護(hù),2015(13).
[5] 王峰.基于OPNET的校園網(wǎng)絡(luò)性能的仿真與優(yōu)化[J].計(jì)算機(jī)與數(shù)字工程,2011(3).