TCP是如何保證可靠傳輸的?
TCP是如何保證可靠傳輸的?
網路中存在多種因素可能導致資料在傳輸過程中遺失、損壞或亂序,如傳輸媒介的不穩定性、擁塞、丟包等。為因應這些問題,TCP引入了一系列機制來保證資料的可靠傳輸。
圖片
圖片
1 連線管理機制
TCP是一種面向連線的可靠傳輸協議,TCP使用三次握手和四次揮手來建立和終止連線。透過三次握手,發送方和接收方交換序號、視窗大小等訊息,確保雙方都準備好進行資料傳輸。在傳輸過程中,透過四次揮手正常終止連接,確保最後的數據能夠完整傳輸。
圖片
圖片
2 序號和確認應答機制
TCP透過給每個位元組分配一個序號來追蹤資料的傳輸。發送方依序號將資料分割成多個報文段,並傳送到網路中。接收方透過確認應答(ACK)機制告知發送者已成功接收到資料。如果發送方在一定時間內未收到確認應答,則會重新傳送相應的資料。
圖片
圖片
圖片
3 重傳機制
為了確保資料的可靠傳輸,TCP在發送資料後啟動一個計時器。如果在定時器時間內未接收到確認應答,則認為資料遺失,發送方會重新發送該資料(逾時重傳)。此外,如果收到同一個資料包的多次確認,表示也有資料遺失,也會觸發重傳(快速重傳)。
圖片
圖片
4 流量控制
流量控制,就是接收方調控發送方的發送速度不要太快的機制。滑動視窗機制允許發送方在未收到確認應答之前發送多個資料封包文段,提高傳輸效率。接收方透過視窗大小來告知發送方可以接收的資料量。發送方根據視窗大小進行流量控制,確保不會發送超出接收方處理能力的資料。
圖片
圖片
圖片
圖片
5 擁塞控制
TCP也透過擁塞控制機制來最佳化網路效能並避免網路擁塞。擁塞控制演算法根據網路的擁塞情況自適應地調整發送方的發送速率,防止過多的資料注入網絡,避免網路擁塞和資料遺失。
圖片
圖片
圖片
圖片
TCP透過上述機制來確保資料的可靠傳輸,確保資料在網路中的完整性、一致性和正確性。無論是處理網路丟包、亂序、擁塞或其他異常情況,TCP都能自適應地調整傳輸策略,提供可靠的傳輸服務。