標籤:網路
資料連結層使用的通道主要有以下兩種類型:
(1)點對點通道
(2)廣播通道
使用點對點通道的資料連結層
首先明確一下“鏈路”和“資料鏈路”並不是一回事。
所謂鏈路,指的是從一個結點到相鄰結點的一段物理線路,而中間沒有任何其他的交換結點。
資料鏈路除了必須有一條物理線路以外,還必須有一些必要的通訊協定來控制這些資料的傳輸。若把視線這些協議的硬體和軟體加到鏈路上,就構成了資料鏈路。
點對點通道的資料連結層的協議資料單元為幀
點對點通道的資料連結層在進行通訊時的主要步驟:
(1)結點A的資料連結層把網路層交下來的IP資料報添加首部和尾部封裝成幀。
(2)結點A把封裝好的幀發送給結點B的資料連結層。
(3)若結點B的資料連結層收到的幀無差錯,則從收到的幀中提取出IP資料報上交給上面的網路層;否則丟棄這個幀。
三個基本問題封裝成幀
封裝成幀就是在一段資料的前後分別添加首部和尾部。接收端在收到物理層上交的位元流後,就能根據首部和尾部的標記,從收到的位元流中識別幀的開始和結束。
一個幀的長度等於幀的資料部分長度加上幀首部和幀尾部的長度。
每一種鏈路層協議都規定了所能傳送的幀的資料部分長度上限——最大傳送單元MTU。
透明傳輸
由於幀的開始和結束標記是使用專門指明的控制字元( SOT和EOT),因此,所傳輸的資料中的任何8位元的組合一定不允許使用和用作幀定界的控制字元,否則就會出現幀定界的錯誤。
為瞭解決透明傳輸的問題,就必須設法使資料中可能出現的控制字元在接收端不被解釋為控制字元。具體方法是:發送端的資料連結層在資料中出現控制字元的前面插入一個逸出字元(ESC)。而在接收端的資料連結層在把資料送往網路層之前刪除這個插入的逸出字元。
差錯檢測
位元在傳輸過程中可能會產生差錯。
在一段時間內,傳輸錯誤的位元占所傳輸位元總數的比率稱為誤碼率BER。為保證資料的可靠性,在電腦傳輸資料時,必須採用各種差錯檢測措施。目前資料連結層廣泛使用了迴圈冗餘檢測CRC
M長資料,n位冗餘碼計算:
用二進位的模2(不進位加法)運算進行2^n乘M的運算,這相當於在M後面添加n個0。得到的(k+n)位的數除以收發雙方事先商定的長度為(n+1)的除數P,得出商是Q而餘數是R。這個餘數R就作為冗餘碼拼接在資料M的後面發送出去。
接收端把接收到的資料以幀為單位進行CRC檢驗:把收到的每個幀都除以同樣的除數P(模2運算),然後檢查得到餘數P。
如果傳輸無差錯,則CRC檢驗後得出的餘數R一定是0.
注意:我們現在並沒有要求資料連結層向網路層提供可靠傳輸服務。
點對點通訊協定 (PPP)PPP
PPP協議有三個組成部分
(1)一個將IP資料報封裝到串列鏈路的方法。
(2)一個用來建立、配置和測試資料鏈路串連的鏈路控制協議LCP。
(3)一套網路控制協議NCP,其中的每一個協議支援不同的網路層協議。
PPP協議的框架格式
PPP幀的首部和尾部分別為四個欄位和兩個欄位。
首部第一個欄位和尾部第二個欄位都是標誌欄位F(Flag)規定為“0x7E”。標誌一個幀的開始或結束。因此標誌欄位就是PPP幀的定界符。
連續兩個幀之間只需要一個標誌欄位。如果連續出現兩個標誌欄位,就表示這是一個空幀,應當丟棄。
首部中第二個欄位A規定為“0xFF”第三個欄位C規定為“0x03”並無意義。
PPP首部第四個欄位是2位元組協議欄位。
IANA網站公布的定義:
http://www.iana.org/assignments/ppp-numbers/ppp-numbers.xhtml#ppp-numbers-2
RFC1662規定如下填充方法:
(1)把資訊欄位中出現的每一個0x7E位元組轉變為2位元組序列(0x7D,0x5E)
(2)若資訊欄位中出現了一個0x7D的位元組(即出現了逸出字元一樣的位元組合),則把0x7D轉變成2位元組序列(0x7D,0x5D)
(3)若資訊欄位中出現ASCII碼的控制字元(即數值小於0x20)則在前面加入0x7D,同時將該字元的編碼加以改變。
零位元填充(針對於非同步傳輸的解決方案)
在發送端,先掃描整個資訊欄位,只要發現5個連續1,則立即填入一個0.因此經過零位元填充資料後的資料,就可以保證資訊欄位中不會出現6個連續1.
PPP協議的工作狀態
PPP鏈路的起始和終止狀態永遠是“鏈路靜止”狀態。
當使用者PC通過數據機呼叫路由器的時候,路由器能夠檢測到數據機發出的載波訊號,在雙方建立了物理層連結之後,PPP就進入“鏈路建立”狀態,其目的是建立鏈路層的LCP串連。
LCP開始協商配置選項,即發送LCP的配置請求幀。其協議欄位置為LCP對應的代碼,而資訊欄位包含特定的配置請求。
協商結束後,雙方建立了LCP鏈路,進入“鑒別”狀態。只允許傳送LCP協議的分組、鑒別協議的分組。若鑒別身份失敗,則轉到“鏈路終止”狀態,若鑒別成功,則進入“網路層協議”狀態。
PPP鏈路兩端的網路控制協議NCP根據網路層的不同協議相互交換網路層特定的網路控制分組。
當網路層配置完畢後,鏈路進入可進行資料通訊的“鏈路開啟”狀態。
資料轉送結束後,可以由鏈路的一端發出終止請求LCP分組。
電腦網路——資料連結層(PPP)