管理TCP的选择性应答,允许接收端向发送端传递关于字节流中丢失的序列号,减少了段丢失时需要重传的段数目,当段丢失频繁时,sack是很有益的。
/proc/sys/net/ipv4/tcp_dsack 对应net.ipv4.tcp_dsack
是对sack的改进,能够检测不必要的重传。
/proc/sys/net/ipv4/tcp_fack 对应net.ipv4.tcp_fack
对sack协议加以完善,改进tcp的拥塞控制机制。
TCP的连接管理:
/proc/sys/net/ipv4/tcp_max_syn_backlog 对应net.ipv4.tcp_max_syn_backlog
每一个连接请求(SYN报文)都需要排队,直至本地服务器接收,该变量就是控制每个端口的 TCP SYN队列长度的。如果连接请求多余该值,则请求会被丢弃。
/proc/sys/net/ipv4/tcp_syn_retries 对应net.ipv4.tcp_syn_retries
控制内核向某个输入的SYN/ACK段重新发送相应的次数,低值可以��好的检测到远程主机的连接失败。可以修改为3
/proc/sys/net/ipv4/tcp_retries1 对应net.ipv4.tcp_retries1
该变量设置放弃回应一个tcp连接请求前,需要进行多少次重试。
/proc/sys/net/ipv4/tcp_retries2 对应net.ipv4.tcp_retries2
控制内核向已经建立连接的远程主机重新发送数据的次数,低值可以更早的检测到与远程主机失效的连接,因此服务器可以更快的释放该连接,可以修改为5
TCP连接的保持:
/proc/sys/net/ipv4/tcp_keepalive_time 对应net.ipv4.tcp_keepalive_time
如果在该参数指定的秒数内连接始终处于空闲状态,则内核向客户端发起对该主机的探测
/proc/sys/net/ipv4/tcp_keepalive_intvl 对应net.ipv4.tcp_keepalive_intvl
该参数以秒为单位,规定内核向远程主机发送探测指针的时间间隔
/proc/sys/net/ipv4/tcp_keepalive_probes 对应net.ipv4.tcp_keepalive_probes
该参数规定内核为了检测远程主机的存活而发送的探测指针的数量,如果探测指针的数量已经使用完毕仍旧没有得到客户端的响应,即断定客户端不可达,关闭与该客户端的连接,释放相关资源。
/proc/sys/net/ipv4/ip_local_port_range 对应net.ipv4.ip_local_port_range
规定了tcp/udp可用的本地端口的范围。