程 立 張浩軍 王 珂
摘要:在計算機網絡實驗教學中,通過NS2構建網絡仿真環境。能有效地緩解高校網絡實驗室建設的壓力,創新實驗教學方法和手段。本文給出了一個傳輸層控制網絡教學實例,闡述了如何利用仿真技術分析網絡傳輸協議工作原理和性能。結果表明,引入網絡仿真技術實現網絡實驗,能夠有效提高教學效果,有利于學生創新能力和實踐能力培養。
關鍵詞:網絡仿真;NS2;計算機網絡課程
計算機網絡課程在計算機專業的教學體系中占有重要地位,并逐步被引入到其他相關專業的教學體系中。計算機網絡課程具有很強的應用性和實踐性,實驗教學是學生學習課程、深入認識和了解網絡體系結構的關鍵環節。
由于網絡技術發展快,產品更新快,網絡實驗綜合性強,實驗室建設軟硬件投入大,因此,大部分院校很難建設滿足復雜需求的網絡實驗教學環境,直接影響了網絡課程的教學質量和教學效果。將網絡仿真技術應用于計算機網絡課程的實驗教學,是解決上述問題的一種有效途徑。
1網絡仿真平臺NS2
網絡仿真技術是利用相關的軟件,構造網絡拓撲結構,模擬網絡協議的工作過程,設定網絡特征參數對網絡性能進行分析和評測的網絡虛擬技術。目前應用最為廣泛的網絡仿真軟件是NS2(Network Simulator Ver-slon 2),它是一個開源的免費軟件,易于擴展,在學術界廣泛使用。
NS2是一個面向對象的、離散事件驅動的網絡環境模擬器,它提供了在無線或有線網絡上的TCP、路由、多播等多種協議的模擬。NS2使用一整套C++類庫,實現了絕大多數常見的網絡協議以及鏈路層的模型。利用這些類的實例,搭建網絡實驗的模型,可以在單機環境中模擬網絡的各個元素,驗證網絡協議工作原理,自行設計研究新的網絡結構與協議。
NS2構建網絡教學環境的優勢:
(1)實驗室建設投入少。基于仿真軟件,使用者完全可以在單機環境中模擬復雜網絡的各個元素:學校建設和維護實驗室時,可基于原有的網絡設備,只需極少的資金投入就能為大量的學生提供實用的網絡設計與操作環境,并且建好的網絡模型可以延續使用,極大地緩解網絡實驗設備不足等問題。
(2)實驗結果演示直觀。Nam和Xg raph是NS2自帶的動畫顯示工具與靜態數據分析工具,Nam可以將網絡拓撲結構和仿真腳本的運行過程以動畫的形式生動、形象地顯示出來,Xgraph則通過平面坐標圖的形式顯示運行時獲取的數據。這為學生全面、生動地理解抽象的網絡協議和原理提供了可能,這也是引入NS2改革實驗教學的主要目的。

(3)仿真結果可再現并容易分析。通過配置環境參數可以獲得“理想”的網絡環境,可以實時跟蹤并記錄關鍵節點的重要信息,從而獲得關于網絡性能評價的第一手資料。可隨時再現實驗者關心的運行中間環節,這在真實的網絡中是難以做到的。
2基于NS2實現計算機網絡實驗教學的實例
NS2可以演示計算機網絡中大多數協議,這里以TCP和UDP數據流的傳輸實驗為例,說明NS2在教學中的應用,實例的拓撲結構如圖1所示。
這個網絡的環境包含了兩個傳輸節點s1和s2、路由器r和接收端d。s1到r之間與s2到r之間的網絡帶寬都是2Mbps,傳輸延遲時間是lOms。網絡架構中的帶寬瓶頸在r到d之間,帶寬為1.7Mbps,傳輸延遲的時間為20ms。所有鏈路的隊列管理機制都是采用DropTail方式,且r到d之間的最大隊列長度是10個數據包的長度。TCP數據包的長度為1Kbytes。
此外,在s2到d之間的固定傳輸速率的連接(Constant BitRate,CSR),它的傳送速度為1Mbps,每個數據包大小為1Kbytes。CBR是在01秒開始傳送,在4.5秒結束傳輸。FTP是在1.0秒開始傳送,4.0秒結束傳輸。
仿真結束后會產生兩個文件,一個是out nam,供可視化工具Nam使用。圖2是實例仿真過程中隨機時刻的截圖,圖中節點2上方的小方塊表示隊列中的數據。
另一個文件是out.ir,記錄了仿真過程中數據包傳送中所有的事件,可以通過數據的分析得到更詳細、更準確的信息,或用Xgraph以圖表形式顯示網絡狀態,觀察仿真結果,圖3給出了CSR的端到端延遲。起始階段,由于只有CBR的數據包。所以端到端的延遲時間都是固定的。在1.0秒后,網絡多了FTP的數據包,CBR數據包和FTP數據包互相爭奪網絡資源,因此端到端的延遲時間變得不再固定;但等到FTP傳輸結束后,CBR數據包的端到端的延遲時間又恢復為固定值。
上述網絡實驗實例,說明了如何使用工具(Nam、awk和Xgraph)來實現仿真,并在網絡仿真結束后,分析和呈現仿真結果。通過修改腳本中的一些參數,可以調節網絡運行效果,如增大節點2的隊列大小,則可以看到,節點2的丟包率降低了,但同時增加了隊列中包的延遲。從而驗證了網絡原理課程中關于流量控制、網絡擁塞相關原理,使學生深入理解帶寬、傳輸速率、緩存等資源的相互作用與關系;同時,通過學生自行設計網絡控制機制,解決網絡傳輸性能,培養他們創新思維、提供動手能力。這充分體現了實驗教學和理論教學相互促進、不可分割的規律。
3結論
在計算機網絡發展日趨復雜化的今天,計算機網絡課程教學不僅要求理論教學內容現代化,對實驗教學內容也要逐步現代化。通過不斷探索和研究先進的教學思想以及教學方法和手段,改善教學效果、提高教學質量。在此,引入了網絡仿真工具NS2作為一種教學輔助手段,是對計算機網絡課程教學的一種有益的探索。
下一步工作重點是對NS2進行二次開發,進一步完善和細化仿真實例,構建全面的協議代碼庫,支撐全面驗證網絡原理中協議和控制機制相關實驗。