TCP的校驗和與編號

小懿同学發表於2024-06-06

TCP的校驗和與編號

TCP校驗和

特點:

  1. 端到端校驗:校驗和覆蓋TCP首部和TCP資料,確保從傳送端到接收端的資料完整性。
  2. 檢錯能力:TCP校驗和具有較強的檢錯能力,可以檢測出在傳輸過程中發生的位錯誤。
  3. 偽首部:在計算TCP校驗和時,會加上一個12位元組的偽首部,包含源IP地址、目的IP地址、保留位元組(置0)、傳輸層協議號(TCP是6)和TCP報文長度(報頭+資料)。偽首部的加入增加了TCP校驗和的檢錯能力。

TCP編號(序列號)

作用:

  1. 資料分段與重組:當一次傳送的資料長度超過設定的MSS(最大段大小)時,資料會被分成多個帶有TCP協議頭的段分別傳送出去。接收端需根據每個TCP資料段頭部的序列號來重組資料。
  2. 資料的可靠性傳輸:接收端在收到傳送端的資料後,透過ACK(確認)返回接收資料的序列號,這樣傳送端就可以確認資料已抵達接收端。
  3. 流量控制:TCP透過滑動視窗來進行流量控制。通訊雙方各自維護自身的傳送和接收滑動視窗大小,並將自身接收滑動視窗大小和序列號傳送給對端,讓對端知道當前最大可以傳送的資料量。
  4. 防止重複報文:由於TCP的序列號是由32位表示,所以每2^32個位元組,就會產生序列號迴繞,再次從0開始。這種設計可以防止因序列號重複而導致的混淆。

相關文章