1. 程式人生 > >計算機網路(二) 資料鏈路層及點對點通道

計算機網路(二) 資料鏈路層及點對點通道

資料鏈路層使用的通道主要兩種型別:

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等。

                              http://c.hiphotos.baidu.com/zhidao/pic/item/6f061d950a7b0208a9405a6762d9f2d3562cc8af.jpg

      (注意資訊欄位即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連線。

http://h.hiphotos.baidu.com/zhidao/pic/item/9a504fc2d5628535d262b7a790ef76c6a6ef63b1.jpg