計算機網絡之數據鏈路層

注意:本文是數據鏈路層筆記;可以結合教材《計算機網絡》-謝希仁

計算機網絡之數據鏈路層

數據鏈路層關注的三個問題:封裝成幀,透明傳輸和差錯檢測

一. 數據鏈路層概述

在研究數據鏈路層的時候,可以暫且關注該層,而屏蔽其他層
在這裏插入圖片描述在這裏插入圖片描述

關鍵詞:數據幀


1.1 封裝成幀

我們將數據鏈路層給網絡層交付的協議數據單元添加幀頭和幀尾的操作,稱爲封裝成幀;其目的都是爲了在鏈路上以幀爲單位來傳輸數據,實現其本身的功能

在這裏插入圖片描述


1.2 差錯檢測

發送方將封裝好的幀通過物理層發送到傳輸媒體;幀在傳輸過程中可能出現誤碼,也就是比特0可能變成比特1,反之亦然。但是,接受方主機是沒有辦法知道到底出現誤碼沒有,所以需要通過輔助手段來進行判斷。例如:檢錯碼

在這裏插入圖片描述


1.3 可靠傳輸

接受方主機收到有誤碼的幀後,將其丟棄;如果數據鏈路層提供的是不可靠服務,那麼丟棄就無所謂;但如果是提供的是可靠服務時,則需要其他措施來確保可以重新接收到被丟棄的這個幀的正確副本。
在這裏插入圖片描述

封裝成幀,差錯檢測和可靠傳輸時數據鏈路層中最基本,最重要的問題。

上訴三個問題使用的時點對點信道的數據鏈路層來舉例的。下面看一下廣播信道


1.4 廣播信道的數據鏈路層

在這裏插入圖片描述
傳輸信號碰撞問題,這是採用廣播信道的共享式局域網不可避免的; 以太網的媒體接入控制協議 CSMA/CD (載波監聽多點接入/碰撞檢查)

在這裏插入圖片描述
隨着技術的發展;交換技術的成熟和成本的降低,具有更高性能的,使用點對點鏈路和鏈路層交換機的交換時局域網在有線(局域網)領域完全取代了共享式局域網
在這裏插入圖片描述
不過: 無線局域網仍然使用的是共享信道技術

在這裏插入圖片描述


二.封裝成幀

幀定界標誌也就是一個特定數值。針對這個特定標誌在協議數據單元也存在時需要進行轉義。; 所以在發送之前對特殊字符插入一個轉移字符
在這裏插入圖片描述

比特填充法具體地說,發送端的數據鏈路層遇到數據比特流中出現5個連續“1”的時候,它就自動在輸出比特流中插入一個“0”;接收端遇到5個輸入比特爲“1”,且後面緊接的是“0”時,自動將其刪除。字符填充法的主要缺點是依賴於特定的字符模式

在差錯控制中,如果發現只有開始的幀定界符而沒有結束的幀定界符也一樣會被當作不完整而拋棄。

在這裏插入圖片描述

幀的數據部分纔是真正所要傳輸的數據,幀頭和幀爲只是爲了實現數據鏈路層功能而額外添加的。
在這裏插入圖片描述

三.差錯檢測

比特雖然在傳輸過程中會出現差錯,但是目的主機並不清楚是否發生了差錯,這個時候就需要通過輔助手段來進行判斷。所有就出現差錯檢測碼

在這裏插入圖片描述
在幀尾中包含了一個長度爲4個字節的幀檢驗序列FCS字段,其作用就是讓接收方的數據鏈路層檢查幀在傳輸過程中是否產生了誤碼。


3.1 檢驗方法

奇偶校驗
在這裏插入圖片描述由於奇偶校驗的漏檢率比較高,因此計算機網絡的數據鏈路層一般不會採用這種檢查方法


循環冗餘校驗CRC(Cyclic Redundancy Check)

這種校驗方法漏檢率較低

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

在CRC檢錯的基礎上,還增加了,幀編號,確認和重傳機制。收到正確的幀就要發送端發送確認,發送端在一定的期限內若沒有收到對方的確認,就認爲出現了差錯,因而進行重傳,直到對方確認爲止。歷史上這種方法很好用,但現在通信線路的質量已經大大提高,由通信鏈路質量不好引起差錯的概率已經大大降低。在這種情況下就區別對待。

對於通信質量良好的有線傳輸鏈路,數據鏈路層協議不使用確認和重傳機制,即不要求數據鏈路層向上層提供可靠傳輸服務。(把任務交給其上層,例如:運輸層的TCP協議)

對於通信質量較差的無線傳輸鏈路,數據鏈路層協議使用確認和重傳機制。數據鏈路層向上提供可靠傳輸服務。


四. 可靠傳輸

4.1 可靠傳輸的基本概念

在這裏插入圖片描述比特差錯只是傳輸差錯中的一種,從整個計算機網絡體系結構中來看,
傳輸差錯還包括分組丟失,分組時序以及分組重複
在這裏插入圖片描述

  1. 主機H6給主機H2發送的分組到達了路由器R5;由於路由器輸入隊列快滿了,主動丟棄收到的分組(根據自己的分組丟棄策略將該分組丟棄);這是一種分組丟失的情況;

  2. 分組時序,主機H6依次給主機H2發送三個分組,但並未按順序依次到達H2,(最先發送的分組未必最先到達)

  3. 主機H6依次給主機H2發送分組,由於某些原因在網絡中滯留了,沒有及時到達H2 ,這可能造成H6對該分組的超時重發,重發的分組到達H2,一段時間後,滯留在網絡中的那個分組又到達了H2;這就會造成分組重複的傳輸差錯

分組丟失,分組失序以及分組重複這些傳輸差錯,一般不會出現在數據鏈路層,而會出現在其上層

在這裏插入圖片描述
注意:

以太網則不需要,802.11無線局域網要求底層實現可靠傳輸

可靠傳輸的三種方式: 停止-等待協議SW; 回退N幀協議GBN;選擇重傳協議SR; 這三種可靠傳輸的實現並不僅限於數據鏈路層,可以應用計算機網絡體系結構中的各層協議中。


4.2 停止-等待協議

  1. 收發雙方基於互聯網進行通信,而不是侷限與點對點的鏈路
  2. 發送方給接受方發送數據分組,接受方接受到後對其進行差錯檢測
  3. 若沒有誤碼,則接受該數據分組,並給發送方發送確認分組,簡稱爲ACK;
  4. 接受方接受到ACK後,才能發送下一個分組;
  5. 假設在傳輸過程中出現了誤碼;接受方接受到後對其進行差錯檢測,發現了誤碼,則丟棄該數據分組;並給發送方發送否認分組,簡稱爲NAK;
  6. 發送方收到所發送數據分組的否認分組後,就知道之前發送的數據分組出現了差錯而被拒絕接受,立即重新發送數據分組,因此發送方每發送完一個數據分組後,並不能立刻將該數據分組從緩存中刪除;只有在收到針對該數據分組的確認分組後,才能將其從緩存中刪除
  7. 發送方發送完一個分組後,需要等待接受方發送回來確認分組後才繼續往後發送;這樣就確定發送方發送什麼接受方都能接受到;但實際情況比上面複雜;
    在這裏插入圖片描述

發送方給接受方發送數據分組,然而該數據分組在傳輸過程中丟失了;(數據鏈路層點對點信道而言,不太容易出現這種情況,但對於多個網絡通過多個路由器互連的複雜互聯網環境而言,這種情況比較常見)
在這裏插入圖片描述如果上述情況中,ACK確認數據丟失了,將會怎麼辦呢;這種情況必然會造成先前發送的數據分組的超時重傳。如果中超時重傳的數據分組也到達了接收方,那麼接收方如何判斷該數據分組是否是一個重複的分組呢?

在這裏插入圖片描述通過添加序號的方式來避免分組重複問題;如果數據分組需要編碼,那麼確認分組是否需要編號呢?

在這裏插入圖片描述通過給確認分組編碼的方式來解決了確認遲到問題。

說明:對於數據鏈路中點對點的信道,往返時間比較固定,不會出現確認遲到的情況;如果只在數據鏈路層實現停止-等待協議,可以不給確認分組編號;

在這裏插入圖片描述在這裏插入圖片描述停止-等待協議SW的信道利用率

在這裏插入圖片描述

圖中忽略接收方對數據分組的處理時延,和接收方對確認分組的處理時延

一般TD遠大於TA;當RTT遠大於TD時,信道利用率會非常低

在這裏插入圖片描述在這裏插入圖片描述
像停止-等待協議這種通過確認和重傳機制實現的可靠傳輸協議常稱爲自動請求重傳協議ARQ


4.2 回退N幀協議

爲了提高信道利用率,採用流水線方式;而回退N幀協議GBN就是在流水線傳輸的基礎上,利用發送窗口來限制發送方可連續發送數據分組的個數。
在這裏插入圖片描述

需要有一個發送窗口來限制發送分組的個數

回退N幀協議GBN;該協議在流水線傳輸的基礎上,利用發送窗口來限制發送方可連續發送數據分組的個數

在這裏插入圖片描述接收方只能接收一個分組,這一點根停止-等待協議SW一樣;接下來看一下案例說明:


無差錯的情況
在這裏插入圖片描述


累計確認的概念
在這裏插入圖片描述
舉例說明累計確認

在這裏插入圖片描述1. 回退N幀協議,即使確認分組丟失,發送方也可能不必重傳
2. 減少接收方的網絡開銷,減少網絡資源佔用等

缺點:不能向發送方及時反映出接收方已經正確收的數據分組信息


差錯情況案例
在這裏插入圖片描述
回退N幀協議的由來

在這裏插入圖片描述
若WT超過取值範圍,例如WT=8,會出現什麼樣的情況

在這裏插入圖片描述
針對回退N幀協議,小結如下
在這裏插入圖片描述在這裏插入圖片描述
回退N幀協議小結:
在這裏插入圖片描述


4.3 選擇重傳協議

選擇重傳協議時回退N幀協議改進;和 修改其WR只能等於1;

在這裏插入圖片描述
接下來一起看一下選擇重傳協議的工作原來
在這裏插入圖片描述在這裏插入圖片描述討論一下發送窗口的大小
在這裏插入圖片描述


選擇重傳協議SR(Selective Request)

在這裏插入圖片描述


選擇重傳協議考題:

在這裏插入圖片描述


五. 點對點協議PPP

點對點協議PPP(Point-to-Point Protocol) 是目前使用最廣泛的點對點數據鏈路層協議

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

在這裏插入圖片描述PPP協議主要的組成部分:查看上面。LCP,NCP,將IP數據報封裝到串行鏈路的方法


點對點協議PPP幀格式
在這裏插入圖片描述
標誌字段就是PPP幀的定界符;如果出現連續兩個標誌字段,就表示這是一個空幀。應當丟棄


PPP協議實現透明傳輸的;

PPP使用異步傳輸時:字節填充法

在這裏插入圖片描述

當信息字段中出現和標誌字段一樣的比特(0x7E)組合式,需要特殊處理,如下所示:
在這裏插入圖片描述


PPP協議用在SONET/SDH鏈路時,是使用同步傳輸(一連串的比特連續傳送),而不是異步傳輸(逐個字符傳送);下面是零比特填充法:

在這裏插入圖片描述
在這裏插入圖片描述

使用PPP的數據鏈路層向上不提供可靠傳輸服務


PPP協議的工作狀態如下:

在這裏插入圖片描述


六. 媒體接入

共享信道要注重考慮的一個問題就是如何使衆多用戶能夠合理而方便地共享通信媒體資源。這在技術上由兩種方法:靜態劃分信道(代價高,不適合局域網),動態媒體接入控制,又稱多點接入(multiple access,分兩類:隨機接入,需要使用協議解決碰撞問題,受控接入)。

6.1 基本概念

在這裏插入圖片描述在這裏插入圖片描述

6.2 靜態劃分信道

在這裏插入圖片描述
常見的複用技術有: 頻分複用FDM,時分複用TDM,波分複用WDM, 碼分複用CDM


頻分複用FDM

  1. 複用器將每一路信號調製到不同的頻率的載波上
  2. 接收斷由相應的分用器通過濾波將各路信號分開
    在這裏插入圖片描述

時分複用TDM

  1. 時分複用技術將傳輸線路的帶寬資源,按時隙分配給不同的用戶;每對用戶只在分配的時隙裏使用線路傳輸數據
  2. 每個用戶所佔用的時隙時週期性出現的,其週期就是時分複用幀的長度
    在這裏插入圖片描述

波分複用WDM

  1. 波分複用其實就是光的頻分複用,
  2. 光傳輸一段距離後會衰減,因此對衰減了的光信號必須進行放大才能繼續傳輸
    在這裏插入圖片描述

碼分複用CDM

在這裏插入圖片描述在這裏插入圖片描述


碼分複用CDM應用舉例

在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述


6.3 CSMA/CD協議

在這裏插入圖片描述在這裏插入圖片描述早期的以太網,採用了載波監聽多地址接入/碰撞檢測 CSMA/CD協議來解決上述問題; 不管是在發送前還是發送中,都要不斷的檢測信道。在發送前檢測信道,是爲了獲得發送權,在發送中檢測信道,是爲了及時發現沒有其他發送和本站發送的碰撞(碰撞檢測:邊發送邊監聽)。


當幾個站同時在總線上發送數據時,總線上的信號電壓變化幅度將會增大(互相疊加),適配器檢測到的信號電壓變化幅度超過一定的門限值時,就認爲總線上至少由兩個站同時在發送數據,表明產生了碰撞


在這裏插入圖片描述

  1. 96比特時間是指發送96比特所耗費的時間,也稱爲幀間最小間隔
  2. 其作用是使接收方可以檢測出一個幀的結束
  3. 同時也使得所有其他站點都有機會平等競爭信道併發送幀

接下來進行多址接入,載波監聽以及碰撞檢測

在這裏插入圖片描述在使用CSMA/CD協議時,一個站不可能同時進行發送和接收(但必須邊發送邊監聽信道),因此使用CSMA/CD協議的以太網不可能進行全雙工通信而只能進行雙向交替通信(半雙工)

在這裏插入圖片描述
經過爭用期還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞。


在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述


強化碰撞:當發送數據的站一旦發生了碰撞時,除了立即停止發送數據外,還要再繼續發送32比特或48比特的人爲干擾信號,以便讓所有用戶都知道現在發送了碰撞。


在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述


6.4 CSMA/CA協議

無線局域網使用的CSMA/CA協議

在這裏插入圖片描述
而共享式以太網最多經過一個往返時間就能檢測出是否碰撞。

在這裏插入圖片描述

舉例說明CSMA/CA的工作原理

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述


考慮文章過長,關於MAC地址,IP地址以及ARP協議,集線器與交換機的區別, 以太網交換機自學習和轉發幀的流程,以太網交換機的生成數協議STP 在另外的章節中進行介紹了。

發佈了274 篇原創文章 · 獲贊 119 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章