韓立園,于林韜,叢妍,孫銘鐳
(長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)
隨著網(wǎng)絡(luò)的迅猛發(fā)展,其規(guī)模越來越大,網(wǎng)絡(luò)拓?fù)淙遮厪?fù)雜,網(wǎng)絡(luò)設(shè)備種類不斷增多,網(wǎng)絡(luò)流量相互交織。由于各種網(wǎng)絡(luò)特征相繼出現(xiàn),以經(jīng)驗為主的網(wǎng)絡(luò)規(guī)劃設(shè)計者的經(jīng)驗主義方法弊端越來越明顯,其擁有的大型網(wǎng)絡(luò)設(shè)計經(jīng)驗不再適應(yīng)當(dāng)下社會的設(shè)計要求。在網(wǎng)絡(luò)通信的研究中,網(wǎng)絡(luò)的性能因素成為研究的重要方面。在真實環(huán)境中,對網(wǎng)絡(luò)的設(shè)計和研發(fā)不僅耗資巨大,還在統(tǒng)計數(shù)據(jù)的收集和分析上存在難度,這樣就浪費了資金和時間。因此,在虛擬環(huán)境下如何構(gòu)造出反映實際網(wǎng)絡(luò)環(huán)境和各種網(wǎng)絡(luò)行為,使計算機中OPNET軟件的網(wǎng)絡(luò)仿真平臺成為網(wǎng)絡(luò)規(guī)劃設(shè)計的不可缺少仿真工具。OPNET的軟件協(xié)議和設(shè)備模型庫中各個層次的建模工具和功能使其成為最靈活實用的網(wǎng)絡(luò)虛擬建模主流軟件。通過OPNET Modeler軟件的建模仿真可以展示不同的擴展方式對網(wǎng)絡(luò)性能所產(chǎn)生的各種影響,利用仿真軟件進行仿真所涉及的環(huán)節(jié),并對該仿真中的網(wǎng)絡(luò)性能進行測量和分析,從而選出最佳的擴展方式。
OPNET是OptimizedNetworkEngineering Tool的縮寫,即優(yōu)化網(wǎng)絡(luò)工程工具,最初是OPNET公司最為核心軟件系列的產(chǎn)品之一。該公司針對網(wǎng)絡(luò)服務(wù)提供商、網(wǎng)絡(luò)設(shè)備制造商和一般企業(yè)或政府部門設(shè)計了四個核心的系列產(chǎn)品:OPNENT Modele、rIT Guru、Service Provide Guru和 WDM Guru。其中,OPNENT Modeler為技術(shù)人員提供了一個網(wǎng)絡(luò)開發(fā)平臺,主要用來設(shè)計和分析網(wǎng)絡(luò)性能及通信協(xié)議[1]。它包含了其他產(chǎn)品的所有功能,應(yīng)用了面向?qū)ο蟮慕7椒ê蛨D形化的編輯器,能夠有效反映實際網(wǎng)絡(luò)組件的靈活的拓?fù)浣Y(jié)構(gòu),以及實際系統(tǒng)場景中能直觀映射的所建模型,是當(dāng)前世界領(lǐng)先的網(wǎng)絡(luò)技術(shù)開發(fā)環(huán)境。
OPNET Modeler采用層次化和模塊化的方式進行建模,其中網(wǎng)絡(luò)域、節(jié)點域、進程域是構(gòu)建模型的三個層次[2]。
網(wǎng)絡(luò)域建模通過地理位置信息和運行業(yè)務(wù)方式,采用子網(wǎng)、路由器、服務(wù)器及通信連路等建立網(wǎng)絡(luò)模型,構(gòu)建現(xiàn)實網(wǎng)絡(luò)的拓?fù)洌詫崿F(xiàn)對現(xiàn)實網(wǎng)絡(luò)的真實映射,因此網(wǎng)絡(luò)域建模依賴于對網(wǎng)絡(luò)正確的拓?fù)涿枋觥T诰W(wǎng)絡(luò)模型中,子網(wǎng)(Sub networks)是可封裝其他網(wǎng)絡(luò)層對象的最高級的模塊,而通信節(jié)點(Communication node)是網(wǎng)絡(luò)設(shè)備及業(yè)務(wù)配置的模塊,通信鏈路(Communication links)是用來顯示網(wǎng)絡(luò)中的各種鏈路模塊[3]。
2.1.1 原網(wǎng)絡(luò)模型
了解實際的網(wǎng)絡(luò)場景環(huán)境,搭建虛擬的網(wǎng)元模型和網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。在OPNET工程編輯器中,選擇適當(dāng)?shù)奈恢脭[放這些網(wǎng)元,并完成網(wǎng)元模型間的相互連接,將仿真網(wǎng)絡(luò)系統(tǒng)完全映射到網(wǎng)絡(luò)的模型中,最后根據(jù)業(yè)務(wù)特點來建立和配置網(wǎng)絡(luò)的業(yè)務(wù)模型。
在新建的project11工程中,定義一個空的場景Scenario1,并對原網(wǎng)絡(luò)拓?fù)溥M行建模,原網(wǎng)絡(luò)模型主要由中心地、擴展地和服務(wù)器地組成。中心地由100名業(yè)務(wù)員組成,主要使用網(wǎng)頁瀏覽電子郵件和話音會議作為日常工作。擴展地也由100名業(yè)務(wù)員組成,主要使用網(wǎng)頁搜索、遠程登錄和電子郵件作為日常任務(wù)。服務(wù)器地由網(wǎng)站、電子郵件和遠程登錄應(yīng)用的三個服務(wù)器組成。原網(wǎng)絡(luò)的拓?fù)淠P腿鐖D1所示。在 Internet(ip64_Cloud)下,通過 PPP_DS1_int鏈路分別連接三個IP路由器(ethrenet4_slip16_gtwy),其中兩個路由器分別由1000BaseX鏈路對象連接1000BaseX_LAN,其中LAN對象中包含100個工作站,擴展地還加一個具有中間節(jié)點3Com SSII Switch和20個外圍工作站節(jié)點Sm_Int_Server_wksten,并由Ethernet 10Gbps作為鏈路的星型拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)模型組成;另一個路由器由1000BaseX鏈路對象連接Telnet server、Web server和E-mail server三個服務(wù)器。其網(wǎng)絡(luò)擴展的業(yè)務(wù)主要實施網(wǎng)頁瀏覽、電子郵件和遠程登錄業(yè)務(wù)功能,因此,可以從基本的模型庫中選出Sm_Application_Config模塊和Sm_Profile_Config模塊,在網(wǎng)絡(luò)中配置所有必要的標(biāo)準(zhǔn)和部署與其業(yè)務(wù)特點相對應(yīng)的預(yù)定模塊。

圖1 原網(wǎng)絡(luò)模型
2.1.2 擴展后網(wǎng)絡(luò)模型
根據(jù)具體的環(huán)境提出節(jié)點型擴展和局域型擴展兩種擴展方案,節(jié)點型擴展是在原有的網(wǎng)絡(luò)上直接增加拓?fù)涔?jié)點數(shù)量,即增加20名業(yè)務(wù)員;局域型擴展是在原有的網(wǎng)絡(luò)上增加小型的局域網(wǎng),即增加含20名業(yè)務(wù)員的星型拓?fù)?。為了對比分析擴展后的兩種仿真網(wǎng)絡(luò)的性能變化情況,在project11工程中,復(fù)制Scenario1的場景內(nèi)容,分別命名為Scenario2和Scenario3,其表示將要擴展后的兩個網(wǎng)絡(luò)模型,如圖2所示。

圖2 擴展后的網(wǎng)絡(luò)模型
在Scenario2中,節(jié)點型擴展網(wǎng)絡(luò)模型是在原網(wǎng)絡(luò)基礎(chǔ)上,對擴展地的交換機(Switch0)增加20個拓?fù)涔?jié)點,如圖2(a)所示。在Scenario3中,局域型擴展模型是在原網(wǎng)絡(luò)基礎(chǔ)上對擴展地的IP router路由器(ethernet4_slip16_gtwy)上,由Ethernet 10Gbps作為鏈路連接一個新增加的具有中間節(jié)點3Com SSII Switch和20個外圍工作站節(jié)點Sm_Int_Server_wksten的星型拓?fù)?,局域型的擴展網(wǎng)絡(luò)模型如圖2(b)所示。
節(jié)點域的建模將實際的節(jié)點分解成為若干個結(jié)點的模塊,并且如何進行數(shù)據(jù)的生成、存儲、傳輸和處理是每個節(jié)點模塊實現(xiàn)節(jié)點的某方面重要的行為。用包流線或統(tǒng)計線進行各模塊連接,各節(jié)點的模塊間由服務(wù)器、工作站、交換機和路由器組成一個具有完整功能的節(jié)點模型。擴建后網(wǎng)絡(luò)的節(jié)點模型,抽象和模擬了實際環(huán)境中各設(shè)備的工作行為。設(shè)備采用標(biāo)準(zhǔn)OSI七層組成關(guān)系,各層的進程模型參照OSI定義的協(xié)議進行建模。如圖3是網(wǎng)絡(luò)節(jié)點模型和屬性配置界面。節(jié)點模型從上到下依次由應(yīng)用層(application)、傳輸層(tcp)、網(wǎng)絡(luò)層(ip)、鏈路層(mac)和物理層(hub_rx)組成[4]。

圖3 節(jié)點模型

圖4 傳輸層進程模型
進程模型作為方案設(shè)計算法的承載體,由若干個處理機制和隊列模型組成。在開始狀態(tài)中,可加載著一個均勻分布的概率函數(shù),其可以實現(xiàn)節(jié)點模型的多種行為,轉(zhuǎn)移執(zhí)行函數(shù)可以模擬單個對象的行為,也可以調(diào)用概率函數(shù)使有限狀態(tài)機進行建模。在定義轉(zhuǎn)移條件的宏中,各個狀態(tài)機的上層出入口內(nèi)可寫入C/C++代碼或協(xié)議編程設(shè)計的庫函數(shù)。定義其符合功能模塊的工業(yè)標(biāo)準(zhǔn),各事件節(jié)點控制流的狀態(tài)圖是描述節(jié)點間功能模塊內(nèi)的狀態(tài)和狀態(tài)間的控制流情況[5]。在阻塞和活動兩個狀態(tài)間,其中的進程會一直循環(huán),由阻塞狀態(tài)進入活動狀態(tài),傳輸層內(nèi)的狀態(tài)轉(zhuǎn)移進程模型如圖4所示。
搭建好網(wǎng)絡(luò)的仿真模型后,對設(shè)計方案相應(yīng)所需的多個仿真參數(shù)進行搜集。基于結(jié)果收集的范圍,矢量統(tǒng)計可以分成本地統(tǒng)計量(local statistics)和全局統(tǒng)計量(global statistics)兩種,本地統(tǒng)計量只針對某個模塊,其結(jié)果只反映單個模塊的行為,全局統(tǒng)計量針對整個網(wǎng)絡(luò)模型,只關(guān)注整個網(wǎng)絡(luò)的行為和性能[6]。為了具體的了解網(wǎng)絡(luò)性能的特征,仿真實驗收集了全局統(tǒng)計量和本地統(tǒng)計量。
運行仿真前,首要先對探針編輯器(Probe Editor)的參數(shù)進行選擇,根據(jù)設(shè)計方案把一些探針選到需要采集統(tǒng)計數(shù)據(jù)上。仿真的任務(wù)就是分析該網(wǎng)絡(luò)在擴展前后多個性能參數(shù)的變化,主要搜集的仿真參數(shù)是全局變量下擴展前后的網(wǎng)絡(luò)延時(Ethernet Delay)及在IP router2和Internet之間,端到端上行的排隊延遲(queuing delay)、吞吐量(throughput)和鏈路利用率(utilization),把以上的多個參數(shù)作為結(jié)果分析使用;另外,在運行界面前主要設(shè)置運行的時間、采集點的個數(shù)和采集間隔的參數(shù)等。此軟件具有高效率的仿真引擎和超大荷的內(nèi)存管理系統(tǒng),更好的提高了仿真的運行速度。在仿真運行過程中,可以用OPNET自帶的調(diào)試工具OPNET Debugger進行調(diào)試,也可以使用交互式的與微軟的VC環(huán)境聯(lián)合的調(diào)試工具,兩種調(diào)試方法極其方便快捷,而且可以及時中斷運行中的仿真程序[7][8]。根據(jù)網(wǎng)絡(luò)情況,設(shè)置仿真的運行時間為1hours,數(shù)據(jù)的采集點為128個,采樣間隔為默認(rèn)方式。其仿真結(jié)果如圖5和圖6所示。
1.原網(wǎng)絡(luò)仿真結(jié)果

圖5 原網(wǎng)絡(luò)仿真曲線
2.擴展后網(wǎng)絡(luò)仿真結(jié)果

圖6 擴展后仿真曲線
從圖5原網(wǎng)路仿真曲線看出,在仿真開始時,原網(wǎng)絡(luò)延遲的值為1.2×10-6s,后瞬間增大到3.3×10-6s,在Internet和IP router2之間,端到端的排隊延時為2.9×10-3s,峰值為17.5×10-3s,吞吐量為0bits/sec,峰值為578622bits/sec,鏈路利用率初值為0,峰值為37.48。當(dāng)系統(tǒng)趨于穩(wěn)定后,原網(wǎng)絡(luò)延遲在3.1×10-6s上下波動,原網(wǎng)絡(luò)端到端的排隊延時在9.3×10-3s處波動,吞吐量在361209bits/sec處上下波動,鏈路利用率為23.4。
從圖6(a)看出,在仿真開始時,兩種方式擴展后的網(wǎng)絡(luò)延遲都比較小,初值分別為1.5×10-6s和1.4×10-6s,后擴展的網(wǎng)絡(luò)延遲瞬間增大到峰值,峰值分別為3.6×10-6s和3.5×10-6s。當(dāng)系統(tǒng)趨于穩(wěn)定后,兩種方式擴展的網(wǎng)絡(luò)延遲都趨于穩(wěn)定,節(jié)點擴展方式的網(wǎng)絡(luò)延遲在3.2×10-6s上下波動,局域擴展方式的網(wǎng)絡(luò)延遲波動在3.1×10-6s;與原網(wǎng)絡(luò)相比,節(jié)點擴展方式的網(wǎng)絡(luò)延遲高于原網(wǎng)絡(luò)延遲,局域擴展方式的網(wǎng)絡(luò)延遲與原網(wǎng)絡(luò)延遲幾乎沒有發(fā)生變化。擴展后兩種方式相比較下,局域擴展方式的網(wǎng)絡(luò)延遲小于節(jié)點擴展方式的網(wǎng)絡(luò)延遲。
從圖6(b)看出,在仿真開始時,兩種擴展方式在Internet和IP router2之間,端到端的排隊延時最小值分別為0.67×10-3s和0.55×10-3s,峰值分別為14.9×10-3s和15.1×10-3s。當(dāng)系統(tǒng)趨于穩(wěn)定后,端到端的排隊延時分別波動在9.95×10-3s和9.44×10-3s。與原網(wǎng)絡(luò)相比,兩種擴展方式對網(wǎng)絡(luò)的排隊延時都增加,局域擴展方式對網(wǎng)絡(luò)的排隊延時影響相對較小。
從圖6(c)看出,在仿真開始時,兩種擴展方式中在Internet和IP router2之間,端到端的吞吐量值都為0bits/sec,峰值為562170bits/sec和532794bits/sec,節(jié)點型方式擴展的端到端的吞吐量瞬間變化大于局域型方式擴展的端到端的吞吐量當(dāng),系統(tǒng)趨于穩(wěn)定后,端到端的吞吐量分別穩(wěn)定于383803bits/sec和358423bits/sec,兩種方式擴展相比,節(jié)點型擴展的吞吐量大于局域型擴展的吞吐量,但局域型擴展的端到端吞吐量更接近原網(wǎng)絡(luò)端到端的吞吐量。
從圖6(d)看出,在仿真開始時,兩種擴展方式中在Internet和IP router2之間,端到端的利用率都為0,利用率瞬間增大到峰值為36.4和34.5,當(dāng)系統(tǒng)趨于穩(wěn)定后,擴展后端到端的利用率分別為24.86和23.23。兩者相比較,節(jié)點擴展方式端到端的利用率大于局域擴展方式端到端的利用率,與原網(wǎng)絡(luò)相比兩種擴展方式降低了對網(wǎng)絡(luò)瞬間的影響,局域型擴展的端到端利用率變化較小,而節(jié)點型擴展方式的端到端利用率最大。
綜上分析,在服務(wù)器負(fù)載內(nèi),若需要網(wǎng)絡(luò)延遲和端到端排隊延時較小的,端到端的吞吐量和利用率變化較小的,選擇局域型擴展方式為最佳方案;若不考慮網(wǎng)絡(luò)延遲和端到端排隊延時,要提高端到端的吞吐量和利用率,選擇節(jié)點型擴展方式為最佳方案。
本文對擴展前后的網(wǎng)絡(luò)進行了仿真,對原網(wǎng)絡(luò)基礎(chǔ)上增加相同節(jié)點數(shù)的兩種方式進行分析。
仿真結(jié)果表明,兩種方式都對網(wǎng)絡(luò)性能產(chǎn)生了影響,例如:擴展后的網(wǎng)絡(luò)延遲、端到端的排隊延時、端到端的吞吐量和鏈路利用率等。根據(jù)仿真分析的結(jié)果,選出了適合所需情況的最佳擴展方案。在整個網(wǎng)絡(luò)仿真過程中也存在著很多缺點,如果需要重復(fù)某次仿真結(jié)果,只需將包括隨機種子在內(nèi)的參數(shù)設(shè)置為以前取過的值即可。所以,為了取得一個可信的仿真結(jié)果,就不能只依靠一次仿真結(jié)果,必須多次改變隨機數(shù)種子,并對多次仿真結(jié)果進行統(tǒng)計,才能得到可信的結(jié)論。