摘要:針對計算機網絡教學存在知識點分塊的問題,提出解決辦法。在課程結束前,對計算機網絡內容進行總結和綜合,包括構建與配置網絡系統、將IP地址及其相關問題聯系在一起、理解兩種服務和從數據傳輸過程理解系統,通過穿插、聯系和系統方法,使學生計算機網絡課程知識系統化。
關鍵詞:計算機網絡;課程;知識;系統化
計算機網絡課知識很多,而且錯綜復雜,教材一般是將計算機網絡內容按“塊”組織并展開的,如計算機網絡概述、物理層、數據鏈路層、局域網、廣域網、網絡層、運輸層、應用層、網絡安全、網絡應用等。同樣,授課一般也是依教材的內容和次序進行組織,一塊一塊內容、一堂課一堂課講解,因此,學生積累的是點,最多也就是面的知識,而計算機網絡是一個系統,學生僅僅掌握面的知識不是課程的目的,把面的知識變成立體的知識并形成系統,知識才能活起來、才能有用。
目前,計算機網絡課程教材均沒有對計算機網絡知識進行梳理、總結的內容。在計算機網絡課程內容介紹完成后,對計算機網絡課程內容進行梳理總結很重要。通過教學實踐,我們發現采用穿插、聯系和系統的方法能夠讓學生將學到的知識形成系統。
1構建和配置網絡系統
1.1從簡單網絡及其配置說起
兩臺計算機通過雙絞線連接起來,說明雙絞線4根線的作用、水晶頭連線的做法、連通檢測工具,交叉線和直通線用法。兩臺主機配置IP地址、子網掩碼,用Ping檢查網絡是否連通,將文件夾作為共享資源。通過Ping命令的功能復習ICMP協議。
通過共享集線器或者交換機連接主機組成小的
局域網。結合本校網絡實驗室設備,配置交換機的IP地址,配置VLAN,檢查VLAN配置是否正確。據此,介紹共享集線器工作原理、特點、工作的層、網絡的拓撲結構。介紹交換機工作原理、特點、工作的層,區分半雙工和全雙工工作方式,由交換機組成的VLAN工作原理、應用場合。
在這個基礎上,系統介紹以太網的組成、以太網的擴展(包括中繼器、網橋、集線器的級聯)、高速以太網等。
通過路由器連接兩個局域網,結合本校網絡實驗室設備,配置路由器的IP地址、靜態路由表,主機IP地址、子網掩碼和網關。據此,介紹路由器的工作原理、路由表及其形成。進一步通過2個路由器連接3個網絡,其中中間是廣域網,并以此作為一個小的自治系統,配置路由器的內部網關協議RIP。在這個基礎上,總結自治系統及其內部網關協議IGP和外部網關協議EGP。
如果有可能,可以對幾個典型的網絡案例進行分析[1]。
1.2從接入互聯網談起
通過本地IP地址和全局IP地址,引入代理服務器、NAT和VPN。分別介紹它們的工作原理、應用場合、上網的特點。
通過家庭上網,介紹ADSL工作原理、連接方法。介紹家庭無線路由器工作原理、連接方法、上網的特點。
介紹一個單位網絡的基本構成,包括拓撲結構、傳輸介質、設備配置、結構化布線方案和接入因特網方法。拓撲結構主要突出星型結構,傳輸介質主要突出雙絞線和光纖。以自己熟悉的當前運行的單位或者政府(例如區)網絡為例進行分析。通過碰撞域和信號不失真傳輸距離解析采用傳輸介質的最大長度。
介紹工業現場典型網絡構成、拓撲結構、設備配置。拓撲結構主要突出總線結構,同時介紹RS485和CAN總線等。設備包括PLC、工控機和嵌入式裝置。
介紹本校校園網的構成(包括校內無線網)、本城市內校園網的連接、如何連入中國教育與科研網[2]。
2把IP地址及其相關問題聯系在一起
先提出下列問題:“如果學生宿舍兩臺計算機通過集線器連在一起,如果IP地址分別配置成192.168.1.1和192.168.2.1,這兩臺計算機是否無法打交道?”學生當然是能夠回答的。但如果提出“計算機為什么要同時采用IP地址和硬件地址?”這個問題,有不少學生說不到位。課程總結時,通過第一個問題,復習IP地址的分類、子網掩碼、網絡號、主機號等。通過IP地址分類的缺限,介紹子網和超網(CIDR)原理、計算方法及其與它們有關路由器查找路由算法的變化。通過IP地址存在的問題,對IPV6主要特點作個介紹。
通過第二個問題,介紹IP地址用于找到目的主機所在的網絡,而在同一個網絡中數據采用的是數據鏈路層的幀傳輸,而幀采用是硬件地址(封裝在MAC 幀中稱為MAC地址),通過ARP可以將目的主機的IP地址查到對應的硬件地址。
關于計算機在廣域網中的地址,將最簡單的層次結構地址與EUI-48地址進行對比,說明它們的共同點和不同點。
在由IP地址得到網絡號和主機號基礎上,引入單播、廣播、多播。通過上面的介紹,單播就不需要更多說明,主要是廣播和多播。關于廣播,說明IP地址如何表達廣播地址,硬件地址如何表達廣播地址,通過ARP給廣播舉例。關于多播,介紹IP使用D類地址支持多播,以太網多播地址表達方法以及它們的映射關系。關于多播其他內容包括IGMP,因為內容多,應該專門梳理。
在介紹硬件地址和IP地址的基礎上,引入域名和DNS,域名需要說明域名樹型結構,DNS需要說明它的作用、DNS服務器的分布、由域名查找對應的IP地址的過程。從而形成了域名——IP地址——硬件地址系統知識鏈。
3為了提供更好的“服務”費盡心血
3.1理解兩種“連接”服務
計算機網絡從不同層面提供面向連接可靠的服務和無連接不可靠的服務,而且由此產生了很多相關問題,學生不易理解,認為交給目的主機的所有數據都應該是正確的和完整的。為了進一步理解這兩種服務的特點,可以先大致介紹文件傳輸、IP電話等工作原理,讓學生明白,有些應用到達目的主機的所有數據都必須是正確的和完整的,例如文件傳輸。有些應用(例如IP電話)實時性比可靠性更重要,個別數據包丟失或者不正確并不影響它的使用。在這個基礎上進行總結,為了適應不同應用的需要,計算機網絡需要同時提供面向連接服務和無連接服務。然后,從運輸層、網絡層和數據鏈路層分別展開說明。
UDP和TCP是TCP/IP體系運輸層提供的無連接服務和面向連接服務,在應用層,DNS、RIP、DHCP、SNMP、IP電話、流式多媒體通信等都采用UDP服務,而HTTP、FTP、SMTP、TELNET等都采用TCP服務。因為UDP是無連接服務,所以它報文格式首部比較簡單。TCP是面向連接服務,所以它報文格式首部非常復雜。TCP為了實現可靠數據傳輸,傳輸前需要建立連接,連接成功才能進行數據傳輸,傳輸結束后需要釋放連接。為了可靠建立連接,需要3次握手。數據傳輸時,通過“窗口”協調雙方的傳輸節奏,通過檢驗和判斷接收到的數據是否正確,通過確認報文通知發送方已經接收到的數據情況,等等。傳輸結束,需要雙向釋放連接。通過上面UDP和TCP數據傳輸穿插和比較,把許多概念聯系起來,區分開來[3]。
TCP/IP體系的網際層提供的是無連接的IP服務。
在數據鏈路層,以前非常流行的連續的ARQ協議是面向連接的可靠的數據傳輸協議,所以,需要包含建立連接、數據傳輸、釋放連接過程,幀頭部包含序號字段,用于描述當前傳輸的幀的編號和接收方對收到的幀確認,用FCS字段表達數據檢驗,用確認幀告訴發送方接收的幀是否正確。而當前流行的PPP協議的幀格式中沒有序號字段,因為它是無連接的傳輸協議。同樣,以太網也是采用無連接傳輸協議,所以,以太網V2標準和IEEE的802.3標準的MAC幀格式都很簡單。實際上,無連接的傳輸協議并不一定就是不可靠的數據傳輸,像以太網本身傳輸很少出錯,由于協議簡單,所以網絡的傳輸效率非常高。
3.2通過“校驗”才能心中有數
從某種程度說,計算機網絡的功能就是數據傳輸,保證數據傳輸的正確是計算機網絡要解決的問題。那么,如何知道接收到的數據是否正確?采用的方法就是對數據進行校驗。在上課時,要反復提數據校驗問題,并通過下列總結,對這方面內容進行梳理。
計算機網絡除了應用層外,每層都對數據進行校驗。例如,數據鏈路層幀的FCS、IP數據報的首部檢驗和、TCP、UDP、ICMP、IGMP、OSPF等報文中的檢驗和。總結時,先分層,然后進行聯系。先提出為什么“數據鏈路層的FCS在幀尾部,其他層的報文檢驗和在報文的頭部?”如果學生不能正確回答,教師解析原因。因為FCS采用CRC方法通過硬件自動生成,其他的檢驗和是通過軟件計算的[4]。然后,再提出“IP數據報中首部檢驗和為什么只針對頭部?”。如果學生不能正確回答,教師解析,需要IP提供服務的TCP、UDP、ICMP、IGMP、OSPF等報文本身都包含檢驗和,判斷IP交給它們的數據正確性由自己完成。
另外,數據傳輸正確性對計算機網絡非常重要,但網絡數據安全同樣重要。對于網絡安全,先從一般數據加密模型介紹加密解密過程,然后復習常規密鑰密碼體制和公開密鑰密碼體制、數字簽名、報文鑒別等,關注防火墻的工作原理和防火墻產品。最后介紹當前電子商務中數據安全保障方法。因為有些專業方向還有專門課程介紹這方面內容,所以這方面內容應該根據情況有所側重。
4從數據傳輸過程理解系統
4.1穿透“層”看數據傳輸過程
層是計算機網絡中最重要的概念之一,在當時介紹TCP/IP體系結構時學生不易理解透徹,而在介紹每層協議時重點關注又是當前層的功能。在課程總結時,通過“層”穿透過程可以很好理清層及其橫向關系、縱向關系。先對TCP/IP體系的層進行系統梳理,以一個網絡應用(例如,網絡聊天)的實際數據傳輸為例,說明數據(例如聊天內容)如何在應用層、運輸層、網絡層、數據鏈路層層層封裝、每一層封裝的數據是什么,如何調用下層為上層提供的服務。到達目的端,從數據鏈路層、網絡層、運輸層到應用層如何解封裝,下層依據什么往上層遞交等等。在這個基礎上,說明層間SAP、數據傳輸效率等。通過解析Ping程序ICMP與IP之間打交道的方法,把層間交流具體化[5]。通過MFC Socket編程方法,說明用戶編寫的網絡應用程序如何調用系統提供的層服務,進一步理解層間關系。同時,說明P2P實現原理。
在此基礎上,通過說明同一層協議運行方式,通過多個協議舉例,說明網絡協議的主要3個要素語法、語義和同步。
4.2把TCP/IP體系分成兩個部分
學生上課時,容易誤解TCP/IP 5層體系中的數據鏈路層,這樣在理解以太網、ATM、接入網(包括以前的X.25、幀中繼)時會出現誤解。前面介紹某一部分時可能很難說清楚,復習總結時需要對這方面的內容進行梳理。梳理后,學生會感到原來局部介紹時的“亂麻”實際上是圍繞一根線主線展開的。把TCP/IP 5層體系以數據鏈路層和網絡層中間為界,分成上下兩部分,下面部分就是實現在一個網絡中數據傳輸。對于TCP/IP體系來說,需要傳輸的內容一般就是IP數據報。具體如何實現傳輸,不同的計算機網絡采用不同的方法。這方面的內容,通過下列幾條線可以把許多相關的內容聯系起來。
從信道類型講,數據傳輸網絡包括點對點信道和廣播信道。點對點信道因為沒有爭用信道的問題,所以傳輸的方法和傳輸協議(例如PPP協議)比較簡單。而廣播信道因為大家共享,所以就產生爭用的問題,爭用的規則是CSMA/CD協議。在廣播信道上傳輸的幀的格式中幀頭部需要包含源MAC地址、目的MAC地址以確定幀的發送者和接收者。不管是IEEE的802.3標準幀還是以太網的V2標準幀都是如此。另外,無線局域網傳輸有它自己的特點,采用IEEE的802.11幀的幀頭部地址多了一些。
因為不同時期、不同類型網絡實現數據傳輸有不同的特點,實現的方法是不同的,分層也不一樣。以太網的V2標準數據鏈路層就是一層,IEEE的802.3標準把數據鏈路層的功能分成LLC子層和MAC子層。而以前的X.25網分成分組層、數據鏈路層。幀中繼的數據鏈路層功能只有X.25的部分數據鏈路層的功能。
總結到此,學生可以明白:不同的網絡為了實現數據傳輸,自己分幾層、層的名稱叫什么,這是由它們本身確定的。但它們都能夠實現TCP/IP體系中的數據鏈路層功能。而且不同的網絡無論幀的格式有什么不同,它們都包括3個部分:幀頭、數據部分和幀尾。幀尾用于數據校驗。
從信號角度講,信道分數字信道和模擬信道,數字信道可以直接傳輸數字信號,但由于同步問題(可以復習同步的概念),傳輸的數據需要編碼才能進入數字信道。而編碼有多種(例如曼徹斯特編碼、4B5B編碼等),它們的編碼效率不一樣。模擬信道不能直接傳輸數字信號,所以需要進行調制,調制的方法有3種,實現這種方法的裝置是Modem。目前,家庭上網用的ADSL就是一種Modem。
4.3從TCP/IP體系結構的沙漏模型看應用層
TCP/IP體系結構像沙漏模型,其中網絡層主要是IP,運輸層包含UDP和TCP,而應用層協議很多,包括HTTP、FTP、SMTP、TELNET、DNS、SNMP、RIP…。因為互聯網不同應用需要描述的內容不同,所以一個應用就必須制定一個規則,形成一個協議。為了在運輸層遞交時能夠區分它們,定義了端口號,稱為熟知端口號,并且為今后更多的應用預留了足夠的端口號。
總結不同的應用不能面面俱到,應有所側重,這
利于學生掌握重點。
總結HTTP時,先說明用戶輸入URL,系統通過DNS查找目的主機對應的IP地址,可以通過URL實例說明DNS過程。此后,突出從輸入地址到網頁出現在IE瀏覽器上的過程。通過這個過程,說明HTTP請求和應答報文,理清IE瀏覽器瀏覽網頁過程的客戶和服務器工作方式和無連接循環服務器工作方式特點。
總結FTP,要突出為什么同時需要控制進程和數據傳輸進程,讓學生理解一個FTP服務器是如何實現同時為多個客戶提供服務的。說明用于下載文件的應用程序如何通過界面簡單操作實現文件下載、斷點續傳的原理。通過FTP,說明面向連接并發服務器工作方式。
總結SMTP,要突出UA、發送郵件服務器和接收郵件服務器,通過UA發送接收郵件過程,說明每一過程使用的協議。說明通過網頁與通過UA發送接收郵件使用的協議有什么不同。還要說明,MIME與STMP的關系、對郵件內容的編碼方法及其效率和應用場合。
總結SNMP,要突出網絡管理的概念和實現方法,可以通過一個熟悉的應用場合舉例[6]。
5結語
抓住上述幾個方面的問題,將每一條線上的主要知識梳理清楚、聯系起來、構成系統,這樣就可以比較清楚地展現計算機網絡課程的主要內容,并使計算機網絡內容簡單化。總結綜合需根據學時可能及確定相關知識展開的程度,舉例不需要太詳細。需要注意的是,復習總結不可面面俱到,必須抓住重點,相關知識展開不可偏離當前的線路。否則,復習總結不但沒有起到預計的效果,還會讓學生認為計算機網絡太亂、太雜、太復雜。另外,計算機網絡課總結的效果與此前已經掌握的網絡課程知識有關,如果在學生自己進行初步梳理后進行,效果會更好。
致謝:本文得到南京師范大學計算機軟件技術基礎教學團隊的資助。
參考文獻:
[1]