概述
鏈路是從一個結點到相鄰結點的物理路線,數據鏈路則是在鏈路的基礎上增加了一些必要的硬件和軟件實現
數據鏈路層位于物理層和網絡層之間,它的核心任務是在直接相連的節點(如相鄰的交換機,路由器)之間提供可靠且高效的數據傳輸
數據的流動
幀的流動
一、數據鏈路層的主要功能:
1.封裝成幀
將網絡層傳遞下來的數據包(IP數據報)封裝成幀,添加頭部和尾部信息
結構:| 幀頭 | 數據(Payload) | 幀尾 |;
幀頭:包含物理地址(MAC地址),控制信息(如幀類型);幀尾:包含錯誤檢測碼,頭和尾的一個重要作用就是進行幀定界
幀定界(確定幀的邊界,以便接收端能夠正確地識別和處理數據)的方法:比特填充,字節填充,特殊字符
比特填充:比特填充是一種在幀中插入特定比特模式以實現幀定界的方法,在HDLC(高級數據鏈路控制)協議中,使用了標志字段來標識幀的開始和結束。標志字段的比特模式為01111110
。為了防止數據中出現與標志字段相同的比特模式,當數據中連續出現5個1時,發送方會自動插入一個0,這一過程稱為比特填充。接收方在收到數據時會檢查比特序列,如果發現連續5個1后跟一個0,則將該0刪除,以恢復原始數據。
字節填充:字節填充是在幀中插入特定的字節以實現幀定界的方法。在PPP(點對點協議)中,使用了標志字段(flag)來標識幀的開始和結束,通常為0xC0
(十六進制)。為了確保數據中不會出現與標志字段相同的字節,當數據中出現與標志字段相同的字節時,發送方會插入一個轉義字符(通常為0xDB
),然后將該字節的值轉換為另一個值。接收方在收到數據時會檢查字節序列,如果發現轉義字符,則將后續字節轉換回原始值,并刪除轉義字符。
特殊字符:以太網使用前導碼作為幀的開始標志。前導碼是一個特定的比特模式,通常為10101010
,用于同步發送方和接收方的時鐘。前導碼之后是幀的起始定界符(SFD,Start Frame Delimiter),其比特模式為10101011
,用于明確標識幀的開始。以太網幀的結束則通過物理層的信號來標識,例如檢測到信號的結束或超時機制
2.透明傳輸
透明傳輸是指在數據傳輸過程中,確保數據能夠被準確地傳輸和接收,而不受數據內容本身的影響。換句話說,無論數據中包含什么樣的比特模式或字節序列,都能夠被正確地傳輸和處理。
方法:面向字節的數據鏈路使用字節填充,面向字符的數據鏈路使用比特填充
3.差錯控制
?循環冗余校驗(CRC)
工作過程
-
發送端:
-
將要發送的數據視為一個二進制多項式
M(x)
。 -
將
M(x)
左移n
位(n
是生成多項式的次數)。 -
用左移后的
M(x)
除以生成多項式G(x)
,得到余數R(x)
。 -
將
R(x)
附加到原始數據的末尾,形成最終的傳輸數據T(x)
。
-
-
接收端:
-
接收到數據后,將其視為一個二進制多項式
T'(x)
。 -
用
T'(x)
除以生成多項式G(x)
,檢查余數是否為零。 -
如果余數為零,認為數據無錯誤;否則,認為數據傳輸過程中出現了錯誤。
-
?
?點對點PPP協議:
?PPP協議中幀的格式:
透明傳輸 :
面向字節的異步鏈路:字節填充法(插入轉義字符)
面向比特的同步鏈路:比特填充法
差錯檢測:
能夠對接收端收到的幀進行檢測,并立即丟棄有差錯的幀。
工作狀態(不是太懂)
當用戶撥號接入 ISP 時,路由器的調制解調器對撥號做出確認,并建立一條物理連接。
PC 機向路由器發送一系列的 LCP 分組(封裝成多個 PPP 幀)。
這些分組及其響應選擇一些 PPP 參數,并進行網絡層配置,NCP 給新接入的 PC 機
分配一個臨時的 IP 地址,使 PC 機成為因特網上的一個主機。
通信完畢時,NCP 釋放網絡層連接,收回原來分配出去的 IP 地址。接著,LCP 釋放數據鏈路層連接。最后釋放的是物理層的連接。
?
?媒體接入控制(介質訪問控制)————廣播信道
廣播信道就像一個大房間,信息會被所有人聽到。媒體接入控制(MAC)就是一種規則,用來管理誰在什么時候說話,避免混亂。
數據鏈路層的兩個子層
邏輯鏈路控制LLC子層,媒體接入控制MAC子層。
?MAC地址,IP地址以及ARP協議
MAC地址
使用點對點信道的數據鏈路層不需要使用地址,使用廣播信道的數據鏈路層必須使用地址來區分各主機
???
?廣播信道的數據鏈路層必須使用地址(MAC)
單播MAC地址
主機B將單播幀發送出去,主機A和C都會收到該單播幀
主機A的網卡發現該單播幀的目的的MAC地址與自己的MAC地址不匹配,丟棄該幀
主機C的網卡發現該單播幀的目的的MAC地址與自己的MAC地址匹配,接受該幀
廣播 MAC地址
?主機B講該廣播幀發送出去,主機A和C都會收到該廣播幀,發現該幀首部中的目的地址字段的內容是廣播地址,就知道該幀是廣播幀,主機A和主機C都接受該幀,并將該幀交給上層處理
多播MAC地址
主機A將該多播幀發送出去,主機B,C,D都會收到該多播幀
主機B和C發現該多播幀的目的MAC地址在自己的多播組列表中,主機B和C都會接受該幀
主機D發現該多播幀的目的MAC地址不在自己得多播組列表中,則丟棄該多播幀
給主機配置多播組列表進行私有應用時,不得使用公有的標準多播地址
IP地址
IP地址屬于網絡層的范疇,不屬于數據鏈路層的范疇
從網絡體系結構中看IP地址與MAC地址
?數據包轉發過程中IP地址與MAC地址變化情況
?
可以看出在數據包轉發過程中MAC地址在不斷的改變,那么我們如何不斷得到新的目標MAC地址呢?
ARP協議(地址解析協議)
?
?