天天看點

總結:TCP/IP 詳解(卷3:TCP 事務協定、HTTP、NNTP 和 UNIX 域協定)--第三章 T/TCP 使用舉例第三章  T/TCP 使用舉例

第三章  T/TCP 使用舉例

我們可以對本章中的例子做下面這樣的總結:

1)如果用戶端丢失了伺服器的狀态資訊(例如,用戶端重新啟動),那麼用戶端在主動打開時将發出 CCnew 選項,進而強迫執行三次握手過程。

2)如果伺服器丢失了用戶端的狀态資訊,或者伺服器收到的 SYN 封包段中的 CC 值小于期望的值,那麼伺服器傳回給客戶的響應将隻是一個 SYN/ACK 封包段,進而強迫執行三次握手過程。在這種情況下,直到三次握手過程完全結束以後,伺服器的 TCP 才會把客戶在 SYN 封包段中附帶的資料交給上層的伺服器程序。

3)如果伺服器想在連接配接中使用 T/TCP 協定,那麼它總是用 CCecho 選項對客戶的 CC 或 CCnew 選項作出應答。

4)如果用戶端和伺服器端彼此都掌握有對方的狀态資訊,那麼整個事務過程所發的封包段個數将達到最少:3個(假設請求和響應的長度都小于或等于封包段最大長度 MSS)。此時收發的分組數最少,時延也最小:為 RTT + SPT。

以上這些例子同時也說明了 T/TCP 協定中多個狀态的變遷是如何發生的,以及如何使用那些新擴充的(加星的)狀态。

如果用戶端向一個不支援 T/TCP 協定的主機發送帶有 SYN、資料和 FIN 的封包段,那麼采用伯克利網絡代碼的系統(包括 SVR4,但不包括 Solaris)能夠正确地将資料存儲在隊列中,直至三次握手過程完成。然而,其他的一些網絡代碼也有可能錯誤地把 SYN 封包段中的資料扔掉,造成用戶端逾時,并重傳資料。

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