計算機網路(二) 資料鏈路層及點對點通道
資料鏈路層使用的通道主要兩種型別:
1)點對點通道:使用一對一的點對點通訊方式。
2)廣播通道:使用一對多的廣播通訊方式。由於連線的主機很多,因此必須使用專用的共享通道協議來協調這些主機的資料傳送。
重點內容:
1)資料鏈路層的點對點通道和廣播通道的特點,以及這兩種通道所使用的協議(PPP協議以及CSMA/CD協議)的特點。
2)資料鏈路層的三個基本問題:封裝成幀、透明傳輸和差錯檢測。
3)乙太網MAC層的硬體地址。
4)介面卡、轉發器、集線器、網橋、乙太網交換機的作用以及使用場合。
鏈路(link ):從一個結點到相鄰結點的一段物理線路(有線或無線),而中間沒有任何其他的交換結點。
資料鏈路(data link ):除了有一條物理線路外,還有一些必要的通訊協議來控制資料的傳輸。若把實現這些協議的硬體和軟體加到鏈路上,就構成了資料鏈路。
網路介面卡(既有硬體,也包含軟體)用來實現這些協議。
資料鏈路層的協議資料單元:幀
資料鏈路層協議的三個基本問題:封裝成幀、透明傳輸、差錯檢測
1)封裝成幀
一個幀的幀長 = 幀的資料部分 + 幀首部和幀尾部的長度;
最大傳送單元MTU ( Maximum Transfer Unit ):所能傳送的 幀的資料部分 長度上限。
首部和尾部的一個重要作用是進行幀定界(即確定幀的界限)。
控制字元SOH ( Start Of Header ):表示幀的首部開始。 控制字元EOT (End Of Transmission ):表示真的結束。
注意: SOH和EOT都是控制字元的名稱。十六進位制編碼分別為01(二進位制為00000001),04(二進位制為00000100)。
2)透明傳輸
含義:無論怎麼樣的位元組合的資料都能傳輸。
透明是一個很重要的術語。表示:某一個實際存在的事物看起來卻是好像不存在一樣。
問題:怎樣使資料中可能出現的控制字元”SOH“和”EOT“在接受端不被解釋為控制字元?
解決方法:位元組填充(byte stuffing )或字元填充(character stuffing),即在控制字元前插入轉義字元”ESC“(十六進位制1B,二進位制00011011)。
3)差錯檢測
可靠傳輸:資料鏈路層的傳送端傳送什麼,在接受端就收到什麼。
傳輸差錯分兩大類:最基本的差錯位元差錯 另一類複雜的差錯即幀丟失、幀重複或幀失序。
位元在傳輸過程中可能會產生差錯,即位元差錯。
誤位元速率BER( BIt Error Rate ):傳輸錯誤的位元佔所傳輸位元總數的比率。設法提高信噪比,就可以使誤位元速率減小。
位元差錯檢測措施:迴圈¥餘檢驗CRC ( Cyclic Reundancy Check )
幀檢驗序列FCS ( Frame Check Sequence ):為進行檢錯而新增的n位¥餘碼。
對於複雜的差錯即幀丟失、幀重複、幀失序。在CRC檢錯的基礎上,增加了幀編號、確認和重傳機制。
點對點協議 PPP ( Point-to-Point Protocol )
額外具備的功能:檢測連線狀態、多種網路層協議、多種型別鏈路、網路層地址協商、資料壓縮協商。
PPP協議有三個組成部分:
1.一個將IP資料報封裝到序列鏈路的方法。即支援非同步鏈路(無奇偶檢驗的位元資料),也支援面向位元色同步鏈路。
2.一個用來建立、配置和測試資料鏈路連線的鏈路控制協議LCP ( Link Control Protocol )。
3.一套網路控制協議 NCP ( Network Control Protocol ),其中的每一個協議支援不同的網路層協議,如IP,OSI的網路層、DECnet、AppleTalk等。
(注意資訊欄位即IP資料報)
當PPP使用非同步傳輸(逐個字元地傳送)時,轉義字元定義為0x7D(即01111101),並使用位元組填充。
RFC 1662 規定如下所述的填充方法:
a.把資訊欄位中出現的每一個0x7E位元組轉變成為2位元組序列(0x7D,0x5E )。
b.若資訊欄位中出現0x7D的位元組(即出現和轉義字元一樣的位元組合),則把0x7D轉變成2位元組序列(0x7D,0x5D )。
c.若資訊欄位中出現ASCII碼的控制字元(即數值小於0x20的字元),則在該字元前面加入一個0x7D位元組,同時將該字元的編碼加以改變。
當PPP使用同步傳輸(一連串的位元連續傳送)時,用在SONET/SDH鏈路時。使用零位元填充方法。
零位元填充:傳送端先掃描整個資訊欄位,只要有5個連續1,則立即填入一個0(避免出現和標誌欄位F<01111110>一樣的位元組合,不管是否有6個1),接收端先通過標誌欄位F確定 幀的邊界,再對其中的資訊欄位掃描,當發現5個連續1後將其後的一個0刪除。
PPP協議的工作狀態
有線過程:當用戶撥號接入ISP後,就建立了一個從使用者PC到ISP的物理連線。這時,使用者PC向ISP傳送一系列的鏈路控制協議LCP分組(封裝成多個PPP幀),以便於建立LCP連線。這些分組及其響應選擇了將要使用的一些PPP引數。接下來要進行網路層配置,網路控制協議NCP給新接入的使用者PC分配一個臨時的IP地址。這樣,使用者PC就成為因特網上的一個有IP地址的主機了。當用戶通訊完畢,NCP釋放網路層連線,收回IP地址。接著LCP釋放資料鏈路層連線。最後釋放的時物理層的連線。
無線過程:使用者PC和ISP的路由器之間不存在物理層的連線。當用戶PC通過調變解調器呼叫路由器時(類似滑鼠點選連線按鈕),路由器就能夠檢測到調變解調器發出的載波訊號。在雙方建立了物理層連線後,PPP就進入"鏈路建立"狀態,然後建立鏈路層的LCP連線。