速讀原著-TCP/IP(TCP窗口大小通告)

  • 2020 年 3 月 11 日
  • 筆記

第19章 TCP的交互數據流

19.5 窗口大小通告

在圖1 9 – 4中,我們可以觀察到s l i p通告窗口大小為4 0 9 6位元組,而v a n g o g h通告其窗口大小為8 1 9 2個位元組。該圖中的大多數報文段都包含這兩個值中的一個。

然而,報文段5通告的窗口大小為 4 0 9 5個位元組,這意味著在 T C P的緩衝區中仍然有一個位元組等待應用程式( R l o g i n客戶)讀取。同樣,來自客戶的下一個報文段聲明其窗口大小為4 0 9 4個位元組,這說明仍有兩個位元組等待讀取。

伺服器通常通告窗口大小為 8 1 9 2個位元組,這是因為伺服器在讀取並回顯接收到的數據之前,其T C P沒有數據發送。當伺服器已經讀取了來自客戶的輸入後,來自伺服器的數據將被發送。

然而,在A C K到來時,客戶的 T C P總是有數據需要發送。這是因為它在等待 A C K的過程中快取接收到的字元。當客戶 T C P發送快取的數據時,R l o g i n客戶沒有機會讀取來自伺服器的數據,因此,客戶通告的窗口大小總是小於 4 0 9 6。