計算機網絡原理筆記 第三章 數據鏈路層(一)

數據鏈路層(一)

3.1 使用點對點信道的數據鏈路層

3.1.1 數據鏈路層和幀

數據發送模型
在這裏插入圖片描述
數據鏈路層的信道類型
數據鏈路層使用的信道主要有以下兩種類型:

  • 點對點信道。這種信道使用一對一的點對點通信方式。
  • 廣播信道。這種信道使用一對多的廣播通信方式,因此過程比較複雜。廣播信道上連接的主機很多,因此必須使用專用的共享信道協議來協調這些主機的數據發送。

鏈路與數據鏈路

  • **鏈路(link)**是一條無源的點到點的物理線路段,中間沒有任何其他的交換結點。

一條鏈路只是一條通路的一個組成部分。

  • 數據鏈路(data link) 除了物理線路外,還必須有通信協議來控制這些數據的傳輸。若把實現這些協議的硬件和軟件加到鏈路上,就構成了數據鏈路。
  • 現在最常用的方法是使用適配器(即網卡)來實現這些協議的硬件和軟件。
  • 一般的適配器都包括了數據鏈路層和物理層這兩層的功能。

  • 數據鏈路層傳送的是
    -在這裏插入圖片描述

3.1.2 三個基本問題

1.封裝成幀

  • 封裝成幀(framing) 就是在一段數據的前後分別添加首部和尾部,然後就構成了一個幀。確定幀的界限。

  • 首部和尾部的一個重要作用就是進行幀定界
    在這裏插入圖片描述

  • 用控制字符進行幀定界的方法舉例

試想:幀還未發送完,發送端出了問題,只能重發該幀。接收端卻收到了前面的“半截子幀”,它會拋棄嗎?爲什麼?

在這裏插入圖片描述

2.透明傳輸

  • 若傳輸的數據是ASCII碼中“可打印字符(共95個)“集時,一切正常。

  • 若傳輸的數據不是僅由”可打印字符”組成時,就會出問題,如下
    在這裏插入圖片描述

用字節填充法解決透明傳輸問題

  • 發送端的數據鏈路層在數據中出現控制字符“SOH”或“EOT”的前面插入一個轉義字符“ESC”(其十六進制編碼是 1B)。

  • 字節填充(byte stuffing)或字符填充(character stuffing)——接收端的數據鏈路層在將數據送往網絡層之前刪除插入的轉義字符。

  • 如果轉義字符也出現數據當中,那麼應在轉義字符前面插入一個轉義字符。當接收端收到連續的兩個轉義字符時,就刪除其中前面的一個。

  • 當傳送的幀是用文本文件組成的幀時(文本文件中的字都是從鍵盤上輸入的),其數據部分顯然不會出現像SOH或EOT這樣的幀定界控制字符。可見不管從鍵盤上輸入什麼字符都可以放在這樣的幀中傳輸過去,因此這樣的傳輸就是透明傳輸。
    在這裏插入圖片描述

3.差錯控制

  • 在傳輸過程中可能會產生比特差錯:1 可能會變成 0 而 0 也可能變成 1。

  • 在一段時間內,傳輸錯誤的比特佔所傳輸比特總數的比率稱爲誤碼率 BER (Bit Error Rate)。

  • 誤碼率與信噪比有很大的關係。

  • 爲了保證數據傳輸的可靠性,在計算機網絡傳輸數據時,必須採用各種差錯檢測措施。

循環冗餘檢驗的原理

  • 在數據鏈路層傳送的幀中,廣泛使用了循環冗餘檢驗 CRC 的檢錯技術。

  • 在發送端,先把數據劃分爲組。假定每組 k 個比特。

  • 假設待傳送的一組數據 M = 101001(現在 k = 6)。我們在 M 的後面再添加供差錯檢測用的 n冗餘碼一起發送。

冗餘碼的計算

  • 用二進制的模 2 運算進行 2nM 的運算,這相當於在 M 後面添加 n 個 0。

  • 得到的 (k + n) 位的數除以事先選定好的長度爲 (n + 1) 位的除數 P,得出Q 而餘數是 R餘數 R 比除數 P 少1 位,即 Rn 位。

冗餘碼的計算舉例

現在 k = 6, M = 101001。
n = 3, 除數 P = 1101,
被除數是 2n**M = 101001000。
模 2 運算的結果是:商 Q = 110101,
餘數 R = 001。
把餘數 R 作爲冗餘碼添加在數據 M 的後面發送出去。發送的數據是:2n**M + R
即:101001001,共 (k + n) 位。

循環冗餘檢驗的原理說明
在這裏插入圖片描述
幀檢驗序列 FCS
在數據後面添加上的冗餘碼稱爲幀檢驗序列 FCS (Frame Check Sequence)。

循環冗餘檢驗 CRC 和幀檢驗序列 FCS並不等同。

  • CRC 是一種常用的檢錯方法,而 FCS 是添加在數據後面的冗餘碼

  • FCS 可以用 CRC 這種方法得出,但 CRC 並非用來獲得 FCS 的唯一方法。

接收端對收到的每一幀進行 CRC 檢驗

  • (1) 若得出的餘數 R = 0,則判定這個幀沒有差錯,就接受(accept)。

  • (2) 若餘數 R ≠ 0,則判定這個幀有差錯,就丟棄

  • 但這種檢測方法並不能確定究竟是哪一個或哪幾個比特出現了差錯。
    只要經過嚴格的挑選,並使用位數足夠多的除數 P,那麼出現檢測不到的差錯的概率就很小很小。

補零位數比除數位數少一

異或運算
1+1=0 1+0=0 0+1=0 0+0=0

除數由兩臺計算機數據鏈路層協議決定

小結:CRC差錯檢測技術
僅用循環冗餘檢驗 CRC 差錯檢測技術只能做到無差錯接受(accept)。

  • “無差錯接受”是指:“凡是接受的幀(即不包括丟棄的幀),我們都能以非常接近於 1 的概率認爲這些幀在傳輸過程中沒有產生差錯”。也就是說:“凡是接收端數據鏈路層接受的幀都沒有傳輸差錯”(有差錯的幀就丟棄而不接受)。

  • 要做到“可靠傳輸”(即發送什麼就收到什麼)就必須再加上確認重傳機制。

    • 考慮:幀重複、幀丟失、幀亂序的情況

可以說“CRC是一種無比特差錯,而不是無傳輸差錯的檢測機制”
OSI/RM模型的觀點:數據鏈路層要做成無傳輸差錯的!但這種理念目前不被接受。

數據鏈路層的信道類型

•數據鏈路層使用的信道主要有以下兩種類型:

  • 點對點信道。 這種信道使用一對一的點對點通信方式。

  • 廣播信道。 這種信道使用一對多的廣播通信方式,因此過程比較複雜。廣播信道上連接的主機很多,因此必須使用專用的共享信道協議來協調這些主機的數據發。
    ·

3.2 點對點協議 PPP

  • 現在全世界使用得最多的數據鏈路層協議是點對點協議 PPP (Point-to-Point Protocol)。

  • 用戶使用撥號電話線接入因特網時,一般都是使用 PPP 協議。

    用戶到 ISP 的鏈路使用 PPP 協議
    在這裏插入圖片描述

3.2.1 PPP協議的特點

PPP 協議應滿足的需求

  • 簡單——這是首要的要求
  • 封裝成幀
  • 透明性
  • 多種網絡層協議
  • 多種類型鏈路
  • 差錯檢測
  • 檢測連接狀態
  • 最大傳送單元
  • 網絡層地址協商
  • 數據壓縮協商

·

PPP 協議不需要的功能

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

PPP 協議的組成

  • 1992 年制訂了 PPP 協議。經過 1993 年和 1994 年的修訂,現在的 PPP 協議已成爲因特網的正式標準[RFC 1661]。
    • PPP 協議有三個組成部分
    • 一個將 IP 數據報封裝到串行鏈路的方法。
    • 鏈路控制協議 LCP (Link Control Protocol)。
    • 網絡控制協議 NCP (Network Control Protocol)。

3.2.2 PPP協議的幀格式

  • 標誌字段 F = 0x7E (符號“0x”表示後面的字符是用十六進制表示。十六進制的 7E 的二進- - 製表示是 01111110)。
  • 地址字段 A 只置爲 0xFF。地址字段實際上並不起作用。
  • 控制字段 C 通常置爲 0x03。
  • PPP 是面向字節的,所有的 PPP 幀的長度都是整數字節。
    在這裏插入圖片描述

透明傳輸問題

  • 當 PPP 用在同步傳輸鏈路時,協議規定採用硬件來完成比特填充(和 HDLC 的做法一樣)。
  • 當 PPP 用在異步傳輸時,就使用一種特殊的 字符填充法

字符填充

  • 將信息字段中出現的每一個 0x7E 字節轉變成爲 2 字節序列(0x7D, 0x5E)。

  • 若信息字段中出現一個 0x7D 的字節, 則將其轉變成爲 2 字節序列(0x7D, 0x5D)。

  • 若信息字段中出現 ASCII 碼的控制字符(即數值小於 0x20 的字符),則在該字符前面要加入一個 0x7D 字節,同時將該字符的編碼加以改變。

.
零比特填充

  • PPP 協議用在 SONET/SDH 鏈路時,是使用同步傳輸(一連串的比特連續傳送)。這時 PPP 協議採用零比特填充方法來實現透明傳輸。

  • 在發送端,只要發現有 5 個連續 1,則立即填入一個 0。接收端對幀中的比特流進行掃描。每當發現 5 個連續1時,就把這 5 個連續 1 後的一個 0 刪除。
    在這裏插入圖片描述

不提供使用序號和確認 的可靠傳輸

  • PPP 協議之所以不使用序號和確認機制是出於以下的考慮:

    • 在數據鏈路層出現差錯的概率不大時,使用比較簡單的 PPP 協議較爲合理。

    • 在因特網環境下,PPP 的信息字段放入的數據是 IP 數據報。數據鏈路層的可靠傳輸並不能夠保證網絡層的傳輸也是可靠的。

    • 幀檢驗序列 FCS 字段可保證無差錯接受。

3.2.3 PPP協議的工作狀態

  • 當用戶撥號接入 ISP 時,路由器的調制解調器對撥號做出確認,並建立一條物理連接。

  • PC 機向路由器發送一系列的 LCP 分組(封裝成多個 PPP 幀)。

  • 這些分組及其響應選擇一些 PPP 參數,和進行網絡層配置,NCP 給新接入的 PC機分配一個臨時的 IP 地址,使 PC 機成爲因特網上的一個主機。

  • 通信完畢時,NCP 釋放網絡層連接,收回原來分配出去的 IP 地址。接着,LCP 釋放數據鏈路層連接。最後釋放的是物理層的連接。
    在這裏插入圖片描述

3.3 使用廣播信道的數據鏈路層(局域網)

3.3.1 局域網的數據鏈路層

局域網最主要的特點是:網絡爲一個單位所擁有,且地理範圍和站點數目均有限。

局域網具有如下的一些主要優點:

  • 具有廣播功能,從一個站點可很方便地訪問全網。局域網上的主機可共享連接在局域網上的各種硬件和軟件資源。

  • 便於系統的擴展和逐漸地演變,各設備的位置可靈活調整和改變。

  • 提高了系統的可靠性、可用性和殘存性。
    在這裏插入圖片描述
    媒體共享技術

靜態劃分信道

  • 頻分複用
  • 時分複用
  • 波分複用
  • 碼分複用

動態媒體接入控制(多點接入)

  • 隨機接入
  • 受控接入 ,如多點線路探詢(polling),或輪詢。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章