

摘要:針對計算機網絡課程的特點及教學開展中面臨的問題,探索了“可視化”教學方法的改革。引入網絡分析工具Wireshark,實現了網絡協議語義語法分析及工作機理的直觀展現,降低學生認知網絡理論原理和協議內容的難度,有效提升了課程教學效果,促進了學生實踐能力和創新能力的培養。
關鍵詞:計算機網絡;網絡協議;可視化分析;Wireshark
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2013)01-0242-02
《計算機網絡》課程是目前高校電子信息類本科專業的核心課程,課程既具有較強的理論性又具有較強的實踐性,在教學中是一門相對抽象、不易學好的課程[1,2]。在《計算機網絡》課程的教學實踐中,針對課程以網絡協議體系為主線的特點,引入網絡協議分析軟件,精心設計教學環節,通過教學手段和方法的改進實現網絡協議教學的可視化,激發了學生的學習積極性,強化了學生對知識的理解,有效提升了學生的實踐能力和創新能力培養。
一、計算機網絡課程教學中面臨的挑戰
《計算機網絡》因其自身的課程特點,在教授這門課程時,學生和教師都面臨很大的挑戰。分析其原因,主要表現在以下幾個方面。
首先,《計算機網絡》課程知識結構龐雜,涉及通信、計算機軟件及硬件等專業知識,又涉及協議設計方法、解決通信中容錯、擁塞控制、資源標識、地址解析、路由等復雜的機制與算法,很多計算機及相關專業學生認為學習起來有一定困難。
其次,課程以TCP/IP體系結構為主線,各層的協議數據單元格式和字段語義、協議交互語法抽象,同步控制復雜,使得協議定義及實現成為課程的教學重點和難點。在傳統教學中,教師通常只是使用自然語言解釋協議工作機理,即使引入一些圖表,但圖表也很難將抽象的定義直觀地呈現給學生,學生只能通過抽象思維想象計算機處理的數據形式,教師試圖傳遞的網絡工作“視圖”與學生頭腦中形成的“視圖”不統一,難以達到良好的課堂教學效果。
最后,課程具有較強的實踐性特點。實驗是使學生得以深入理解課堂講授內容直接和有效的手段,也是培養學生動手能力、創新意識和能力的重要途徑。但實際教學中,受教師教學思路、實驗設備環境等因素限制,實驗效果不佳,不能很好地與理論教學相輔相成,相互促進。
為改變《計算機網絡》課程難學、難教的局面,許多教師也嘗試引入一些實驗方法或工具,以提高教學實驗效果,提升學生實踐能力。例如,為使學生理解協議的工作原理,有些學校教師使用一些簡單協議工作原理仿真原件,或讓同學編寫實現簡單通信或協議的主要功能,學生通過操作簡單交互界面,體驗網絡協議工作機理。但這種在應用層通過軟件模擬如丟包、檢錯、尋址等功能更使學生感到虛幻,不能直觀體驗到真正協議的工作過程。我們之前也曾使用NS-2網絡仿真器驗證基本協議,但掌握NS-2的OTCL語言對學生來說是入門的一大屏障,此外,基于NS-2所開展的仿真實驗,需要實驗者具備豐富的網絡協議理論基礎和經驗積累,因此將NS-2平臺應用于本科課程學習,在實踐中發現有較大難度[3]。《計算機網絡》課程教學目標和課程學習能力培養要求,學生需要理解數據通信及網絡的基本概念、基本原理和基本設計方法,重點理解和掌握計算機網絡體系結構中不同層協議的工作原理和過程,以及不同實體之間層協議交互的過程。作為一門理論與實踐并重的課程,通過課程學習和實驗,可以提高學生的動手能力和實踐能力。
經過多年對《計算機網絡》課程教學手段、方法的探索和總結,引入有效工具提高抽象知識的表現、強化實踐環節等可以有效提高課程教學效果。我們在課程教學中引入Wireshark網絡分析軟件,精心設計教學內容,教師由單純的知識傳授者向教學的設計者轉化,實現對協議結構的可視化分析。同時將部分教學內容直接搬進實驗室講授,實現“做中學”,從而提高了學生的學習興趣,有效提升了學生的實踐能力。
二、基于Wireshark網絡協議可視化分析
Wireshark是一款支持Windows、Linux的免費開源網絡協議分析軟件,軟件可以實時捕捉網絡中的各種數據包,進行協議分析,軟件操作界面友好,通過圖表顯示功能直觀反映協議數據結構和工作機理[4]。常規計算機網絡課程中,盡管引入了多媒體教學,但圖片加文字的形式,不能動態、實時地表現網絡實體間協議交互的狀態,理論知識難以有效展現,教學手段不夠豐富。即使制作動畫演示,但是互動性不足,不能隨著參數和場景的變化而調整結果,雖然逼真但并不真實。使用Wireshark軟件工具捕捉并分析各種數據包結構,學生能夠直觀地看到MAC幀、IP數據報、TCP報文段等各種協議數據單元的結構和內容。可視化的圖形本身就是降低理論抽象程度的最直接方法,通過觀察網絡協議實體間交換的報文順序,可以大大提高學生對協議的理解,提高其網絡分析設計能力。通過分析具體報文和相應字段,學生可以發現網絡中的故障所在,可培養其解決問題的能力和創新能力。
(一)教學設計
在課程教學中,引入Wireshark工具分析各層網絡協議的數據單元結構和內容,教學內容設計如表1(見下頁)所示。
(二)Ethernet幀格式和ARP協議分析
分析相應層的協議內容時,預先充分地設計教學過程是關鍵。以數據鏈路層的內容為例,通過教學案例說明基于Wireshark協議分析教學方法。
經過網絡體系結構中第二層“數據鏈路層”的學習,學生具備的知識基礎包括:(1)以太網的MAC幀結構格式;(2)以太網的MAC層硬件地址的概念;(3)地址解析協議APR的作用。另外,要求學生自己查閱并熟練學習使用ARP命令。
教學過程設計:通過“arp-d”命令清空ARP表的內容;啟動Wireshark捕捉數據;向其他主機(如:河南工業大學的萬維網服務器“www.haut.edu.cn”)發送Ping數據包;分析ARP協議執行的全過程。
為了便于將注意力鎖定在Ethernet和ARP協議上,將IP層及更高層協議屏蔽后,捕捉的結果如圖1所示。
課堂上,通過工具捕捉,設定若干問題,引導學生了解和熟悉可視化界面中記錄的數據幀內容,并通過回答這些基本問題來深化對協議和原理的認識。例如對捕捉的ARP request報文,問題設計如下。
1.包含ARP請求報文的以太幀中,源端MAC地址的16進制表示是什么?
2.目的端的MAC地址是什么?是www.haut.edu.cn所在主機的MAC地址嗎?(提示學生:不是)這個目的地址對應某一具體設備嗎?為什么?
3.Ethernet幀結構中,幀首部的類型字段內容對應的十六進制數值是什么?
通過這些簡單問題的引導,學生直觀地看到了以太網中幀結構的形式,同時他們也總結說:發現幀結構沒有想象中那么復雜,字段精簡且作用明確;看到捕捉的ARP數據包中目的地址“Broadcast”的表示,及其對應的MAC地址數據為“ff:ff:ff:ff:ff:ff”,對理解ARP協議的工作原理有種豁然開朗的感覺。
通過上述基本問題的回答,學生理解了網絡協議ARP的格式構成以及網絡命令“apr”的使用。然后,把問題進一步深入,邀請學生思考并分析:問題1:如果允許手動添加一條ARP緩存的項目,如何解決IP地址和MAC地址的對應。假設,手動添加的條目中IP地址是正確的,而MAC地址的信息是錯誤的,會有什么樣的結果?問題2:如果一個局域網觀察到一臺主機提示“IP地址,如192.168.17.201沖突”,如何解決?針對問題,學生一方面分組熱烈討論,一方面動手驗證自己的結論,在實踐中訓練和培養分析問題、解決問題的能力。教學環節結束后,教師要求學生課余下載、閱讀ARP的請求評論(RFC 826)。另外,有同學提出疑問:“所學的ARP協議與聽到的名詞“ARP欺騙”有什么關系?并自行查閱資料研究。學生展開的這些課外學習環節,進一步促進其自主學習能力的培養。
三、小結
本文是2010年度河南省高等學校精品課程“計算機網絡技術”建設中的一項教改成果。借助Wireshark實現對各層協議透視和工作機理研究,學生通過這種“可見的網絡”、“可視的協議”,直觀地觀察到協議實體間信息交換的序列和協議工作細節,深化了對基本概念和基本原理的認識和理解。我校2008級學生受益本課程改革與建設,3名同學共同設計的“物聯網無線結點網絡通信協議軟件”在參加河南省青年創新軟件設計大賽中獲獎。
經過兩年的教學實踐,遵循以上教學思路,筆者進行了課程教學手段及方法的改革嘗試。實踐證明,可視化分析在計算機網絡課程的教學中發揮了重要作用,分解了教學難度,提高了教學效果,實現了課程建設的目標,為今后的教學改進提供了參考。
參考文獻:
[1]James F.Kurose,Keith W.Ross.計算機網絡:自頂向下方法[M].陳鳴,譯.北京:機械工業出版社,2009.
[2]謝希仁.計算機網絡[M].北京:電子工業出版社,2008.
[3]程立,張浩軍,王珂.NS2在計算機網絡課程實驗教學中的應用研究[J].網絡與信息,2009,(10):22-23.
[4]Wireshark User's Guidefor Wireshark1.9[EB/OL].
http://www.wireshark.org/docs/wsug_html_chunked/.2011.
基金項目:河南工業大學2012年重點教研項目(“卓越”軟件人才培養模式創新研究與實踐);河南工業大學2010年教研項目(2010GJYJ-B13,2010GJYJ-B39);河南省教育科學“十一五”規劃2010年課題(面向新興產業工程化網絡專業人才培養研究);河南省精品課程建設立項(“計算機網絡技術”);河南工業大學“計算機科學與技術”優培工程項目
作者簡介:程立,女,講師,研究方向為信息安全;張浩軍,男,教授,研究方向為網絡與信息安全;吳勇,男,講師,研究方向為信息安全。