TCP通訊中,按分組數量算,塊數據佔一半,交互數據佔一半;按字節數算,塊數據佔9成,交互數據佔1成。TCP同時處理這兩類數據,可是使用了不一樣的算法算法
Rlogin提供交互式輸入,大部分都是小數據網絡
數據交互過程:ui
一般能夠將報文段2(確認)和報文段3(回顯)合併減小網絡負載3d
一般TCP接收到數據並非立刻迴應ACK,它最多等待一個時延(絕大多數設置200ms),直到有數據時將數據和ACK一塊發送blog
經受時延的ACK就是等待了最大時延後才響應的ACK定時器
上面幾個現象說明,TCP實現經受時延的ACK,並非要等待200ms,發現沒數據才ACK。而是採用一個200ms定時器,每隔200ms檢查有沒有數據須要確認,若是有就響應ACK,不然就不發gc
如圖,在廣域網中,產生不少小分組一般會致使網絡擁塞,一般會使用Nagle算法,保證一個鏈接上最多隻有一個未被確認的小分組im
對時延要求較高的應用,一般會關閉Nagle算法,若是在局域網,一些小的分組並不會影響網絡情況通信
大多數狀況下,客戶端窗口是4096字節,服務端窗口是8192字節。可是後面客戶端發送交互數據到服務端時,它並無機會讀取服務端響應就要發送新的數據,致使窗口一直不能恢復,老是小於4096數據
發送交互數據的時候,不少都是小分組,須要經過引入經受時延的ACK和Nagle算法來減小報文段的數量