TCP优化是指客户端和服务器端双方通信链路的优化,通过优化尽量减少丢包重传带来的网络额外负担。
各种丢包重传的导致原因可以分为两种:
• 发送方发包速度高于网络链路所能承受的极限。
• 发送方发包速度高于服务器端所能承受的极限。
那针对这两个问题,我们采取相应的优化:
-
针对第一个问题:
通过慢启动的方式,客户端逐渐加大发送流量(倍数扩大),查看网络所能承受的[cwnd],一旦网络过载,出现丢包,就缩小cwnd,直到网络恢复过来。通过在ip route上添加 initcwnd 10 的方式修改初始cwnd的大小,单位是MSS:
Maximum Segment Size
The maximum segment size (MSS) is a parameter of the Options field of the TCP header that specifies the largest amount of data, specified in bytes, that a computer or communications device can receive in a single TCP segment. It does not count the TCP header or the IP header (unlike, for example, the MTU for IP datagrams) -
针对第二个问题:
服务器端在tcp握手建立之初,协商好[rwnd],通知客户端以服务器可以接受的速度发送请求,避免服务器过载。Rwnd 的大小取决于 带宽和延迟的乘积。为什么??
通过以下命令查看接收窗口的大小:$ sysctl -a | grep tcp_mem net.ipv4.tcp_rmem =<MIN><DEFAULT><MAX>
https://cloud.tencent.com/developer/article/1918083
标签:丢包,服务器端,tcp,header,TCP,优化 From: https://www.cnblogs.com/zongzw/p/18241525