計算機網絡數據鏈路層教學研究_第1頁
計算機網絡數據鏈路層教學研究_第2頁
計算機網絡數據鏈路層教學研究_第3頁
計算機網絡數據鏈路層教學研究_第4頁
計算機網絡數據鏈路層教學研究_第5頁
免費預覽已結束,剩余7頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、    計算機網絡數據鏈路層教學研究    畢坤+殷俊+劉廣鐘+韓德志摘要:針對學生普遍反映的計算機專業課程偏重理論、內容抽象、難以理解和運用的問題,以計算機網絡數據鏈路層3個基本問題的解決方案為例,討論、分析和擴展相關理論的內涵與外延,以聊天軟件消息傳輸和軟件數字簽名的程序設計為典型案例,分析上述基礎理論與實際軟件開發之間的共同點和內在聯系,運用基礎理論解決實際軟件開發問題,交流計算機教學中理論與實踐結合教學法的優點、體會和教學案例。關鍵詞:計算機網絡;數據鏈路層;幀定界;透明傳輸;差錯檢測;案例教學計算機網絡課程配套實驗通常都是實戰型實驗。通過實驗,

2、一方面,能夠幫助學生掌握一些具體的網絡配置和維護技能,比如,制作網線,配置交換機,配置路由器,配置應用層web、ftp、dhcp服務等;另一方面,也能夠幫助學生更好地理解課本上相關的網絡原理和知識點。因此,計算機網絡課程受到學生的普遍歡迎。學生在學習過程中,很容易將計算機網絡課程與網絡管理和維護聯系起來,對計算機網絡課程的認識,還存在以下幾個誤區:(1)認為學習計算機網絡課程只是為今后從事網絡管理和網絡維護工作打下基礎;(2)對計算機網絡課理論內容興趣不大,只對直觀的、實戰性強的內容有興趣;(3)認為計算機網絡技術已經比較成熟,無須再去認真學習,只要使用當前已有的網絡設備和網絡技術即可。在計算

3、機網絡教學中,對于直觀上實戰性較強的內容,學生普遍表現出較高的學習興趣,但對于比較抽象化或理論化的內容,學生通常會質疑學習這些內容的意義和價值,該現象在高校教學中普遍存在。解決該問題的一種有效方法就是將理論與實際應用相結合,通過分析和舉例,講解抽象理論背后的思想與實際工程項目之間的內在聯系并加以擴展,給學生較大的啟發,并引起學生的注意和興趣。筆者所在的網絡教研小組使用的計算機網絡教材是謝希仁教授編著的計算機網絡(第6版),本文以該教材中數據鏈路層要解決的3個基本問題(封裝成幀、透明傳輸和差錯檢測)為例,介紹相關知識點的內涵和外延,對知識點內容進行擴展,并舉例說明相關理論如何與具體應用相結合,解

4、決實際問題。1.幀定界的原理與實踐對于封裝成幀的原理,教材已經給出了清晰的論述。封裝成幀的主要功能包括幀定界、定義和填充數據鏈路層使用的各控制字段等,本節主要論述幀定界的相關原理與具體應用。1.1幀定界的原理對于幀定界的功能,主要從以下兩個方面進行理解。一方面是自頂向下分析,來自網絡層的、獨立的ip數據報,在數據鏈路層需要封裝成幀,從而形成各自獨立的傳輸單元通過物理層發送出去;另一方面是自底向上分析,數據鏈路層需要處理來自物理層的比特流,需要從比特流中區分出每一幀的開始比特和結束比特,因此也需要有一種封裝成幀的機制,能夠從比特流中提取出各個數據幀。如果數據幀之間的發送存在時間間隔(如以太網),

5、幀定界則能夠自然實現;但如果數據幀的發送是連續的,則需要幀定界機制。幀定界的主要思想是使用幀定界符標識數據幀的起始和結束,幀定界符添加在數據幀的首部和尾部。幀定界符的本質是一串事先定義的0-1比特序列。1.2幀定界原理的具體實踐幀定界原理解決了數據鏈路層的數據幀定界和數據幀提取問題,其實現思路并不難理解。為了讓學生對該原理進行更深入的思考、理解和靈活運用,在講解tcp協議面向流的傳輸機制時,可以將tcp流的特點與幀定界原理相結合,討論如何解決基于tcp協議的聊天消息發送和接收問題。tcp協議面向流的傳輸特點比較抽象,含義豐富,對于初學者,難以理解這些機制背后的含義。與面向報文的udp協議不同,

6、tcp傳輸是面向流的,提示學生去思考“若基于tcp協議實現聊天消息發送和接收,該方案是否可行,是否存在待解決的問題”。根據筆者的教學經驗,對于初學者,很難想到直接使用tcp傳輸聊天消息存在接收者無法從tcp數據流中自動提取出每個消息的問題。因為tcp是面向流的,消息和消息之間在tcp流中無間隔。當給學生提示該問題時,很多學生表露出恍然大悟的表情,對于tcp面向流的重要特性也自然能夠理解(本文對tcp面向流的其他含義不做介紹)。然后,引導學生再次回顧數據鏈路層幀定界要解決的問題和解決原理,分析該問題與幀定界問題的共同點,引導學生去思考如何利用幀定界原理去解決基于tcp協議的聊天消息發送和接收問題

7、。學生平日使用oo等通信工具比較多,對如何實現聊天消息傳輸比較有興趣,通過分析該實際軟件的需求與解決方案,讓學生既理解了tcp面向流的重要含義,同時也對幀定界問題的內涵有更多的理解,借鑒幀定界的解決思路,解決tcp數據流中用戶消息間的定界問題。筆者講授相關內容時,與學生討論如何實現基于tcp協議的聊天消息的發送和接收問題,調動了學生的興趣和積極性,加深了對知識點的理解,同時也啟發學生去思考如何靈活運用相關知識點解決實際問題,取得了較好的教學效果。2.透明傳輸的原理與實踐2.1透明傳輸的原理透明傳輸問題是從幀定界問題引入的,解決數據幀的數據部分若出現幀定界符則會破壞幀邊界的問題。透明傳輸的實現原

8、理包括字符填充法和零比特填充法等。其本質都是對數據部分出現的幀定界符進行轉義或修改,也包括對轉義字符的轉義等,實現機理不難理解。2.2透明傳輸原理的具體實踐對于透明傳輸原理的具體實踐,仍以“如何實現基于tcp協議的聊天消息的發送和接收”為例,同樣,需要在學習了tcp傳輸的特點后進行討論。在1.2小節論述內容的基礎上,繼續探討“若將幀定界機制引入基于tcp協議的消息傳輸中,是否同樣會存在消息透明傳輸的問題和需求”,即在消息的內容部分是否會出現消息定界符比特序列的問題。若存在該問題,如何在消息傳輸時解決。然后,提示學生思考,若直接借鑒數據鏈路層幀的透明傳輸方案,該如何解決消息透明傳輸的問題;接著討

9、論若不采用透明傳輸的方案,是否存在其他解決途徑。 筆者講授相關內容時,與學生討論該問題,啟發學生從多角度思考解決問題的方法,以透明傳輸為例,思考提出的解決方案是否會引入新的問題,并將透明傳輸的原理與基于tcp的消息傳輸解決方案相結合,將多個知識點綜合運用,解決聊天消息傳輸的具體軟件開發問題,提高了學生分析和解決問題的能力,學生表現出較大的興趣和參與度,教學效果良好。3.差錯檢測的原理與實踐3.1差錯檢測的原理差錯檢測用于判斷接收的數據幀是否存在傳輸錯誤,在講解具體實現機制之前,首先向學生介紹該問題的難點在于接收者事前并不知道發送者要發送的數據內容,在該情況下去判斷接收的內容是否正確,看起來像是

10、一個悖論;接下來留給學生一定的時間去思考該問題,然后介紹差錯檢測的原理。用于數據鏈路層的典型差錯檢測方法是以crc算法為代表的檢錯方法,該方法在教材上有詳細描述。以crc算法為代表的檢錯方法的核心思想是對要發送的數據進行計算,生成校驗碼,然后把數據與校驗碼同時傳輸給接收者,接收者對收到的數據和校驗碼再次進行相同的校驗計算,判斷在傳輸過程中是否存在傳輸錯誤。3.2差錯檢測方法的擴展在介紹完crc算法的原理與計算細節之后,對差錯檢測章節的內容進行如下擴展。用于數據鏈路層的校驗方法都屬于檢錯方法類別,除crc算法外,典型的檢錯算法還包括消息摘要算法(如md5算法)、安全散列算法(如sha算法族)等。

11、除檢錯技術外,糾錯技術的應用也十分廣泛。在糾錯技術方面,存在奇偶校驗、海明校驗等典型的糾錯算法,crc算法本身也具有一定的糾錯能力,但對crc生成多項式和校驗數據的長度有要求。檢錯和糾錯的能力與碼距有關。除了上述典型的糾錯算法外,還存在多種基于復雜數學運算的糾刪碼(erasure code)技術。由于課時量有限.上述技術只能給學生簡要的介紹,讓學生對差錯的檢測和糾正有更加全面的認識,拓展學生的知識面,感興趣的學生可以課后自行學習相關內容。學生通常會產生兩個疑問:第一個是為什么數據鏈路層的檢錯方法選擇了crc算法,而不是其他的檢錯算法;第二個是為什么數據鏈路層選擇了檢錯機制而不采用糾錯機制。第一

12、個問題可以從以下方面分析:crc-32算法的檢錯能力本身已經比較強大,檢錯率很高,達到了數據鏈路層差錯檢測的要求;crc算法能夠對輸入的數據進行流式計算,網絡適配器接收比特流的同時可以通過硬件即時完成crc校驗。第二個問題可以從以下方面分析:一方面物理通信鏈路比特流傳輸錯誤通常是受某種影響而產生的突發性錯誤,出錯的位置可能包含多個連續或非連續比特,若選用糾錯碼,需要使用糾錯能力非常強的糾錯算法,這些算法計算量比較大,而且在出錯比特數量比較多的情況下,甚至無法糾正全部錯誤;另一方面,當前物理鏈路的可靠性非常高,誤碼率很低,使用檢錯算法既能檢測比特錯誤,又因為其計算量相對較小,因此對數據流的處理速

13、度影響較小,若檢測到錯誤,可以采用重傳或者交給高層協議處理等方式解決。3.3差錯檢測的具體應用差錯檢測技術的本質是檢測給定的數據是否存在比特錯誤,該技術不僅適用于數據鏈路層的差錯檢測,也適用于其他需要進行數據錯誤檢測的場景。典型的檢錯算法包括crc-32、md5和sha-1等。差錯檢測技術的另一個典型應用是軟件的數字簽名。軟件供應商發布一款軟件后,用戶可以通過各種途徑獲取到該軟件,典型的來源包括官方網站下載、第三方網站分發、u盤拷貝、光盤傳播等,提示學生思考如果軟件是從第三方網站上下載的或者是從其他同學的計算機里拷貝的,如何保證該軟件在傳播過程中沒有被修改、沒有中病毒或者木馬呢?學生對該問題都

14、很有興趣,這也是學生經常面臨的實際問題。通過對該問題進行討論,分析差錯檢測技術的具體應用非常有代表性。首先,為了使學生對該解決方案有直觀的感性認識,可以打開一款帶有數字簽名的軟件,例如官方下載的qq軟件,然后右鍵點擊軟件,選擇“屬性”,可以看到屬性中的數字簽名頁面的信息,如圖1所示;接下來點擊“詳細信息”按鈕,則會彈出新的對話框,出現“此數字簽名正常”的提示,如圖2所示。關于數字簽名的詳細信息可以點擊“高級”標簽頁查看,關于數字證書自身的信息可以點擊“查看證書”按鈕查看。為加強演示效果,可以使用二進制編輯器把qq軟件中的部分字節修改或者刪除,然后再次點擊軟件的屬性,會發現數字簽名的頁面消失了,

15、如圖3所示。需要說明的是,把軟件的某些字節修改后,數字簽名頁面可能仍然存在,但是點擊“查看證書”按鈕,則會出現“此數字簽名錯誤”的相關提示。演示至此,學生都很感興趣,也對差錯檢測有了更深刻的認識。然后提示學生思考數字簽名技術應該如何實現,思考該技術與差錯檢測之間的關聯。數字簽名算法本身由多種摘要算法和非對稱加密算法等組合而成,其關鍵功能之一就是如何鑒別軟件在發行后是否被惡意修改過。至此,將差錯檢測算法與具體的軟件數字簽名技術結合起來,其解決思路是相通的,軟件數字簽名中的完整性檢測的本質就是差錯檢測,軟件發行方首先會對軟件運行一種摘要算法,生成一段固定長度的摘要,其本質等同于對數據包進行crc校

16、驗,生成一段冗余碼,然后把軟件與軟件摘要共同發布,接收者下載軟件后,使用相同的摘要算法對下載的軟件再次進行摘要計算,并與發布者公布的摘要做比對,如果一致,則說明軟件沒有被修改,反之,提示用戶此數字簽名錯誤。數字簽名要解決的另一個關鍵問題是如何防止摘要本身被修改,這涉及密碼學的相關內容,可以稍做提點和介紹即可,在此不再詳細展開。靈活使用差錯檢測技術的具體應用還有很多,比如當前流行的網盤、云盤中的“秒傳”技術的實現,衛星數字電視信號數據的下發等,都需要使用不同類型的差錯檢測和糾錯技術。可根據具體課程進度進行有選擇的講解。筆者采用上述案例向學生講授差錯檢測相關內容,不僅讓學生掌握了差錯檢測的原理與計算,而且通過擴展和舉例,拓寬了學生的思路,使其掌握了差錯檢測算法的本質,能夠靈活應用,解決實際軟件開發中的問題。4.教學效果評價與探討在教學過程中,筆者及所在的網絡教研小組采用原理與實踐相結合教學方法,沒計典型案例,將計算機網絡原理運用到實際軟件開發中。多年教學實踐表明,該方法受到學生的普遍歡迎,加深了學生對課本原理的理解,擴展了學生的知識面,將課本上看似枯燥的原理轉化成能解決實際問題的方法,以點帶面,啟發學生深入思考網絡教材中的各個原理,把各門課程的知識點聯系成一個有機整體,而不要零散地、孤立地、片面地去理解知識點,提高了學生的學習興趣,調動了學生學習的積極性。學生受限于自身

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論