韓立園,于林韜,叢妍,孫銘鐳
(長(zhǎng)春理工大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
隨著網(wǎng)絡(luò)的迅猛發(fā)展,其規(guī)模越來(lái)越大,網(wǎng)絡(luò)拓?fù)淙遮厪?fù)雜,網(wǎng)絡(luò)設(shè)備種類不斷增多,網(wǎng)絡(luò)流量相互交織。由于各種網(wǎng)絡(luò)特征相繼出現(xiàn),以經(jīng)驗(yàn)為主的網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)者的經(jīng)驗(yàn)主義方法弊端越來(lái)越明顯,其擁有的大型網(wǎng)絡(luò)設(shè)計(jì)經(jīng)驗(yàn)不再適應(yīng)當(dāng)下社會(huì)的設(shè)計(jì)要求。在網(wǎng)絡(luò)通信的研究中,網(wǎng)絡(luò)的性能因素成為研究的重要方面。在真實(shí)環(huán)境中,對(duì)網(wǎng)絡(luò)的設(shè)計(jì)和研發(fā)不僅耗資巨大,還在統(tǒng)計(jì)數(shù)據(jù)的收集和分析上存在難度,這樣就浪費(fèi)了資金和時(shí)間。因此,在虛擬環(huán)境下如何構(gòu)造出反映實(shí)際網(wǎng)絡(luò)環(huán)境和各種網(wǎng)絡(luò)行為,使計(jì)算機(jī)中OPNET軟件的網(wǎng)絡(luò)仿真平臺(tái)成為網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)的不可缺少仿真工具。OPNET的軟件協(xié)議和設(shè)備模型庫(kù)中各個(gè)層次的建模工具和功能使其成為最靈活實(shí)用的網(wǎng)絡(luò)虛擬建模主流軟件。通過(guò)OPNET Modeler軟件的建模仿真可以展示不同的擴(kuò)展方式對(duì)網(wǎng)絡(luò)性能所產(chǎn)生的各種影響,利用仿真軟件進(jìn)行仿真所涉及的環(huán)節(jié),并對(duì)該仿真中的網(wǎng)絡(luò)性能進(jìn)行測(cè)量和分析,從而選出最佳的擴(kuò)展方式。
OPNET是OptimizedNetworkEngineering Tool的縮寫,即優(yōu)化網(wǎng)絡(luò)工程工具,最初是OPNET公司最為核心軟件系列的產(chǎn)品之一。該公司針對(duì)網(wǎng)絡(luò)服務(wù)提供商、網(wǎng)絡(luò)設(shè)備制造商和一般企業(yè)或政府部門設(shè)計(jì)了四個(gè)核心的系列產(chǎn)品:OPNENT Modele、rIT Guru、Service Provide Guru和 WDM Guru。其中,OPNENT Modeler為技術(shù)人員提供了一個(gè)網(wǎng)絡(luò)開(kāi)發(fā)平臺(tái),主要用來(lái)設(shè)計(jì)和分析網(wǎng)絡(luò)性能及通信協(xié)議[1]。它包含了其他產(chǎn)品的所有功能,應(yīng)用了面向?qū)ο蟮慕7椒ê蛨D形化的編輯器,能夠有效反映實(shí)際網(wǎng)絡(luò)組件的靈活的拓?fù)浣Y(jié)構(gòu),以及實(shí)際系統(tǒng)場(chǎng)景中能直觀映射的所建模型,是當(dāng)前世界領(lǐng)先的網(wǎng)絡(luò)技術(shù)開(kāi)發(fā)環(huán)境。
OPNET Modeler采用層次化和模塊化的方式進(jìn)行建模,其中網(wǎng)絡(luò)域、節(jié)點(diǎn)域、進(jìn)程域是構(gòu)建模型的三個(gè)層次[2]。
網(wǎng)絡(luò)域建模通過(guò)地理位置信息和運(yùn)行業(yè)務(wù)方式,采用子網(wǎng)、路由器、服務(wù)器及通信連路等建立網(wǎng)絡(luò)模型,構(gòu)建現(xiàn)實(shí)網(wǎng)絡(luò)的拓?fù)洌詫?shí)現(xiàn)對(duì)現(xiàn)實(shí)網(wǎng)絡(luò)的真實(shí)映射,因此網(wǎng)絡(luò)域建模依賴于對(duì)網(wǎng)絡(luò)正確的拓?fù)涿枋?。在網(wǎng)絡(luò)模型中,子網(wǎng)(Sub networks)是可封裝其他網(wǎng)絡(luò)層對(duì)象的最高級(jí)的模塊,而通信節(jié)點(diǎn)(Communication node)是網(wǎng)絡(luò)設(shè)備及業(yè)務(wù)配置的模塊,通信鏈路(Communication links)是用來(lái)顯示網(wǎng)絡(luò)中的各種鏈路模塊[3]。
2.1.1 原網(wǎng)絡(luò)模型
了解實(shí)際的網(wǎng)絡(luò)場(chǎng)景環(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ù)特點(diǎn)來(lái)建立和配置網(wǎng)絡(luò)的業(yè)務(wù)模型。
在新建的project11工程中,定義一個(gè)空的場(chǎng)景Scenario1,并對(duì)原網(wǎng)絡(luò)拓?fù)溥M(jìn)行建模,原網(wǎng)絡(luò)模型主要由中心地、擴(kuò)展地和服務(wù)器地組成。中心地由100名業(yè)務(wù)員組成,主要使用網(wǎng)頁(yè)瀏覽電子郵件和話音會(huì)議作為日常工作。擴(kuò)展地也由100名業(yè)務(wù)員組成,主要使用網(wǎng)頁(yè)搜索、遠(yuǎn)程登錄和電子郵件作為日常任務(wù)。服務(wù)器地由網(wǎng)站、電子郵件和遠(yuǎn)程登錄應(yīng)用的三個(gè)服務(wù)器組成。原網(wǎng)絡(luò)的拓?fù)淠P腿鐖D1所示。在 Internet(ip64_Cloud)下,通過(guò) PPP_DS1_int鏈路分別連接三個(gè)IP路由器(ethrenet4_slip16_gtwy),其中兩個(gè)路由器分別由1000BaseX鏈路對(duì)象連接1000BaseX_LAN,其中LAN對(duì)象中包含100個(gè)工作站,擴(kuò)展地還加一個(gè)具有中間節(jié)點(diǎn)3Com SSII Switch和20個(gè)外圍工作站節(jié)點(diǎn)Sm_Int_Server_wksten,并由Ethernet 10Gbps作為鏈路的星型拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)模型組成;另一個(gè)路由器由1000BaseX鏈路對(duì)象連接Telnet server、Web server和E-mail server三個(gè)服務(wù)器。其網(wǎng)絡(luò)擴(kuò)展的業(yè)務(wù)主要實(shí)施網(wǎng)頁(yè)瀏覽、電子郵件和遠(yuǎn)程登錄業(yè)務(wù)功能,因此,可以從基本的模型庫(kù)中選出Sm_Application_Config模塊和Sm_Profile_Config模塊,在網(wǎng)絡(luò)中配置所有必要的標(biāo)準(zhǔn)和部署與其業(yè)務(wù)特點(diǎn)相對(duì)應(yīng)的預(yù)定模塊。
圖1 原網(wǎng)絡(luò)模型
2.1.2 擴(kuò)展后網(wǎng)絡(luò)模型
根據(jù)具體的環(huán)境提出節(jié)點(diǎn)型擴(kuò)展和局域型擴(kuò)展兩種擴(kuò)展方案,節(jié)點(diǎn)型擴(kuò)展是在原有的網(wǎng)絡(luò)上直接增加拓?fù)涔?jié)點(diǎn)數(shù)量,即增加20名業(yè)務(wù)員;局域型擴(kuò)展是在原有的網(wǎng)絡(luò)上增加小型的局域網(wǎng),即增加含20名業(yè)務(wù)員的星型拓?fù)?。為了?duì)比分析擴(kuò)展后的兩種仿真網(wǎng)絡(luò)的性能變化情況,在project11工程中,復(fù)制Scenario1的場(chǎng)景內(nèi)容,分別命名為Scenario2和Scenario3,其表示將要擴(kuò)展后的兩個(gè)網(wǎng)絡(luò)模型,如圖2所示。
圖2 擴(kuò)展后的網(wǎng)絡(luò)模型
在Scenario2中,節(jié)點(diǎn)型擴(kuò)展網(wǎng)絡(luò)模型是在原網(wǎng)絡(luò)基礎(chǔ)上,對(duì)擴(kuò)展地的交換機(jī)(Switch0)增加20個(gè)拓?fù)涔?jié)點(diǎn),如圖2(a)所示。在Scenario3中,局域型擴(kuò)展模型是在原網(wǎng)絡(luò)基礎(chǔ)上對(duì)擴(kuò)展地的IP router路由器(ethernet4_slip16_gtwy)上,由Ethernet 10Gbps作為鏈路連接一個(gè)新增加的具有中間節(jié)點(diǎn)3Com SSII Switch和20個(gè)外圍工作站節(jié)點(diǎn)Sm_Int_Server_wksten的星型拓?fù)洌钟蛐偷臄U(kuò)展網(wǎng)絡(luò)模型如圖2(b)所示。
節(jié)點(diǎn)域的建模將實(shí)際的節(jié)點(diǎn)分解成為若干個(gè)結(jié)點(diǎn)的模塊,并且如何進(jìn)行數(shù)據(jù)的生成、存儲(chǔ)、傳輸和處理是每個(gè)節(jié)點(diǎn)模塊實(shí)現(xiàn)節(jié)點(diǎn)的某方面重要的行為。用包流線或統(tǒng)計(jì)線進(jìn)行各模塊連接,各節(jié)點(diǎn)的模塊間由服務(wù)器、工作站、交換機(jī)和路由器組成一個(gè)具有完整功能的節(jié)點(diǎn)模型。擴(kuò)建后網(wǎng)絡(luò)的節(jié)點(diǎn)模型,抽象和模擬了實(shí)際環(huán)境中各設(shè)備的工作行為。設(shè)備采用標(biāo)準(zhǔn)OSI七層組成關(guān)系,各層的進(jìn)程模型參照OSI定義的協(xié)議進(jìn)行建模。如圖3是網(wǎng)絡(luò)節(jié)點(diǎn)模型和屬性配置界面。節(jié)點(diǎn)模型從上到下依次由應(yīng)用層(application)、傳輸層(tcp)、網(wǎng)絡(luò)層(ip)、鏈路層(mac)和物理層(hub_rx)組成[4]。
圖3 節(jié)點(diǎn)模型
圖4 傳輸層進(jìn)程模型
進(jìn)程模型作為方案設(shè)計(jì)算法的承載體,由若干個(gè)處理機(jī)制和隊(duì)列模型組成。在開(kāi)始狀態(tài)中,可加載著一個(gè)均勻分布的概率函數(shù),其可以實(shí)現(xiàn)節(jié)點(diǎn)模型的多種行為,轉(zhuǎn)移執(zhí)行函數(shù)可以模擬單個(gè)對(duì)象的行為,也可以調(diào)用概率函數(shù)使有限狀態(tài)機(jī)進(jìn)行建模。在定義轉(zhuǎn)移條件的宏中,各個(gè)狀態(tài)機(jī)的上層出入口內(nèi)可寫入C/C++代碼或協(xié)議編程設(shè)計(jì)的庫(kù)函數(shù)。定義其符合功能模塊的工業(yè)標(biāo)準(zhǔn),各事件節(jié)點(diǎn)控制流的狀態(tài)圖是描述節(jié)點(diǎn)間功能模塊內(nèi)的狀態(tài)和狀態(tài)間的控制流情況[5]。在阻塞和活動(dòng)兩個(gè)狀態(tài)間,其中的進(jìn)程會(huì)一直循環(huán),由阻塞狀態(tài)進(jìn)入活動(dòng)狀態(tài),傳輸層內(nèi)的狀態(tài)轉(zhuǎn)移進(jìn)程模型如圖4所示。
搭建好網(wǎng)絡(luò)的仿真模型后,對(duì)設(shè)計(jì)方案相應(yīng)所需的多個(gè)仿真參數(shù)進(jìn)行搜集。基于結(jié)果收集的范圍,矢量統(tǒng)計(jì)可以分成本地統(tǒng)計(jì)量(local statistics)和全局統(tǒng)計(jì)量(global statistics)兩種,本地統(tǒng)計(jì)量只針對(duì)某個(gè)模塊,其結(jié)果只反映單個(gè)模塊的行為,全局統(tǒng)計(jì)量針對(duì)整個(gè)網(wǎng)絡(luò)模型,只關(guān)注整個(gè)網(wǎng)絡(luò)的行為和性能[6]。為了具體的了解網(wǎng)絡(luò)性能的特征,仿真實(shí)驗(yàn)收集了全局統(tǒng)計(jì)量和本地統(tǒng)計(jì)量。
運(yùn)行仿真前,首要先對(duì)探針編輯器(Probe Editor)的參數(shù)進(jìn)行選擇,根據(jù)設(shè)計(jì)方案把一些探針選到需要采集統(tǒng)計(jì)數(shù)據(jù)上。仿真的任務(wù)就是分析該網(wǎng)絡(luò)在擴(kuò)展前后多個(gè)性能參數(shù)的變化,主要搜集的仿真參數(shù)是全局變量下擴(kuò)展前后的網(wǎng)絡(luò)延時(shí)(Ethernet Delay)及在IP router2和Internet之間,端到端上行的排隊(duì)延遲(queuing delay)、吞吐量(throughput)和鏈路利用率(utilization),把以上的多個(gè)參數(shù)作為結(jié)果分析使用;另外,在運(yùn)行界面前主要設(shè)置運(yùn)行的時(shí)間、采集點(diǎn)的個(gè)數(shù)和采集間隔的參數(shù)等。此軟件具有高效率的仿真引擎和超大荷的內(nèi)存管理系統(tǒng),更好的提高了仿真的運(yùn)行速度。在仿真運(yùn)行過(guò)程中,可以用OPNET自帶的調(diào)試工具OPNET Debugger進(jìn)行調(diào)試,也可以使用交互式的與微軟的VC環(huán)境聯(lián)合的調(diào)試工具,兩種調(diào)試方法極其方便快捷,而且可以及時(shí)中斷運(yùn)行中的仿真程序[7][8]。根據(jù)網(wǎng)絡(luò)情況,設(shè)置仿真的運(yùn)行時(shí)間為1hours,數(shù)據(jù)的采集點(diǎn)為128個(gè),采樣間隔為默認(rèn)方式。其仿真結(jié)果如圖5和圖6所示。
1.原網(wǎng)絡(luò)仿真結(jié)果
圖5 原網(wǎng)絡(luò)仿真曲線
2.擴(kuò)展后網(wǎng)絡(luò)仿真結(jié)果
圖6 擴(kuò)展后仿真曲線
從圖5原網(wǎng)路仿真曲線看出,在仿真開(kāi)始時(shí),原網(wǎng)絡(luò)延遲的值為1.2×10-6s,后瞬間增大到3.3×10-6s,在Internet和IP router2之間,端到端的排隊(duì)延時(shí)為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上下波動(dòng),原網(wǎng)絡(luò)端到端的排隊(duì)延時(shí)在9.3×10-3s處波動(dòng),吞吐量在361209bits/sec處上下波動(dòng),鏈路利用率為23.4。
從圖6(a)看出,在仿真開(kāi)始時(shí),兩種方式擴(kuò)展后的網(wǎng)絡(luò)延遲都比較小,初值分別為1.5×10-6s和1.4×10-6s,后擴(kuò)展的網(wǎng)絡(luò)延遲瞬間增大到峰值,峰值分別為3.6×10-6s和3.5×10-6s。當(dāng)系統(tǒng)趨于穩(wěn)定后,兩種方式擴(kuò)展的網(wǎng)絡(luò)延遲都趨于穩(wěn)定,節(jié)點(diǎn)擴(kuò)展方式的網(wǎng)絡(luò)延遲在3.2×10-6s上下波動(dòng),局域擴(kuò)展方式的網(wǎng)絡(luò)延遲波動(dòng)在3.1×10-6s;與原網(wǎng)絡(luò)相比,節(jié)點(diǎn)擴(kuò)展方式的網(wǎng)絡(luò)延遲高于原網(wǎng)絡(luò)延遲,局域擴(kuò)展方式的網(wǎng)絡(luò)延遲與原網(wǎng)絡(luò)延遲幾乎沒(méi)有發(fā)生變化。擴(kuò)展后兩種方式相比較下,局域擴(kuò)展方式的網(wǎng)絡(luò)延遲小于節(jié)點(diǎn)擴(kuò)展方式的網(wǎng)絡(luò)延遲。
從圖6(b)看出,在仿真開(kāi)始時(shí),兩種擴(kuò)展方式在Internet和IP router2之間,端到端的排隊(duì)延時(shí)最小值分別為0.67×10-3s和0.55×10-3s,峰值分別為14.9×10-3s和15.1×10-3s。當(dāng)系統(tǒng)趨于穩(wěn)定后,端到端的排隊(duì)延時(shí)分別波動(dòng)在9.95×10-3s和9.44×10-3s。與原網(wǎng)絡(luò)相比,兩種擴(kuò)展方式對(duì)網(wǎng)絡(luò)的排隊(duì)延時(shí)都增加,局域擴(kuò)展方式對(duì)網(wǎng)絡(luò)的排隊(duì)延時(shí)影響相對(duì)較小。
從圖6(c)看出,在仿真開(kāi)始時(shí),兩種擴(kuò)展方式中在Internet和IP router2之間,端到端的吞吐量值都為0bits/sec,峰值為562170bits/sec和532794bits/sec,節(jié)點(diǎn)型方式擴(kuò)展的端到端的吞吐量瞬間變化大于局域型方式擴(kuò)展的端到端的吞吐量當(dāng),系統(tǒng)趨于穩(wěn)定后,端到端的吞吐量分別穩(wěn)定于383803bits/sec和358423bits/sec,兩種方式擴(kuò)展相比,節(jié)點(diǎn)型擴(kuò)展的吞吐量大于局域型擴(kuò)展的吞吐量,但局域型擴(kuò)展的端到端吞吐量更接近原網(wǎng)絡(luò)端到端的吞吐量。
從圖6(d)看出,在仿真開(kāi)始時(shí),兩種擴(kuò)展方式中在Internet和IP router2之間,端到端的利用率都為0,利用率瞬間增大到峰值為36.4和34.5,當(dāng)系統(tǒng)趨于穩(wěn)定后,擴(kuò)展后端到端的利用率分別為24.86和23.23。兩者相比較,節(jié)點(diǎn)擴(kuò)展方式端到端的利用率大于局域擴(kuò)展方式端到端的利用率,與原網(wǎng)絡(luò)相比兩種擴(kuò)展方式降低了對(duì)網(wǎng)絡(luò)瞬間的影響,局域型擴(kuò)展的端到端利用率變化較小,而節(jié)點(diǎn)型擴(kuò)展方式的端到端利用率最大。
綜上分析,在服務(wù)器負(fù)載內(nèi),若需要網(wǎng)絡(luò)延遲和端到端排隊(duì)延時(shí)較小的,端到端的吞吐量和利用率變化較小的,選擇局域型擴(kuò)展方式為最佳方案;若不考慮網(wǎng)絡(luò)延遲和端到端排隊(duì)延時(shí),要提高端到端的吞吐量和利用率,選擇節(jié)點(diǎn)型擴(kuò)展方式為最佳方案。
本文對(duì)擴(kuò)展前后的網(wǎng)絡(luò)進(jìn)行了仿真,對(duì)原網(wǎng)絡(luò)基礎(chǔ)上增加相同節(jié)點(diǎn)數(shù)的兩種方式進(jìn)行分析。
仿真結(jié)果表明,兩種方式都對(duì)網(wǎng)絡(luò)性能產(chǎn)生了影響,例如:擴(kuò)展后的網(wǎng)絡(luò)延遲、端到端的排隊(duì)延時(shí)、端到端的吞吐量和鏈路利用率等。根據(jù)仿真分析的結(jié)果,選出了適合所需情況的最佳擴(kuò)展方案。在整個(gè)網(wǎng)絡(luò)仿真過(guò)程中也存在著很多缺點(diǎn),如果需要重復(fù)某次仿真結(jié)果,只需將包括隨機(jī)種子在內(nèi)的參數(shù)設(shè)置為以前取過(guò)的值即可。所以,為了取得一個(gè)可信的仿真結(jié)果,就不能只依靠一次仿真結(jié)果,必須多次改變隨機(jī)數(shù)種子,并對(duì)多次仿真結(jié)果進(jìn)行統(tǒng)計(jì),才能得到可信的結(jié)論。