弋改珍
Ethernet已經(jīng)成為局域網(wǎng)的事實標準,它在局域網(wǎng)市場上的占有率超過90%。隨著計算機價格的下降,組建并運行局域網(wǎng)不是一件非常難的事情。然而,在網(wǎng)絡教學中,如何去體會和理解局域網(wǎng)中協(xié)議的運行機理不是一件容易的事情。
網(wǎng)絡仿真是一種使用軟件模擬實際網(wǎng)絡的運行,跟蹤記錄網(wǎng)絡運行過程中的各種參數(shù),對不同類型的數(shù)據(jù)進行分析,得出網(wǎng)絡性能的評估結(jié)果的方法。網(wǎng)絡仿真工具多種多樣,其中應用較為廣泛的是NS2[1](SimulationNetworkversion2)。
1.NS2 的特點:(1)采用面型對象、離散事件驅(qū)動的仿真方法,便于對實際網(wǎng)絡建模,仿真效率高,系統(tǒng)易于擴展。(2)采用兩種語言即C++和Otcl,兼顧仿真效率和系統(tǒng)建模的靈活性??梢允褂肙tcl進行仿真場景配置,采用C++編寫網(wǎng)絡組件擴充系統(tǒng)的仿真能力。(3)支持802.3Mac協(xié)議;可生成指定的業(yè)務流;支持鏈路失敗、出錯處理。(4)仿真結(jié)果使用NAM進行動態(tài)顯示。
2.Ethernet 仿真原理
LAN連接實現(xiàn)網(wǎng)絡協(xié)議棧中低三層的功能:邏輯鏈路層(LL)、介質(zhì)訪問控制層(MAC)、物理層。
物理層有兩個仿真對象:Channel和Classifier/Mac。Channel仿真共享介質(zhì),并在發(fā)送過程中支持MAC對象的介質(zhì)訪問機制;接收時,Classifier/Mac負責將復制包傳送給接收的MAC對象。
MAC依賴物理層的功能完成載波偵聽、沖突檢測和沖突避免等功能,CSMA/CD的所有功能都在MAC對象中實現(xiàn)。
鏈路層實現(xiàn)排隊和地址解析。Queue實現(xiàn)發(fā)送隊列機制,LL對象實現(xiàn)地址解析。
每個局域網(wǎng)中有一個默認的LanRouter對象,該對象在局域網(wǎng)初始化時被創(chuàng)建。對于LAN上的每一個節(jié)點,鏈路層對象(LL)有一個指向LanRouter的指針,它能為局域網(wǎng)上發(fā)送的每個包找到目的節(jié)點[2]。
根據(jù)NS2仿真所使用的語言,仿真分為解釋層和編譯層。解釋層用來配置仿真場景及參數(shù);編譯層用來實現(xiàn)仿真元素,如物理層、鏈路層、MAC協(xié)議等。
1.配置網(wǎng)絡場景
圖1構(gòu)架了一個總線型的以太網(wǎng),總線上共有0-7號站點,總線帶寬為10Mb,延時為30ms,0號節(jié)點為發(fā)送者,6號節(jié)點為接收者。在二者進行通信的過程中,分別設定延時為15ms、20ms、25ms、30ms、35ms、40ms時,改變其帶寬,分別為2Mb、4Mb、6Mb、8Mb、10Mb、12Mb、14Mb,來分析時延、帶寬與吞吐量之間的關系。仿真時間4.5秒。
圖1Ethernet 拓撲圖
2.仿真結(jié)果分析
仿真結(jié)果以兩種形式給出,一種是使用NS提供的動畫軟件NAM,可以動態(tài)地演示局域網(wǎng)通信的整個過程。
由于LAN只實現(xiàn)了OSI參考模型的低三層功能,缺少傳輸層和應用層。在仿真LAN時,為了仿真數(shù)據(jù)包在LAN中的傳送過程,仿真實例中加入了9號節(jié)點,它具有傳輸層功能,作為0號節(jié)點和6號節(jié)點通信時的數(shù)據(jù)源。
第二種仿真結(jié)果是以trace文件形式給出。
圖2 吞吐量隨時延、帶寬的變化情況
仿真結(jié)束后,使用grep和gawk數(shù)據(jù)處理工具對trace文件中的數(shù)據(jù)進行處理,得到網(wǎng)絡吞吐量隨時延和帶寬的變化情況如上圖2所示。
從圖2可以看出,當總線上延時和帶寬分別為10Mb、30ms不變時,0號給6號傳送數(shù)據(jù),當設定延時不變時,隨著帶寬的增大,吞吐量會隨之增加;但是當帶寬的值增加到超過總線上總帶寬時,吞吐量保持不變;當設定帶寬值不變時,網(wǎng)絡的吞吐量隨著延遲的增加大而減小。
NS2已經(jīng)成為一個廣泛應用的網(wǎng)絡仿真工具,其中集成了大量典型的有線、無線甚至衛(wèi)星網(wǎng)絡下各個層協(xié)議,同時NS2研究者及用戶又在對NS2進行不斷的修改和完善。NS2的這種開放性,使得NS2在教育和研究方面有著廣泛的應用。
本文使用NS2仿真Ethernet網(wǎng)絡的通信過程,特別是使用NAM工具動態(tài)演示了Ethernet的通信原理。通過演示,可以直觀地看到網(wǎng)絡協(xié)議的行為,了解各種環(huán)境或者因素對網(wǎng)絡帶來的影響。為了進一步深入研究,本文通過相關工具對仿真結(jié)果進行分析,給出網(wǎng)絡吞吐量與時延、帶寬之間的關系。研究的步驟和結(jié)果對于仿真技術(shù)在網(wǎng)絡課程教學中的應用具有一定的借鑒作用。
[1]徐雷鳴.NS2 與網(wǎng)絡模擬[M].北京:人民郵電出版社,2006,11.
[2]Kevin Fall.Thens Manual(for merlyns Notes and Documents)[OL].2012.