第二章 計算機網絡 數據鏈路層

第二章 數據鏈路層

本章的重點內容是:算法

  • 數據鏈路層的點對點信道和廣播信道的特色,以及這兩種信道使用的協議.(PPP)協議,以及CSMA/CD協議.
  • 數據鏈路層的三個基本問題: 封裝成幀,透明傳輸和差錯檢測

數據發送模型

從主機H1到主機H2通訊,通過路由器R1,R2,R3.其中的H1和H2都是5層協議,路由器都是三層模型.
數據進入路由器後要從物理層上到網絡層,在轉發表中找到下一跳的地址後,在向下從物理層發送出去.
在咱們研究數據鏈路層中,咱們只研究數據鏈路層,也就是咱們只關心協議棧水平方向的各數據鏈路層. 沒必要考慮物理層的信息,也就是使用模擬信號仍是數字信號,頻分複用,仍是時分複用等等信息等等.
網絡

2.1.1數據鏈路層的信道類型

數據鏈路層屬於計算機的網絡的底層.數據鏈路層使用的信道主要有如下的兩種:異步

  • 點對點通訊
  • 廣播信道 使用一對多的廣播信道.使用專門的共享信息協議來協調主機的數據發送.

2.1.2鏈路與數據鏈路的概念區別

  • 鏈路:指的是物理概念,是一個節點到下一個節點之間的物理線路(有線,或者無線)
  • 數據鏈路: 除了物理線路外,必須有通行協議來控制這些數據的傳輸.把實現這些協議的硬件和軟件加到鏈路上,構成了數據鏈路 . (別稱邏輯鏈路)
  • 最多見的方法是使用適配器(網卡) 來實現這些協議的硬件和軟件
  • 通常的適配器包括了數據鏈路層和物理層者這兩種功能

2.1.3幀

  • 數據鏈路把網絡層交下來的數據構成幀,一樣把收到的幀把其中的數據取出交給網絡層.
  • 點對點的通訊協議主要的步驟:
  1. 節點A的數據鏈路層把網絡層交下來的IP數據報添加到首部和(校驗信息)尾部,封裝成幀.
  2. 節點A把封裝好的幀發送給B的鏈路層
  3. 若B的鏈路層收到的幀無差錯,提取數據交給網絡層

2.1.4數據鏈路層解決的三個基本問題

  • 封裝成幀
  • 透明傳輸
  • 差錯控制

2.1.5封裝成幀

就是一段數據的先後分別添加頭部和尾部.這樣就構成了一個幀.
用SACII碼傳輸數據時,幀的定界使用特殊的字符. SOH和EOT
計算機網絡

2.1.6透明字符

因爲幀使用特殊的字符控制幀的定界,若是在字符中出現這種字符,那麼會形成數據傳輸的問題.
使用轉義字符,相似C語言中字符串中的問題. 在發送端的數據中出現轉特殊控制字符是時,添加轉義. 在接受端去除這種轉義字符.code

差2.1.7錯檢測

信息在傳輸的過程當中會產生差錯.咱們使用誤碼率來衡量這個標準.在計算機網絡中.使用一種循環冗餘檢驗(CRC Cyclie Redundancy Cheek)的容錯技術
就是在數據後後面添加上多餘的信息保證前面的信息正確.blog

2.1.8 CRC的具體過程

n位的冗餘碼的計算過程以下:
用二進制的模2運算進行2的n次乘以M的運算,至關於在n的後面添加了n個0.獲得(k+n)位的數,除以雙方事先協商好了長度爲(n+1)的除數P,這不是二進制除法.
路由

注意 : 這裏的模2運算,加法和減法沒有進位值. 1111+1010=0101
在獲得餘數R被添加到數據中,發送出去,在此除以P,那麼餘數就爲0.
模二運算模2運算字符串

2.1.8 CRC結果處理

在數據鏈路層,反送幀檢驗序列(FCS)就是前面的餘數,以及接受端CRC檢驗都是用硬件完成的,處理很是的迅速.並不會耽誤數據的傳輸
這裏只使用CRC技術,只能對作到對幀的無差錯接受(就是凡是接受端數據鏈路層接受的幀均無差錯).
這裏注意,如今並無對數據鏈路層向網絡層提供可靠的傳輸服務. 前面說的是bit差錯,就是在數據中發送錯誤.可是接受到的幀若是出現幀丟失,幀重複,幀失序則CRC無能爲力了.
解決辦法:get

  1. 最簡單的方法就是在數據上添加必要的冗餘信息,例如幀編號,幀確認,幀重複.收到正確的幀要向發送端發送正確的通知,在必定的時間沒有收到幀,發送幀丟失信息.進行從新傳送.
  2. 交給上層的傳輸協議來檢查,具體的數據是否正確

2.2 點對點的協議PPP

在通訊質量比較差的年代,在數據鏈路層使用可靠傳輸協議曾經是一種比較好的辦法(HDLC Height-Level Data Link Control0).可是如今廣泛使用的點對點PPP(point-to-point)協議,在這裏ISP實現了計費功能 驗證功能同步

2.2.1 PPP協議特色

PPP協議就是計算機和ISP進行通訊是使用的協議. PPP協議是IETF在1992年制定的. 在1994成爲標準.

PPP協議知足的要求

  • 簡單,將最複雜放在TCP協議,網際協議IP提供的是不可靠的數據服務,數據鏈路層也不須要糾錯,序號等冗餘信息 簡單的使用CRC算法
  • 封裝成幀 使用特殊的字符做爲開始和結束字符
  • 透明 前面數據透明相同
  • 多種網絡層協議 PPP必須同時可以在同一條物理鏈路上同時支持多種網絡層協議(IP協議或者IPX)或者其餘
  • 多種類型鏈路 串行或者並行,同步異步,以及高速低速,光或者非光.
    1999年發佈在以太網上運行的PPP及就是PPP over Ethernet ,簡稱爲PPoe,這就是PPP協議可以適應多種類型鏈路的典型例子.
  • 差錯檢測:丟棄有差錯的幀
  • 鏈接狀態檢測: 自動檢測鏈路是否處於正常工做狀態
  • 最大傳送單元 PPP協議必須對每一種類型的點對點鏈路設置最大的傳送單元MTU(maximum receive Unit).默認是1500字節. 這裏是數據的長度不是幀的長度
  • 網絡層地址協商 : 使得通訊的兩個網絡層可以經過協商可以知道或者配置彼此的網絡層.
  • 數據壓縮:不是必須的標準
    數據的可靠:數據的可靠是在運輸層的TCP控制的.PPP協議不支持多點線路,一個主站輪流和鏈路上的多個從站交流 PPP指支持雙全工

PPP協議幀的格式

  1. F 0x7E表示幀的開始 首部地址AoXFF開始地址,控制字段0X03沒有定義.
    第四個字段: 使用的2個字節是協議字段 0X0021表示的IP數據段 0xC021表示的是PPP鏈路控制協議LCP的數據 ,0X8021表示的是網絡層的控制數據.
    尾部的FCS,前面的餘數,最後7E結束.

  2. 字節填充
    使用0X7D爲轉義定義

  3. 零bit填充
    若是傳輸使用的bit流,若是出現5個1,則後面添加一個0實現,接受端接受帶數據在刪除0

  4. PPP協議工做狀態 用戶撥號接入ISP時,路由器的調制解調器對撥號作出確認,並創建一條物理鏈接. PC機發送一系列的LCP分組(分組成多個PPP協議) 這些分組信息及其相應信息對網絡進行配置,NCP給接入的PC機分配一個臨時IP地址,是PC機成爲一個主機. 通訊完畢,NCP釋放網絡層鏈接,收回分配的IP地址.最後釋放物理層協議 路由器檢測到調制解調器發出的載波信號後,創建的物理層鏈接

相關文章
相關標籤/搜索