3.1.1 數據鏈路和幀
鏈路: 從一個結點到相鄰結點的一段物理線路,中間沒有任何結點;
數據鏈路: 在一條線路上傳輸數據時,不僅需要一條物理線路,還需要一些通信協議來控制數據的傳輸。把實現這些協議的硬件或者軟件加到鏈路上時,構成了數據鏈路。
- 數據鏈路層吧網絡層交下來的數據構成幀發送到鏈路上,以及把接受到的幀中的數據取出並上交給網絡層(網絡層協議數據單元即爲:IP數據報、分組,包)
3.1.2 三個基本問題
封裝成幀
- 在一段數據的前後分別添加首部和尾部,構成一個幀;
- 分組交換:所有在互聯網上傳送的數據都以IP數據包(分組)爲傳送單位;
- 幀:在幀的數據部分的前面和後面分別加上首部和尾部,構成一個完整的幀;
- 首部和尾部的作用:幀定界(確定幀的界限):
- 控制符SOH放在幀的前面表示幀的首部開始,控制符EOT放在幀的後面表示幀的尾部表示幀的結束;
- 幀定界的作用:發生故障時,收到的數據不是一個完整的幀(只有一個控制符)則丟棄,完整的幀則留下;
- 最大傳送單元MTU(Maximunm Transfer Unit):所能傳送幀的數據部分長度上限;
- 首部和尾部的作用:幀定界(確定幀的界限):
透明傳輸
- 透明傳輸:無論傳輸的是什麼字符數據,都可以放在幀中傳輸過去;
- 解決透明傳輸問題:使用的方法:字節填充,或叫字符填充
- 具體方法:發送端在數據鏈路層中的數據中出現控制符,在控制面前加入轉義字符“ESC",並且接收端在數據鏈路層把數據發往網路層之前的轉義字符刪掉;
- 解決透明傳輸問題:使用的方法:字節填充,或叫字符填充
差錯檢測
- 比特差錯: 在數據傳輸的過程,1可能變成0,0可能變成1;
- 誤碼率: 一段時間內,傳輸錯誤的比特數佔傳輸比特總數的比率;
- 在數據鏈率層使用的檢錯方法:循環冗餘檢驗(CRC)
- 幀檢驗序列FCS:爲了檢錯而添加的冗餘碼;
- n位冗餘碼的計算方法:用二進制的模2運算進行2^n乘M的運算;
- 幀檢驗序列FCS:爲了檢錯而添加的冗餘碼;
- 近似地:凡是接收端數據鏈路層接受的幀均無差錯;
傳輸差錯: 幀丟失,幀重複,幀失序;
注:爲了提供更加可靠的傳輸,在CRC檢錯的基礎上,增加了 幀編號,確認,重傳機制