計算機網絡原理第三章——數據鏈路層

一、數據鏈路層功能概述

1.1 基本概念

1.1.1 鏈路

網絡中兩個節點之間的物理通道,鏈路的傳輸介質主要有雙絞線、光波和微波。

1.1.2 數據鏈路

網絡中兩個節點之間的邏輯通道,把實現數據傳輸協議(通信協議) 的硬件和軟件加到鏈路上就構成了數據鏈路。

1.1.3 幀

鏈路層的協議數據單元,封裝網絡層數據報。

1.2 功能概述

1.2.1 爲網絡層提供服務

{爲網絡層提供服務 \begin{cases}無確認無連接服務 \\ 有確認無連接服務\\ 有確認面向連接服務 \end{cases}

1.2.2 鏈路管理

連接的建立、維持、釋放(用於面向連接的服務)。

1.2.3 組幀

{  {()組幀 \begin{cases} 封裝成幀 \\ 透明傳輸 \\ \end{cases}   組幀的四種方法 \begin{cases} 字符計數法 \\ 字符(節)填充法 \\ 零比特填充法 \\ 違規編碼法 \\ \end{cases}

1.2.3.1 封裝成幀:就是在一段數據前後分別添加首部和尾部,構成一幀。首部和尾部的一個重要作用就是進行幀定界
1.2.3.2 字符計數法:在幀頭部中使用一個字段來標明幀內字符數
  • 優點:簡單
  • 缺點:一旦首字節出錯,幀邊界將出錯。更爲嚴重的是,影響後續幀的幀邊界界定。
1.2.3.3 字符填充法:以ASCII碼字符來填充,作爲首尾。
  • 當數據是由可打印的 ASCII 碼組成的文本文件時,幀定界可以使用特殊的幀定界符。
  • 控制字符 SOH (Start Of Header) 放在幀的最前面,表示幀的首部開始。控制字符 EOT (End Of Transmission) 表示幀的結束。
1.2.3.4 位填充法(零比特填充法):每一幀使用一個特殊的位模式,即[01111110] (0x 7E)作爲開始和結束標誌字節。

這裏就有一個透明傳輸問題:如果數據中的某個字節和 SOH 或 EOT 一樣,數據鏈路層就會錯誤地“找到幀的邊界”。
在這裏插入圖片描述
那麼如何解決透明傳輸問題呢,下面給出了兩種方式:

  • 字節填充或字符填充:發送端的數據鏈路層在數據中出現控制字符“SOH”或“EOT”的前面插入一個轉義字符“ESC”(0x 1B)。接收端的數據鏈路層刪除插入的轉義字符, 然後將數據送往網絡層。如果轉義字符“ESC”也出現在數據當中,那麼在轉義字符前面插入一個轉義字符 ESC。當接收端收到連續兩個轉義字符時,刪除前面一個。
    用“字節填充”法解決透明傳輸的問題
  • 用“位填充”法解決透明傳輸的問題:01111110 (0x 7E)作爲開始和結束標誌字節。當發送方數據鏈路層遇到數據中5個連續1時,自動在輸出流其後加個0。接收方在數據流中看到5個連續1後面跟個0,自動將此0刪去。

1.2.4 流量控制

{{退NGBNSR流量控制的方法 \begin{cases} 停止等待協議 \\ 滑動窗口協議 \begin{cases} 後退N幀協議(GBN)\\ 選擇重傳協議(SR) \\ \end{cases} \\ \end{cases}

1.2.5 差錯控制

/{{CRC位錯/比特錯 \begin{cases} 檢錯編碼 \begin{cases} 奇偶校驗碼 \\ 循環冗餘碼 CRC \\ \end{cases} \\ 糾錯編碼—海明碼 \\ \end{cases}

1.2.5.1 差錯控制:在傳輸過程中可能會產生比特差錯:1可能會變成0, 而0也可能變成1。
1.2.5.2 奇偶校驗碼:根據被傳輸的一組二進制代碼的位中“1”的個數是奇數或偶數來進行校驗。採用奇數的稱爲奇校驗,反之爲偶校驗。

如果採用奇校驗,在傳送每一個字節的時候另外附加一位作爲校驗位,當實際數據中“1”的個數爲偶數的時候,這個校驗位就是“1”,否則這個校驗位就是“0”。

1.2.5.3 循環冗餘碼CRC:在數據鏈路層傳送的幀中,廣泛使用了CRC的檢錯技術。其檢錯的原理是在原有數據後添加若干位數據,構成冗餘碼,用來檢錯。

冗餘碼的計算:

  1. 用二進制的模 2 運算進行 2n 乘 M 的運算,這相當於在 M 後面添加 n 個 0。
  2. 得到的 (k + n) 位的數除以事先選定好的長度爲 (n + 1) 位的除數 P,得出商Q,餘數 R,餘數 R 比除數 P 少 1 位,即 R 是 n 位。
  3. 將餘數 R 作爲冗餘碼拼接在數據 M 後面,一起發送出去。
    接收端若得出的餘數 R = 0,則判定這個幀沒有差錯,就接受 (accept),否則拋棄。
    在這裏插入圖片描述
    在這裏插入圖片描述

二、介質訪問控制

{{ FDM TDM WDM CDM{{{ALOHA{ALOHAALOHACSMA{1CSMACSMAPCSMACSMA/CDCSMA/CA介質訪問控制 \begin{cases} 靜態劃分信道—信道劃分介質訪問控制 \begin{cases} 頻分多路複用 {\rm {FDM}} \\ 時分多路複用 {\rm {TDM}} \\ 波分多路複用 {\rm {WDM}} \\ 碼分多路複用 {\rm {CDM}} \\ \end{cases} \\ 動態分配信道 \begin{cases} 輪詢訪問介質訪問控制 \begin{cases} 輪詢協議 \\ 令牌傳遞協議 \\ \end{cases} \\ 隨機訪問介質訪問控制 \begin{cases} {\rm ALOHA}協議 \begin{cases} 純{\rm ALOHA}協議 \\ 時隙{\rm ALOHA}協議 \\ \end{cases} \\ {\rm CSMA}協議 \begin{cases} 1-堅持{\rm CSMA}協議 \\ 非堅持{\rm CSMA}協議 \\ P-堅持{\rm CSMA}協議 \\ \end{cases} \\ {\rm CSMA/CD}協議 \\ {\rm CSMA/CA}協議 \\ \end{cases} \\ \end{cases} \\ \end{cases}

2.1 隨機訪問介質訪問控制

2.1.1 ALOHA協議

ALOHA是一種按需分配時分多址方式,或叫隨機多址方式, 廣泛用於各種無線數據通信網。

  • 純ALOHA協議:不監聽信道,不按時間槽發送,隨機重發。想發就發
  • 時隙ALOHA協議:把時間分成若干個相同的時間片,所有用戶在時間片開始時刻同步接入網絡信道,若發生衝突,則必須等到下一個時間片開始時刻再發送。控制想發就發的隨意性

2.1.2 CSMA—載波監聽多點接入

CS:載波監聽,每一個站點在發送數據之前,先要檢測一下總線上是否有其他計算機在發送數據,如果有,則暫時不要發送數據,以免發生碰撞。
MA:多點接入,表示許多計算機以多點接入的方式連接在一根總線上。
協議思想:發送幀之前,先監聽信道。

  • 1-堅持CSMA:當監聽到信道空閒時就直接發送數據,當信道忙時,要發送幀的站不斷持續偵聽,一有空閒,便發送。 長傳播延遲和同時發送幀,會導致多次衝突,降低系統性能。
  • 非堅持CSMA:當監聽到信道空閒時就直接發送數據,當檢測到信道忙時,不進行持續信道監聽,而是等一個隨機時間後,再進行監聽。具有更好的信道利用率,延遲更大。
  • P-堅持CSMA:當監聽到信道空閒時以p概率直接發送數據,概率1-p等待到下一個時間槽再傳輸。忙則等待一個隨機時間之後再進行監聽。

2.1.3 CSMA/CD—載波監聽多點接入/碰撞檢測:帶衝突檢測的CSMA

碰撞檢測:計算機邊發送數據邊檢測信道上的信號電壓大小。
在這裏插入圖片描述
在這裏插入圖片描述
二進制指數類型退避算法:

  1. 基本退避時間取爲爭用期 2τ\tau
  2. 從整數集合 [0, 1, … , (2k2^k - 1)] 中隨機地取出一個數,記爲 r。重傳所需的時延就是 r 倍的基本退避時間。
  3. 參數 k 按下面的公式計算:k = Min[重傳次數, 10]。
  4. 當 k ≤10 時,參數 k 等於重傳次數。
  5. 當重傳達 16 次仍不能成功時即丟棄該幀,並向高層報告。

2.1.4 CSMA/CA—載波監聽多點接入/碰撞避免:帶衝突避免的CSMA

三、局域網、以太網802.3、無線局域網802.11、虛擬局域網

3.1 局域網

3.1.1 局域網的特點

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

3.1.2 局域網的優點

  1. 具有廣播功能,從一個站點可很方便地訪問全網。局域網上的主機可共享連接在局域網上的各種硬件和軟件資源。
  2. 便於系統擴展和逐漸地演變,各設備位置可靈活調整和改變。
  3. 提高了系統的可靠性、可用性。

3.1.3 局域網分爲兩個子層

  • 邏輯鏈路控制 LLC子層—802.2
  • 媒體接入控制 MAC子層—802.3
3.1.3.1 MAC層 硬件地址
  • 在局域網中,硬件地址又稱爲物理地址,或 MAC 地址。
  • IEEE 802 標準規定 MAC 地址字段採用 6 字節(48位)。 前三個字節 (即高位 24 位),稱爲組織唯一標識符。 後三個字節 (即低位 24 位)由廠家自行指派,稱爲擴展唯一標識符
  • 單播地址,組地址,廣播地址:IEEE 規定地址字段的第一字節的最低位爲 I/G 位,I/G 表示 Individual / Group。當 I/G 位 = 0 時,地址字段表示一個單播地址;當 I/G 位 = 1 時,表示組地址,用來進行多播(組播);所有 48 位都爲 1 時,爲廣播地址,其只能作爲目的地址使用。
  • 全球管理與本地管理:IEEE 把地址字段第一字節的最低第 2 位規定爲 G/L 位,表示 Global / Local。當 G/L 位 = 0 時,是全球管理(保證在全球沒有相同的地址),廠商向 IEEE 購買的 OUI 都屬於全球管理;當 G/L 位 = 1 時,是本地管理,這時用戶可任意分配網絡上的地址。

3.2 以太網802.3

3.2.1 以太網MAC幀格式的兩種標準

  • DIX Ethernet V2 是世界上第一個局域網產品(以太網)的協議。
  • IEEE 802.3 是第一個 IEEE 的以太網標準。
3.2.1.1 以太網V2 MAC幀格式在這裏插入圖片描述無效的MAC幀:
  • 幀的長度不是整數個字節
  • 用收到的幀檢驗序列 FCS 查出有錯
  • 數據字段長度不在 46 ~ 1500 字節之間。
3.2.1.2 IEEE 802.3 MAC幀格式

與以太網 V2 MAC 幀格式相似,區別在於:

  • IEEE 802.3 規定的 MAC 幀的第三個字段是“長度 / 類型”。
    • 當這個字段值> 0x0600 時(相當於十進制的 1536),表示“類型”。這樣的幀和以太網 V2 MAC 幀完全一樣。
    • 當這個字段值< 0x0600 時, 表示“長度”。
  • 當“長度/類型”字段值小於 0x0600 時,數據字段必須裝入上面的邏輯鏈路控制 LLC 子層的 LLC 幀。

3.2.2 10BASE-T以太網

解釋:10-速率爲10Mbit/s
BASE-基帶
T-雙絞線

3.3 無線局域網802.11

3.4 虛擬局域網

3.4.1 虛擬局域網的優點

  1. 改善了性能
  2. 簡化了管理
  3. 降低了成本
  4. 改善了安全性

3.4.2 劃分虛擬局域網的方法

  • 基於交換機端口
  • 基於計算機網卡的MAC地址
  • 基於協議類型
  • 基於IP子網地址
  • 基於高層應用或服務

四、廣域網使用的鏈路層協議

4.1 PPP協議

4.1.1 PPP協議的特點:是目前使用最廣泛的數據鏈路層協議,用戶使用撥號電話線接入因特網時,一般都是使用 PPP 協議。只支持全雙工鏈路。

4.1.2 PPP協議應滿足的要求

  • 簡單:對於鏈路層的幀,無需糾錯,無需序號,無需流量控制。
  • 封裝成幀:必須規定特殊的字符作爲幀定界符
  • 透明傳輸:與幀定界符一樣比特組合的數據應該如何處理:異步線路用字節填充,同步線路用比特填充。
  • 多種網絡層協議:封裝的IP數據報可以採用多種協議。
  • 多種類型鏈路:串行/並行,同步/異步,電/光…,能夠在多種類型的鏈路上運行。
  • 差錯檢測:能夠對接收端收到的幀進行檢測,並立即丟棄有差錯的幀。
  • 檢測連接狀態:能夠及時自動檢測出鏈路是否處於正常工作狀態。
  • 最大傳輸單元:數據部分最大長度MTU
  • 網絡層地址協商:知道通信雙方的網絡層地址
  • 數據壓縮協商:必須提供一種方法來協商使用數據壓縮算法。

4.1.3 PPP協議無需滿足的要求

  • 糾錯
  • 流量控制
  • 序號
  • 多點線路
  • 半雙工或單工鏈路

4.1.4 PPP協議的三個組成部分

  • 一個將 IP 數據報封裝到串行鏈路(同步串行/異步串行)的方法。
  • 鏈路控制協議 LCP:建立並維護數據鏈路連接。
  • 網絡控制協議 NCP:PPP可支持多種網絡層協議,每個不同的網絡層協議都要一個相應的NCP來配置,爲網絡層協議建立和配置邏輯連接。

4.1.5 PPP協議的幀格式

  • PPP 幀的首部和尾部分別爲 4 個字段和 2 個字段。
  • 標誌字段 F = 0x7E (二進制表示是 01111110)。
  • 地址字段 A 只置爲 0xFF,實際上並不起作用。
  • 控制字段 C 通常置爲 0x03。
  • PPP 是面向字節的,所有的 PPP 幀的長度都是整數字節。
    PPP協議的幀格式

4.1.6 透明傳輸問題

  • 當 PPP 用在同步傳輸鏈路時,協議規定採用硬件來完成比特填充(零比特填充)
    • 在發送端只要有 5 個連續 1,則填入一個 0。接收端每當發現 5 個連續1時,就把這5 個連續 1 後的一個 0 刪除。
  • 當 PPP 用在異步傳輸時,就使用一種特殊的字符填充法
    • 將信息字段中出現的每個 0x7E 字節變成2 字節 (0x7D, 0x5E)。
    • 若信息字段中出現一個 0x7D 的字節, 將其變成 2 字節 (0x7D, 0x5D)。
    • 若信息字段中出現 ASCII 碼的控制字符(即數值小於 0x20 的字符),則在該字符前面要加入一個 0x7D 字節,同時將該字符的編碼加以改變。
      零比特填充
      字符填充法

4.1.7 PPP協議的狀態圖

在這裏插入圖片描述

4.2 HDLC協議

五、鏈路層設備

{{{{{鏈路層設備 \begin{cases} 物理層拓展以太網 \begin{cases} 光纖 \\ 集線器 \\ \end{cases} \\ 鏈路層拓展以太網 \begin{cases} 網橋 \begin{cases} 透明網橋 \\ 源路由網橋 \\ \end{cases} \\ 交換機(多接口網橋) \begin{cases} 直通式交換機 \\ 存儲轉發式交換機 \\ \end{cases} \\ \end{cases} \\ \end{cases}

5.1 物理層拓展以太網

5.1.1 使用光纖拓展

  • 主機使用光纖和光纖調制解調器連接到集線器。
  • 光纖的時延小,帶寬高,很容易使主機和幾公里以外的集線器相連接。

5.1.2 使用集線器擴展

將多個以太網段連成更大的、多級星形結構的以太網。

  • 優點:
    • 使原來屬於不同碰撞域的以太網上的計算機能夠進行通信。
    • 擴大了以太網覆蓋的地理範圍。
  • 缺點:
    • 碰撞域增大了,發生碰撞的概率增高,但總的吞吐量並未提高。
    • 如果不同的碰撞域使用不同的數據率,那麼就不能用集線器將它們互連起來。

5.2 鏈路層拓展以太網

5.2.1 網橋在這裏插入圖片描述

5.2.2 交換機

以太網交換機實質上就是一個多接口的網橋。相互通信的主機都是獨佔傳輸媒體,無碰撞地傳輸數據。
在這裏插入圖片描述

5.2.2.1 以太網交換機特點:
  • 接口有存儲器,能在輸出端口繁忙時把到的幀緩存。
  • 是一種即插即用設備,其內部的幀交換表(又稱爲地址表,轉發表)是通過自學習算法自動地逐漸建立起來的。
  • 使用專用的交換結構芯片,用硬件轉發,速率快。
  • 性能遠遠超過普通集線器,而且價格並不貴。
5.2.2.2 以太網交換機的優點:

用戶獨享帶寬,增加了總容量.
在這裏插入圖片描述

5.2.2.3以太網交換機的交換方式
  • 直通方式:接收數據幀的同時按數據幀目的MAC 地址決定該幀的轉發接口,提高幀的轉發速度。 缺點是它不檢查差錯就直接將幀轉發出去,因此有可能將一些無效幀轉發給其他站。
  • 存儲轉發方式:把整個數據幀先緩存後再進行處理。
5.2.2.4 採用以太網交換機的星型以太網

在這裏插入圖片描述

5.3 碰撞域和廣播域

5.3.1 碰撞域(collision domain)

又稱爲衝突域,是指網絡中一個站點發出的幀會與其他站點發出的幀產生碰撞或衝突的那部分網絡。 碰撞域越大,發生碰撞的概率越高。

5.3.2 廣播域

廣播域:網絡中能接收任一設備發出的廣播幀的所有設備的集合。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章