數據鏈路層的主要功能將數據轉換為相應的比特流使用的信道主要有點對點的信道方式(一對一的方式), 以及廣播的信道方式
一. 點對點信道的數據鏈路層
1. 數據鏈路和數據幀
鏈路就是從一個結點連接到相鄰結點的一段物理線路(有線或者無線), 期間不準有任何的交換結點, 因此兩臺計算機之間進行通信的時候, 往往需要經過多條鏈路才能夠相互通信.
數據鏈路 就是兩臺計算機要想實現通信, 單靠鏈路是不能夠達到準確的通信的, 當前我們在鏈路的基礎上加上一定的實現通信協議的軟件和硬件設備時, 此時兩臺計算機之間就可以實現相互通信了,
2. 數據幀
在一個數據的前后分別加上頭部和尾部, 此時的數據就會變成幀.這樣接收端在收到數據時根據幀的頭部和尾部就可以判斷出數據的開始和數據的結束.
其中 SOH 的二進制序列是00000001 EOF二進制序列是 00000100
3.透明傳輸
由于在傳輸的時候為了辨別數據的開始和結束, 我們對其加上了一定的頭部和尾部, 將數據組裝成數據幀, 為了在傳輸的過程中保證數據的正確傳輸, 因此在 SOH 和 EOF 之間就不能出現和 SOH 以及 EOF 相同的序列, 為了我們從鍵盤中輸入的數據都能夠有效傳輸, 這樣的傳輸就叫做透明傳輸我們采用了字節填充法來解決透明傳輸問題
即發送端在發送的時候如果發現在有效數據段出出現了界定符, 則給想用的界定符前面加上 ESC, 而接收端再接收數據的時候一旦發現有 ESC時, 就將其剝離, 這樣就實現了發送端和接收端之間相互通信
二. 點對點協議 PPP
1. PPP協議幀格式
2. 字節填充
若數據中出現 0x7E, 則用0x7D, 0x5E代替, 如果出現控制字符, 則在控制字符前加上 0x7D, 接收端在接受的時候去掉對應的 0x7E
3. 零比特填充
發送端在發送前掃描這個信息段, 若發現 5 個連續的 1, 則立即填入一個 0, 接收端在接收數據的時候先找到對應的標示字段 F, 然后向后掃描, 若發現5個連續的1后面有一個 0, 則接收端就將這個 0 刪掉, 這樣就可以完成數據的準確收發.