TCP超時重傳機制
TCP協議在能夠傳送資料之前就建立起了“連線”。要實現這個連線,啟動TCP連線的那一方首先將傳送一個SYN資料包。這只是一個不包含資料的資料包, 然後,開啟SYN標記。如果另一方同時在它收到SYN標記的埠通話,它將發回一個SYN+ACK:SYN和ACK標誌位都被開啟,並將ACK(確認)編 號欄位設定為剛收到的那個資料包的順序號欄位的值。接下來,連線發起方為了表示收到了這個SYN+ACK資訊,會向傳送方傳送一個最終的確認資訊(ACK 包)。這種SYN、SYN+ACK、ACK的步驟被稱為TCP連線建立時的“三次握手”。在這之後,連線就建立起來了。這個連線將一直保持活動狀態,直到 超時或者任何一方發出一個FIN(結束)訊號。 TCP 協議非常善於解決流控制問題,因此非常適應於許多應用程式。TCP協議中的流控制的含義是:“在收到對傳送的資料的確認資訊這前,我可以傳送多少資料?” 這就是TCP視窗。學習阻塞控制的問題可以留作讀者的練習。需要指出的是,在TCP協議之下連線速度開始很慢,然後速度逐漸加快。這個做法並不總是最理想 的。
轉自http://blog.csdn.net/zhengchunhao/article/details/4425717 |