唐銀盈
[摘要]計算機網絡中許多的知識概念十分抽象,需要從最基礎的數據通信過程入手,分析數據包在傳輸過程中的處理過程,將抽象的概念具體化分析,才能真正理解原理知識,為后期深入學習打下基礎。
[關鍵詞]計算機網絡 網絡體系結構 封裝和解封裝 協議格式 抽象 具體化
我是一名中職學校計算機網絡教師,根據學生平時學習中的疑問,我認為學懂計算機網絡的關鍵在于將抽象的網絡概念知識具體化,那么如何進行具體化,我認為可從以下幾個知識點入手:
一、計算機網絡體系結構
計算機網絡體系結構這個知識點一般放在教材第一章,幾乎計算機網絡的知識點,都涉及對網絡體系結構的理解,足以見得它是學習計算機網絡的基礎。雖然處于基礎地位,但與計算機網絡的概念、計算機網絡分類、計算機網絡拓撲結構等知識點相比,計算機網絡體系結構的概念十分抽象,要準確理解并不容易。以OSI/RM為例,最容易走入的誤區就是只記住了7層模型,但其實理解為什么要對網絡進行分層才是關鍵第一步。教師在講解時,可以以具體的一次通信任務舉例,列舉網絡系統所需完成的復雜任務,引出分而治之是處理復雜問題的方法,而分層就是分而治之的最好方法,從而解答為什么要對網絡進行分層。這樣,將原本抽象的網絡形象化為具體的問題場景,在理解網絡分層原因的基礎上,再學習網絡模型應該具有的層次和功能,實體、協議、服務以及它們之間的關系,會更容易過渡和深入。
二、數據封裝和解封裝
曾經有學生問我“數據通過一根網線傳輸,怎么會有7層呢?”“數據是怎樣從一臺計算機傳輸到另一臺計算機終端的?”,初學者往往都會提出類似的問題,提出這樣問題的學生我會表揚,因為代表他們在思考,而且是從微觀層面進行思考。其實這2個問題的關鍵點都是理解數據的封裝和解封裝過程。教師在講解時可以郵寄包裹為例,引出封裝和解封裝的概念,以動態圖展示數據發送時進行層層封裝,在數據接收時進行層層解封裝。只有理解了數據包拆裝步驟,才算是從微觀層面理解了數據通信的原理,理解7種協議數據單元以及它們之間的關系,為后面學習網絡通信理論打下了基礎。
三、協議格式
網絡各層的協議很多,對初學者來說,看懂協議字段是一個難點,但這個難點必須要突破,因為不懂協議格式字段,是很難理解協議的工作原理的。縱觀計算機網絡技術,不論是局域網技術還是廣域網技術,其實都是在學習協議。在所有的協議格式中,我認為有兩個最基礎的協議字段,初學者可以從此處入手,就是Ethernet以太幀格式和IP數據報格式,這兩種協議格式在局域網通信中用得較多,字段含義也比較容易理解,其它很多協議數據包格式也是在它們基礎上的變型,因此掌握這兩種協議格式有助于對通信過程的理解。
四、數據包轉發的處理過程
當學生理解了數據在收發過程中的封裝與解封裝步驟,了解基礎的協議格式字段之后,后期可以通過分析網絡設備對數據包的處理,來進一步理解理論原理。比如一臺終端要Ping同網段的一臺終端時,需要將IP數據包封裝為以太幀,因此需要通過發送ARP包獲取目的MAC地址,將目的MAC填充到以太幀字段中;比如要訪問不同網段的設備,在設網關和不設網關情況下,對數據包的處理分別應該是怎樣;再如數據包要通過路由器,路由器對數據包的檢查和處理過程是怎樣;數據包在路由器之間傳遞時的處理過程又是怎樣。如果能帶著這些問題去學習,不僅能夠更好地理解理論知識,也能讓抽象的網絡概念原理落地,變成微觀的、具體的過程,久而久之就能熟練掌握數據通信原理了。
上面說到的四點,網絡體系結構、數據封裝和解封裝、協議字段、數據包轉發過程,其實都是很基礎的知識點,但如果在一開始不把這些基礎知識弄懂,后面理解起來會越來越困難,也難以進行更深入的學習。所以,我認為學懂計算機網絡的關鍵在于,一開始必須要把基礎打好,既要會應用,更要懂原理。
中職學校的課程內容,比較注重操作性和實用性,如果給學生單純地講解這些理論,不管是講得抽象還是具體可能學生的學習興趣都不會太大。所以針對中職學生的特點,以上提到的這四部分基礎知識點的授課形式和教材,不應該僅僅是理論課,應該配合有上機練習。教學中可以充分地利用網絡模擬軟件,如思科模擬器Cisco Packet Tracer或華為模擬器eNSP等,讓理論知識點能夠直觀顯示出來。比如思科模擬器Cisco Packet Tracer在模擬模式下,可以觀察到數據包的轉發路徑,這樣學生就可以直觀地看到數據包是怎樣從源站點發送到目的站點的。Cisco Packet Tracer模擬面板中的事件列表里有很多信息,在教學中可發揮很大作用,如抓取一個數據單元,點開協議信息,可看到這單元所處的網絡層次,再點開PDU詳細信息可看到協議格式字段;依次展開幾個數據單元,分析其中的信息,可得出協議單元之間的封裝關系,協議格式字段含義,數據單元字段信息傳遞的方式,這對初學者理解數據通信是非常有益的,若長期養成分析協議字段的習慣,有助于掌握理論原理,只要原理理解了,只需通過反復練習增加應用熟練程度。
綜上所述,學習計算機網絡,必需要重視對基礎理論的理解,通過理論與實操的教學方式,讓抽象的網絡概念具體化、可視化,更好地激發學生的好奇和興趣,為學生打開一道通往網絡世界的大門。