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

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

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

圖3 節點模型

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

圖5 原網絡仿真曲線
2.擴展后網絡仿真結果

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