1. 程式人生 > 實用技巧 >資料鏈路層

資料鏈路層

計算機網路第七版謝希仁著

一、資料鏈路層三個基本問題:

資料鏈路層協議有許多種,但有三個基本問題則是共同的。這三個基本問題是:

  • 封裝成幀:封裝成幀 (framing) 就是在一段資料的前後分別新增首部和尾部,然後就構成了一個幀。
    首部和尾部的一個重要作用就是進行幀定界。
    在這裡插入圖片描述
    當資料是由可列印的 ASCII 碼組成的文字檔案時,幀定界可以使用特殊的幀定界符。
    控制字元 SOH (Start Of Header) 放在一幀的最前面,表示幀的首部開始。另一個控制字元 EOT (End Of Transmission) 表示幀的結束。
    在這裡插入圖片描述

  • 透明傳輸:如果資料中的某個位元組的二進位制程式碼恰好和 SOH 或 EOT 一樣,資料鏈路層就會錯誤地“找到幀的邊界”。

    在這裡插入圖片描述
    解決方案:在PPP協議中非同步傳輸使用位元組填充,同步傳輸使用零位元填充方法

  • 差錯控制 :在一段時間內,傳輸錯誤的位元佔所傳輸位元總數的比率稱為誤位元速率 BER (Bit Error Rate)。
    誤位元速率與信噪比有很大的關係。
    為了保證資料傳輸的可靠性,在計算機網路傳輸資料時,必須採用各種差錯檢測措施。
    在資料鏈路層傳送的幀中,廣泛使用了迴圈冗餘檢驗 CRC 的檢錯技術。

二、點對點協議PPP

對於點對點的鏈路,目前使用得最廣泛的資料鏈路層協議是點對點協議 PPP (Point-to-Point Protocol)。
PPP 協議在 1994 年就已成為網際網路的正式標準。

在資料鏈路層,PPP協議(點對點協議)我們知道,網際網路使用者通常都要連線某個ISP才能接入到網際網路。PPP協議就是使用者計算機和ISP進行通訊時所使用的資料鏈路層協議。

在這裡插入圖片描述
PPP的工作狀態:
1、當用戶撥號接入 ISP 時,路由器的調變解調器對撥號做出確認,並建立一條物理連線。
2、PC 機向路由器傳送一系列的 LCP 分組(封裝成多個 PPP 幀)。
3、這些分組及其響應選擇一些 PPP 引數,並進行網路層配置,NCP 給新接入的 PC 機分配一個臨時的 IP 地址,使 PC 機成為因特網上的一個主機。
4、通訊完畢時,NCP 釋放網路層連線,收回原來分配出去的 IP 地址。接著,LCP 釋放資料鏈路層連線。最後釋放的是物理層的連線。
可見,PPP 協議已不是純粹的資料鏈路層的協議,它還包含了物理層和網路層的內容。
在這裡插入圖片描述

三、使用廣播通道的資料鏈路層

廣播通道可以進行一對多的通訊。區域網使用的就是廣播通道。區域網是在20世紀70年代末發展起來的。區域網技術在計算機網路中佔有非常重要的地位。

區域網最主要的特點是:

  • 網路為一個單位所擁有;
  • 地理範圍和站點數目均有限。

區域網具有如下主要優點:

  • 具有廣播功能,從一個站點可很方便地訪問全網。區域網上的主機可共享連線在區域網上的各種硬體和軟體資源。
  • 便於系統的擴充套件和逐漸地演變,各裝置的位置可靈活調整和改變。
  • 提高了系統的可靠性、可用性和殘存性。

在這裡插入圖片描述
最初的乙太網是將許多計算機都連線到一根總線上。易於實現廣播通訊。當初認為這樣的連線方法既簡單又可靠,因為總線上沒有有源器件。
匯流排的特點就是:當一臺計算機發送資料時,總線上的所有計算機都能檢測到這個資料。這種就是廣播通訊方式。但我們並不總是要在區域網上進行一對多的廣播通訊。
為了實現一對一通訊,將接收站的硬體地址寫入幀首部中的目的地址欄位中。僅當資料幀中的目的地址與介面卡的硬體地址一致時,才能接收這個資料幀。
匯流排也有缺點。若多臺計算機或多個站點同時傳送時,會產生髮送碰撞或衝突,導致傳送失敗。因此乙太網採用CSMA/CD協議。


下面知識點涉及資料鏈路層P84

當計算機要傳送IP資料報時,就由協議棧把IP資料報向下交給介面卡,介面卡組裝成MAC幀後,傳送到區域網(本網路中的一個主機/路由器),在接收端,對其進行差錯檢測(CRC檢測),正確的話,再去除MAC幀首部和尾部,得到一個數據報。(傳送端幀檢驗序列FCS的生成(FCS放在幀尾部)和接收端的CRC檢驗都是用硬體完成的,處理很迅速,不會延誤資料的傳輸)

下面知識點涉及子網分組的轉發:

當路由器收到一個待轉發的資料報,在從該路由表根據分組轉發演算法(P134頁,P141頁)得到下一跳路由器(本區域網中的一個路由,可以通過其連線到其他網路)的IP地址後,不是把這個地址填入IP資料報,而是送交資料鏈路層的網路介面軟體。
網路介面軟體負責把下一跳路由器的IP地址轉換成硬體地址(使用ARP協議,ARP細節檢視P125頁,如何在區域網內根據目標主機/路由的IP地址找到硬體地址)
然後把該硬體地址放在鏈路層的MAC幀的首部(介面卡的作用是把該IP資料組裝成MAC幀),介面卡傳送MAC幀到區域網(網路中),然後根據這個硬體地址找到下一跳路由器。