天天看點

總結:TCP/IP 詳解(卷3:TCP 事務協定、HTTP、NNTP 和 UNIX 域協定)--第四章 T/TCP 協定(續)第四章  T/TCP 協定(續)

第四章  T/TCP 協定(續)

本章繼續讨論 T/TCP 協定。首先讨論 T/TCP 客戶程式如何根據連接配接持續時間是否會大于封包段最大生存時間 MSL 來配置設定端口号,以及這個配置設定結果對 TCP 的 TIME_WAIT 狀态有什麼影響。接下來研究 TCP 協定為什麼要定義 TIME_WAIT 狀态,因為人們對 TCP 協定的這一特點普遍缺乏了解。T/TCP 協定的重要優點之一就是在連接配接持續時間小于封包段最大生存時間 MSL 時,使協定的 TIME_WAIT 狀态由 240 秒縮短至大約 12 秒。接着也是主要讨論 T/TCP 協定是如何實作這一點的,以及這樣做的正确性。

TCP 協定的 TIME_WAIT 狀态有兩個功能:

1)實作了連接配接的全雙工關閉。

2)使得過時的重複封包段逾時廢棄。

如果 T/TCP 連接配接的持續時間小于 120 秒(1倍的封包段最大生存時間 MSL),那麼 TIME_WAIT 狀态的保持時間隻要 8 倍的重傳逾時,而不是 240 秒。而且,在前一次連接配接還處于 TIME_WAIT 狀态時,用戶端就可以建立一個連接配接的新的替身,進而進一步截短了等待時間。說明了為什麼這麼做是可行的,僅受限于 T/TCP 協定能支援的最大事務速率(大約每秒 18000000次)。如果 T/TCP 客戶知道要與同一台伺服器執行大量事務,那麼它每次都可以使用同一個本地端口号,進而可減少 TIME_WAIT 狀态的控制塊的數量。

TCP 的 TAO(TCP 加速打開)測試使得 T/TCP 的客戶-伺服器程式可以跳過三次握手過程。這是在伺服器收到用戶端的 CC 值大于伺服器記錄的該客戶 CC 值時實作的。正是 CC 值的單調遞增性以及以下兩點假定才確定了伺服器能夠斷定用戶端的 SYN 是新的,使 T/TCP 能夠跳過三次握手過程:

1)所有封包段都有一個有限的生存期限:MSL 秒;

2)tcp_ccgen 計數器的最大遞增速率為:在 2MSL 秒内增加 2^32-1。 

希望我的總結可以幫助大家,感謝閱讀我的部落格!