TCP確認延時和Nagle算法
nagle 算法是 發送端 收到前一個報文的確認然后再發送下一個tcp數據。這樣可以避免大量的小數據。 TCP_NODELAY選項控制。
Delay ACK是 接收端 在等待超時(還有其他發送ack確認的時機) 然后才發送ACK給客戶端。
CORK算法 是 發送端 盡可能的進行數據的組包,以最大mtu傳輸,如果發送的數據包大小過小則如果在0.6~0.8S范圍內都沒能組裝成一個MTU時,直接發送。
如果發送的數據包大小足夠間隔在0.45內時,每次組裝一個MTU進行發送。如果間隔大於0.4~0.8S則,每過來一個數據包就直接發送。TCP_CORK選項控制。
**禁用nagle算法 導致小片數據包多 但是ack確認的返回的機制仍舊不變(Delay ACK)。
Linux TCP確認延時(TCP有關壓力測試):http://blog.csdn.net/turkeyzhou/article/details/6764389
網絡編程的Nagle算法與Delay ACK算法:http://blog.csdn.net/yangruibao/article/details/9410445