網絡學習筆記(數據鏈路層)

鏈路(link)是從一個結點到相鄰結點的一段物理線路,而中間沒有其他的交換結點。
數據鏈路(data link):當需要在一條線路上傳送數據時,除了必須有一條物理線路外,還必須有一些必要的通信協議來控制這些數據的傳輸。若把實現這些協議的硬件和軟件加到鏈路上,就構成了數據鏈路。現在最常用的方法是使用網絡適配器等來實現這些協議。一般的適配器都包括了數據鏈路層和物理層這兩層功能。

點對點信道的數據鏈路層在進行通信時的主要步驟如下:

  1. 結點A的數據鏈路層把IP數據報添加首部和尾部封裝成
  2. 結點A把封裝好的幀發送給結點B的數據鏈路層。
  3. 若結點B收到的幀無差錯,則從收到的幀中提取出IP數據報上交給網絡層,否則丟棄這個幀。

數據鏈路層協議有許多種,但有三個基本問題是相同的:封裝成幀,透明傳輸和差錯檢測。
最大傳送單元MTU(Maximum Transfer Unit)規定了幀的數據部分的長度上限。
在ASCII碼中,控制字符有33個。幀定界可以使用特殊的幀定界符SOH(Start Of Header,16進制編碼x01)放在最前面,EOT(End Of Transmission,16進制編碼x04)表示幀結束。
所傳輸的數據中任何8bits的組合一定不允許和幀定界符的編碼一樣,否則會出現幀定界錯誤。當傳輸數據部分是非ASCII碼文本文件時(如二進制碼的程序或圖像),可能會出現上述錯誤。爲了解決這個問題,發送端的數據鏈路層在數據中出現控制字符“SOH”或“EOT”的前面插入一個轉義字符“ESC”(16進制編碼是1B)。而在接收端的數據鏈路層在將數據送往網絡層之前刪除這個轉義字符。這種方法稱爲字節填充。如果轉義字符也出現,在轉義字符前插入一個轉義字符。

差錯檢測
誤碼率BER(Bit Error Rate):傳輸錯誤的比特佔所傳輸比特總數的比率。
誤碼率與信噪比有很大關係。提高信噪比可以降低誤碼率。
循環冗餘檢驗CRC(Cyclic Redundancy Check):假定待傳送的數據M有k個比特,CRC在M後面加供差錯檢驗的n位冗餘碼,構成一個幀(一次發送k+n位)。
n位冗餘碼的獲得:用二進制的模2運算進行2n 乘M的運算,相當於在M後面添加n個0。得到(k+n)位的數除以收發雙方事先商定的長度爲(n+1)位的除數P,得出商是Q而餘數是R(n位,比P少一位),將R拼接在數據M後面發送出去(即2nM+FCS )。這種爲了進行檢錯而添加的冗餘碼常被稱爲幀檢驗序列FCS(Frame Check Sequence,並不特指CRC的冗餘碼)
在接收端將數據以幀爲單位進行CRC檢驗:把收到的每一個幀都除以同樣的除數P,如果傳輸無差錯,那麼餘數肯定是0
例如:假定M=101001(k=6),假定n=3,除數P=1101,M23/P=110101001 ,因此加上FCS後發送的幀是101001001共(k+n)位.

數據鏈路層沒有向網絡層提供可靠傳輸的服務。CRC等方式僅保證了比特差錯不太可能發生,但仍可能出現幀丟失、幀重複或幀失序

點對點協議PPP

PPP協議(Point-to-Point Protocaol)是用戶計算機和ISP進行通信時所使用的數據鏈路層協議。PPP協議只支持全雙工鏈路。PPP協議由三個部分組成:

  • 一個將IP數據報封裝到串行鏈路的方法。
  • 一個用來建立、配置和測試數據鏈路連接的鏈路控制協議LCP(Link Control Protocol)
  • 一套網絡控制協議NCP(Network Control Protocol),其中每一個協議支持不同的網絡層協議。

PPP協議工作狀態:
這裏寫圖片描述

  • PPP鏈路的起始和終止狀態永遠是圖中的鏈路靜止(Link Dead)狀態,這時在PC機和ISP的路由器之間不存在物理層連接。
  • 當用戶PC機通過調制解調器呼叫路由器時,路由器能夠檢測到發出的載波信號,在雙方建立物理層連接後,PPP就進入鏈路建立(Link Establish)狀態,目的是建立LCP連接。
  • 這時LCP開始協商一些配置選項,包括連路上的最大幀長,所使用的鑑別協議(如果有的話),以及不適用PPP幀中的地址和控制字段,即發送LCP的配置請求幀
  • 協商結束後雙方就建立了LCP鏈路,進入鑑別(Authenticate)狀態,目的是鑑別雙方的身份。若鑑別成功,則進入網絡層協議(Network-Layer Protocol)狀態。
  • 在網絡層協議狀態,PPP鏈路的兩端網絡控制協議NCP根據網絡層的不同協議互相交換網絡層特定的網絡控制分組。由於現在的路由器呢能夠同時支持多種網絡層協議,所以,PPP協議兩端的網絡層可以運行不同的網絡層協議,但仍然可以使用同一個PPP協議進行通信
  • 如果在PPP鏈路上運行的是IP協議,則對PPP鏈路的每一段配置IP協議模塊時要使用NCP中支持IP的協議——IP控制協議IPCP(IP Control Protocol)
  • 當網絡層配置完畢,鏈路進入可進行數據通信的鏈路打開(Link Open)狀態。兩個PPP端點還可發送回送請求回送回答,以檢查鏈路的狀態。
  • 數據傳輸接受後,可以由一段發出終止請求來終止鏈路連接,在收到對方發來的終止確認後,轉到鏈路終止狀態,當調制解調器的載波停止後,則回到鏈路靜止狀態。
  • 由上可見,PPP協議已不是純粹的數據鏈路層協議,還包含了物理層和網絡層的內容。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章