1. 程式人生 > >【TCP/IP】TCP的互動資料流

【TCP/IP】TCP的互動資料流

        如果按照分組數量計算,約有一半的TCP報文段包含成塊資料(如FTP、電子郵件),另一半則包含互動資料(如Telnet)

       如果按位元組計算,則成塊資料與互動資料的比例約為90%和10%

互動式輸入

       通常每一個互動按鍵都會產生一個數據分組

       這樣就會產生4個報文段:

(1)    來自客戶的互動按鍵

(2)    來自伺服器的按鍵確認

(3)    來自伺服器的按鍵回顯

(4)    來自客戶的按鍵回顯確認

經受時延的確認

       通常TCP在接收到資料時並不立即傳送ACK;相反,它會推遲傳送,以便將ACK與需要沿該方向傳送的資料一起傳送(有時稱這種現象為資料捎帶ACK)。絕大多數實現採用的時延為200ms,也就是說,TCP將以最大200ms的時延等待是否有資料一起傳送。

Nagle演算法:

視窗大小通告

       客戶的視窗大小為4096,伺服器的視窗大小為2048。當客戶端傳送1個位元組的資料,在伺服器接收到後會馬上讀取到應用層然後回顯傳送給客服端,因為在接收的時候沒有需要傳送的資料,這時候的伺服器視窗大小還是2048,當客戶端收到回顯時,剛好在這段時間有新的1個位元組資料要傳送出去,因為收到的回顯還在快取當中,沒有被讀取上去,這時候又要傳送,所以這時候通告的視窗大小就為4095了。

       所以一般伺服器通告的視窗大小總是等於自己最大的視窗大小,而客戶端的視窗大小總是小於自己最大的視窗大小