高職計算機網絡課程教學研究論文(2)
高職計算機網絡課程教學研究論文
高職計算機網絡課程教學研究論文篇二
《計算機網絡課程教學中網絡仿真輔助教學方法的探討》
摘要:針對計算機網絡課程內容枯燥乏味,抽象難懂,實驗受限等特點,文章探討使用NS-2網絡仿真工具進行輔助教學的方法,根據教學過程中的不同階段,面向不同能力、不同興趣的學生實施階梯式教學,從而提高學生的學習興趣、加深他們對課程內容的理解,增強他們的創(chuàng)新能力。
關鍵詞:計算機網絡;網絡仿真;NS-2
隨著計算機和網絡技術的飛速發(fā)展,網絡應用已經成為計算機應用中的一個重要領域。為了培養(yǎng)計算機網絡應用人才,各大高校都開設了計算機網絡課程,針對不同層次的學生,介紹計算機網絡體系結構和計算機網絡各個層次的協(xié)議及其工作原理,以及一些專題內容,如網絡安全,計算機網絡的最新進展等。然而,由于計算機網絡課程的理論性、抽象性、實踐性和應用性都比較強,在傳統(tǒng)的教學模式中,課堂教學仍以教師講授理論為主,在實驗環(huán)節(jié)只安排少量的簡單的配置和驗證性實驗,因此大多數學生感覺該課程比較抽象空洞,難以理解和掌握,很難在日后工作中學以致用[1]。本文結合多年網絡研究的經驗,探討了如何在計算機網絡課程教學的各個環(huán)節(jié)中使用加州大學伯克利分校開發(fā)的網絡仿真器NS-2(Network Simulator,Version 2),構建虛擬的仿真教學環(huán)境進行輔助教學,從而增進學生對網絡體系和網絡協(xié)議的理解、提高他們的實踐能力、設計能力和研究能力。
1NS-2仿真器的特點和功能
計算機網絡是一個大型復雜系統(tǒng),如果采用建立實驗床的方法對其進行演示、分析和研究的成本比較高,主要表現在網絡規(guī)模難以做大,靈活性受限,較難進行重新組網以及實驗資源的共享,網絡中多種通信流量以及多種拓撲的融合很難實現。另外,在教學過程中,實驗的準備工作比較復雜,時間花費比較多。目前,在網絡通信技術研究過程中,通常采用網絡仿
真的手段來進行新協(xié)議的設計與驗證。NS-2是一個面向對象的基于離散事件驅動的開源網絡仿真工具,功能強大、配置方便、擴展性好,既可以利用已有的模塊對各類網絡拓撲、網絡協(xié)議以及網絡性能進行模擬分析,也可以利用它所提供的用戶接口,將自己開發(fā)的模塊集成進去,從而實現對已有協(xié)議的改進與新協(xié)議的開發(fā)測試,因而它成為了目前通信網絡領域最流行的網絡仿真工具之一[2]。
NS-2具備豐富的網絡協(xié)議組件和強大的功能模塊,可以模擬大部分的網絡場景,能夠仿真有線網和無線網(包括衛(wèi)星網、AD hoc網絡)、局域網和廣域網,可以模擬各個層次的協(xié)議。它的主要功能如下:
1) 網絡場景的快速生成??梢岳酶鞣N開源工具(如nsBench、NSG、setdest、cbrgen)自動產生仿真腳本,實現不同類型及規(guī)模的網絡場景的快速生成。
2) 網絡節(jié)點和鏈路的配置??梢允謩泳帉懛抡婺_本文件配置各種類型的網絡。比如對各節(jié)點的能量、節(jié)點上的協(xié)議代理、業(yè)務源流量產生器和接收器的設置;對各鏈路上的帶寬、延遲的設置,對隊列管理機制的選擇和設置,如:Droptail,RED,CBQ,以及各種公平隊列(FQ、SFQ、DRR)等。
3) 網絡協(xié)議的選擇與配置。NS-2中通過代理實現了鏈路層、網絡層、傳輸層等不同網絡協(xié)議,如鏈路層的802.1、802.3協(xié)議;網絡層的路由協(xié)議,其中包括分層路由、廣播路由、多播路由、靜態(tài)路由、動態(tài)路由等協(xié)議;傳輸層的TCP和UDP協(xié)議等。
4) 各種類型網絡應用的模擬。可以通過控制分組的大小和發(fā)送速率來模擬真實網絡中的應用,如鏈路層的802.1、802.3協(xié)議,FTP、Telnet等。
5) 仿真過程的動態(tài)顯示。使用NS-2提供的動畫演示程序NAM,可以動態(tài)地演示各種網絡及協(xié)議的行為過程。
6) 可以根據仿真結果進行協(xié)議的性能分析。在仿真程序運行過程中,每個分組的到達、離開鏈路或隊列,甚至分組被丟棄等信息,都會被詳細地記錄在Trace文件中,可以利用gawk提取、分析數據,數據的分析結果可以使用NS-2提供的Xgraph軟件、或者交互式畫圖軟件gnuplot等形象地展現出來。
2使用NS-2輔助完成階梯式教學
雖然NS-2所提供的強大功能可以滿足計算機網絡課程的教學需求,但是在教學應用的過程中還存在一些問題。首先,由于NS-2是開源軟件,版本不斷更新,導致它的安裝過程比較復雜,有時不容易安裝成功,這很容易引發(fā)學生的畏難情緒。其次,NS-2提供了龐大的源代碼,包含龐大復雜的網絡體系,學生很難在短時間內理解透徹。第三,NS-2采用C++語言和OTcl語言(MIT開發(fā)的面向對象的Tcl腳本語言)共同編寫,仿真過程的設計雖然只需用OTcl語言編寫腳本,但學生也很難熟練掌握。鑒于以上問題,我們針對學生學習的不同階段和不同的學習能力,設計了階梯式的NS-2輔助教學方法,在教學的過程中,因材施教,層層遞進[3]。在課堂教學中,利用仿真運行過程的動畫演示,幫助學生掌握知識難點,提高學生的學習興趣。在實驗教學中,事先設計好仿真腳本程序,并在實驗指導手冊中詳細給出實驗步驟,盡量減少學生編寫代碼的負擔,降低他們的畏難情緒,從而使他們能夠將精力集中在仿真結果的分析和網絡課程的學習上來。在課程設計與畢業(yè)設計階段,可以對學習能力強、對網絡研究比較感興趣的同學布置協(xié)議分析與設計類型的題目,為進一步從事網絡方向的學習、研究與工作打好基礎。
2.1課堂教學
計算機網絡課程中概念很多,網絡體系機構與各層的協(xié)議的工作原理是學生普遍反映不容易掌握的難點。對于這些原理性問題,有時即使通過豐富的多媒體課件演示,學生依然覺得空洞,只知其然不知其所以然。比如在講授以太網的載波監(jiān)聽多路訪問/碰撞檢測(CSMA/CD: Carrier Sense Multiple Access with Collision Detection)技術時,雖然通過講解和多媒體演示,學生能夠理解沖突檢測和退避策略,但是這種技術的采用究竟對整個局域網的性能(如:數據延遲、吞吐量)有何影響,他們很難有體會。此時,如果能夠使用NS做一下實際網絡的模擬,既形象生動,又可以進一步加深學生對知識的理解,提高他們的分析能力。圖1展示了以太網上的資源共享和競爭機制。演示完后,教師還可以通過分析仿真過程生成的Trace文件使學生進一步理解數據發(fā)送時的信道監(jiān)聽與等待,如圖2所示,當數據包當前狀態(tài)被標記成“h”時,表示該節(jié)點在等待信道空閑以便發(fā)送數據,當多個數據源同時發(fā)送數據時,可能會造成數據丟包現象,此時需要采用避讓策略,可以利用Trace文件中記錄的信息對某一時期網絡吞吐量進行計算,當數據源增多時,網絡的吞吐量并非線性增長,這就說明了信道競爭會對以太網的吞吐量造成一定的影響。
再比如,NS中提供了的各種改進的TCP版本的協(xié)議,囊括了TCP的慢啟動、擁塞避免以及快速重傳和快速恢復機制。在課堂上,可以通過NAM觀看數據報文和ACK報文的發(fā)送過程,如圖3所示,學生可以觀察動畫窗口,同時也可以通過監(jiān)視窗口了解當前數據報文和ACK報文的序號,窗口的大小以及隊列的長度等信息。教師還可以分析仿真結果,以圖表的方式對不同版本的協(xié)議進行比較,加強學生對協(xié)議工作原理的理解。如圖4所示,當TCP采用慢啟動機制時,滑動窗口的大小是指數增加的,而如果沒有采用慢啟動機制,窗口則是固定大小,這樣很快就會發(fā)生擁塞,使滑動窗口大小重置,數據包被丟棄。
2.2實驗教學
實驗教學是課堂教學的有力補充,計算機網絡課程的實驗內容可以分為以下幾類,網絡設備和網絡操作的基本認知,網線制作、局域網的組建,網絡操作系統(tǒng)的配置,路由協(xié)議的配置以及網絡應用系統(tǒng)的設計等[4],這些實驗都受實驗室條件的限制,因此在實驗安排上可以適當設計一些仿真實驗,既可以解決實驗室資源等問題,也使學生對課堂教學中的理論知識有更真切的感受。
實驗教學可以從以下幾個方面展開:實驗的準備,實驗內容安排,實驗過程,實驗結果分析與實驗報告??紤]到NS的復雜性以及學生個體的差異,教師需要對每個實驗進行充分的準備,將本次實驗所涉及到的NS模塊、相關協(xié)議的參數以及實驗內容和操作步驟都寫入實驗指導書,根據學生的情況,還可以指導他們在自己的機器中安裝NS,這樣便可以進行課外實驗。在實驗內容的安排上,可以指導學生通過NS搭建網絡仿真平臺,直觀地了解各協(xié)議的行為,掌握它們的工作原理,還可以指導學生修改協(xié)議參數了解各種因素對網絡帶來的影響。比如,在講完網絡互連這一章時,可以安排學生在NS 環(huán)境中搭建一個網絡,詳細了解各種路由協(xié)議的工作原理,還可以指導學生對不同路由協(xié)議的各項性能指標進行對比。再比如:設計一個網絡,請同學對比一下FTP流和CBR流的傳輸特性,深入理解面向連接的應用和無連接應用的區(qū)別。另外,也可以把課堂演示的實驗請同學重做一遍。在實驗課上,可以進行分組實驗,任命接受能力強的同學為組長,參考實驗指導書的內容,帶領本組同學順利完成實驗。對有條件的同學,還可以組織他們進行課外實驗。每次實驗結束后,要求學生分組進行實驗結果的分析和討論,并完成實驗報告。
總之,NS仿真實驗作為其他類型實驗的補充,可以鞏固學生對課堂知識原理的理解,激發(fā)他們探索網絡世界的興趣。
2.3課程設計
計算機網絡課程的課程設計內容大都側重于計算機網絡的工程應用,通常安排學生進行某校園網或企業(yè)網的網絡規(guī)劃,然而,對學生完成的網絡規(guī)劃,很難做出客觀全面的評價。我們認為,對于一些基礎比較好,熱衷于網絡研究的同學,可以建議他們利用NS來規(guī)劃網絡。
課程設計的時間一般安排為1~2周,分為以下幾個階段進行:選題、方案設計、方案實施、總結與答辯。課程設計題目可以分為兩大類,一類題目由教師設計好網絡環(huán)境,請同學們修改參數,并學會分析仿真結果,做出網絡或協(xié)議特性或性能的總結,另一類可以請同學們自己設計網絡環(huán)境,并在此環(huán)境之上做些探索性的實驗,比如,要求學生設計一個規(guī)模比較大的廣域網,采用分層路由,并為不同的網絡域設置不同的路由算法,考察一下網絡中各協(xié)議的行為與性能。學生可根據自己的能力與興趣選取合適的題目。在方案設計階段,要求學生繪制好網絡拓撲圖,設計好實驗網絡場景,配置好合理的實驗參數,并提出預想的實驗結果。教師須對學生的設計方案進行審核,提出修改建議。在實施階段,學生需要充分運用隨機過程和統(tǒng)計學原理,每類實驗都需要進行多次,以保證實驗結果的可信度。在實驗數據的統(tǒng)計結果上,要求同學以圖表的形式進行對比分析,并參加課程設計的答辯。
課程設計環(huán)節(jié)在實驗教學的基礎上進一步強化了學生的分析問題、解決問題以及動手實踐的能力。
2.4畢業(yè)設計
到了畢業(yè)設計階段,可以設計一些研究性的題目,引導準備從事計算機網絡研究的同學參加教師的科研項目,拓展他們的網絡視野,提高他們的操作能力和創(chuàng)新能力。畢業(yè)設計的時間通常有2~3月,可以分為以下幾個部分進行:選題、文獻閱讀、NS網絡環(huán)境的搭建、協(xié)議的設計、協(xié)議的分析與比較,論文撰寫與答辯。在畢業(yè)設計論文的選題階段,教師一定要根據學生的實際能力與興趣點來推薦題目,可以請學生就NS的某一模塊深入了解,或者對某個不熟悉的網絡深入了解研究,協(xié)同老師完成協(xié)議或算法的改進。題目定好后,教師要向學生下達明確詳細的任務書,并幫助學生制定好進度表。然后,通過文獻閱讀使學生熟悉網絡特點或協(xié)議以及相應的NS模塊,并完成NS平臺的搭建,熟練掌握NS2的組網方法。接下來,指導學生進行新協(xié)議的設計或仿真場景的設計,并通過統(tǒng)計方法對仿真結果進行性能分析,完成
畢業(yè)論文的撰寫和答辯任務。
通過畢業(yè)設計,不僅訓練了學生掌握了大型應用程序的架構,培養(yǎng)了團隊合作的開發(fā)精神,同時也提高了他們研究能力以及面向對象編程的能力。我們曾經指導畢業(yè)生完成“無線傳感器網絡中以數據為中心的路由算法”以及“ad hoc網絡中路由協(xié)議的分析與比較”等論文,都取得了良好的成績,這也證實,部分畢業(yè)班學生確實有能力完成一些研究性的工作。
3結語
如何快捷真實的重現網絡場景,形象生動的展示網絡行為,使課堂教學活躍、實驗任務多樣,課程設計、畢業(yè)設計能調動學生的積極性,發(fā)揮學生的創(chuàng)造性,是計算機網絡課程教學中值得大家探討的問題。NS-2網絡仿真器以其開放的接口、強大的功能深受網絡科研人員的喜愛,同時,它也提供了很多的教學案例以及教學演示工具,因此也可以作為一個輔助工具,與其他教學方法相結合,很方便得應用于計算機網絡課程不同階段的教學中,解決傳統(tǒng)教學模式下產生的以上問題。使用NS輔助教學雖然優(yōu)化了教學過程、提高了學習效率,但是也給教師提出了新的挑戰(zhàn),要求教師不僅要熟悉NS的開發(fā)體系,同時要根據教學內容選擇制定合適的教學案例,只要教師要能夠揚長避短、循序漸進、因材施教,就能使NS在教學中發(fā)揮最大的作用。
注:南京師范大學計算機軟件技術基礎教學團隊資助項目。
參考文獻:
[1] 弋改珍. 網絡仿真在網絡課程教學中的應用與實踐[J]. 湖州師范學院學報,2008,30(2):120-123.
[2] UCB/LBNL/VINT. Network Simulator ns-2[EB/OL]. [2010-01-14].
[3] 李敏,王建新,王偉平.“計算機網絡”課程的階梯化教學研究[J]. 計算機 教育,2009(22):100-102.
[4] 姜宏岸,趙啟升,伍俊明. 計算機網絡類課程實驗教學研究[J]. 計算機教育,2009(21):128-130.
高職計算機網絡課程教學研究論文相關文章: