計算機網絡之鏈路層

鏈路層

一.基本概念

  • 節點:主機,路由器等
  • 網絡中兩個節點之間的物理通道,鏈路的傳輸介質主要由雙絞線,光纖和微波組成,分為線鏈路與無線鏈路。
  • 數據鏈路:網絡中兩個節點之間的邏輯通道,將實現控制數據傳輸協議的硬件和軟件加到鏈路上就構成數據鏈路。
  • 幀:鏈路層的協議數據單元,封裝網絡層數據報。
  • 數據鏈路層負責通過一條鏈路從一個節點向另一個物理鏈路直接相連的相鄰節點傳送數據報。

二.功能

  • 在物理層提供服務的基礎上向網絡層提供服務,其最基本的服務是將來自網絡層的數據可靠(安全)的傳輸到相鄰節點的目標機網絡層。其主要作用是加強物理層傳輸原始比特流的功能,將物理層提供的可能出錯的物理連接改造成為邏輯上無差錯的數據鏈路,使之對網絡層表現為一條無差錯的鏈路。
  • 功能一:為網絡層提供服務。無確認無連接服務,有確認無連接服務,有確認面向連接服務(有連接一定有確認)。
  • 功能二:鏈路管理,即連接的建立,維持,釋放(面向連接的服務)。
  • 功能三:組幀。
  • 功能四:流量控制。
  • 功能五:差錯控制(幀錯/位錯)。

1.封裝成幀

  • 封裝成幀就是在一段數據的前後部分添加首部和尾部,這樣就構成瞭一個幀。接收端在收到物理層上交的比特流後,就能根據首部和尾部的標記,從而識別幀的開始與結束。
  • 首部(SOH:Start of Header)和尾部(EOT:End of Transmission)包含著許多的控制信息,它們的一個重要作用:幀定界(確定幀的界限)。
  • 幀同步:接收方應當從接收到的二進制比特流中區分出幀的起始和終止。
  • 幀長:自幀首部開始至幀尾部結束稱為數據鏈路層的幀長。
  • 組幀(封裝成幀)方法:字符計數法;字符(節)填充法;零比特填充法;違規編碼法。

透明傳輸

  • 是指不管所傳數據是什麼樣的比特組合,都能夠在鏈路上傳輸。因此,鏈路層就“看不見”妨礙數據傳輸的東西。
  • 當所傳輸數據中的比特組合恰巧與某一個控制信息完全一樣時,就必須采用適當的措施,使接收方不會將這樣的數據誤認為是某種控制信息。這樣才能保證數據鏈路層的傳輸是透明的。
  • 字符計數法:幀首部使用一個計數字段(第一個字節,8bit)來標明幀內字符數(計數包含該字段在內)。
  • 字符填充法:首尾各使用一個字節的數據。當傳送的幀由文本文件組成時(文本文件的字符都是從鍵盤上輸入即ASCII碼)。不管從鍵盤中輸入什麼字符都可放進幀中傳輸,即透明傳輸。當傳送的幀由非ASCII碼文本文件組成時(二進制代碼或音頻等),就要采用字符填充方法實現透明傳輸。如果在數據中間出現控制信息字符時,在其前添加轉義字符(ESC),如果遇到與轉義字符相同的字節字符時,還是需要向其添加轉義字符。然後在接收端刪除掉即可。
  • 零比特填充法:在發送端掃描整個信息字段,隻要出現連續5個1,就立即填入1個0;在接收端收到一個幀時,先找到標志字段確定邊界,再用硬件對比特流進行掃描,發現連續5個1時,就刪除後邊的0。保證瞭透明傳輸,可傳輸任意比特組合,而不會引起對幀邊界的判斷錯誤。
  • 違規編碼法:在物理層比特編碼時實現透明傳輸。由於在曼徹斯特二進制編碼中一個碼元使用兩種不同的電位,那麼使用“高-高”,“低-低”這種違規編碼可以實現界幀的起始和終止。
  • 由於字節計數法中Count字段的脆弱性(其值),和字符填充法的復雜性和不兼容性,目前較普遍使用的時比特填充和違規編碼法。

2.差錯控制

差錯從何而來?

  • 傳輸中的差錯都是有噪聲引起。
  • 全局性:線路本身電氣特性所產生的隨機噪聲(熱噪聲),是信道固有的,隨機存在的,解決辦法是提高信噪比來減少或避免幹擾。
  • 局部性:外界特定的短暫原因造成的沖擊噪聲,解決辦法是利用編碼技術解決。

差錯

  • 位錯(比特錯):比特位出錯(1變成0或0變成1)
  • 幀錯:多個幀之間出現丟失,重復或失序

差錯控制(檢錯)

  • 檢錯編碼:奇偶校驗碼;循環冗餘碼CRC
  • 糾錯編碼:海明碼
  • 編碼:數據鏈路層的編碼與物理層的數據編碼調制不同。物理層編碼針對的是單個比特,解決傳輸過程中比特的同步問題(栗子:曼徹斯特編碼);而數據鏈路層的編碼針對的是一組比特,它通過冗餘碼的技術實現查看一組二進制比特串在傳輸過程中是否出現瞭差錯。
  • 冗餘編碼:在數據發送之前,先按某種關系附加上一定的冗餘位,構成一個符合某一規則的碼字後再發送。當要發送的有效數據變化時,相應的冗餘位也隨之變化,使碼字遵循不變的原則。接收端根據收到的碼字使否符合原規則,從而判斷是否出錯。
  • 奇偶校驗碼:指的是n-1位信息元。分為奇校驗碼和偶校驗碼,奇指的是1的個數位奇數個,如果1的個數位偶數個,則給其首部添加1。隻能檢測出奇數個比特錯誤,檢錯能力為50%。

eg:如果一個字符s的ASCII編碼從低到高依次為1100101,采用奇校驗,在下述收到的傳輸字符後,哪種錯誤不能檢測?D
A.11000011 B.11001010 C.11001100 D.11010011

赞(0)