自己创造网站平台,主机托管服务,聚美优品网站建设分析,安庆网站建设公司TCP连接保活 参考 《Nginx(三) 配置文件详解 - 基础模块》3.18章节 net.ipv4.tcp_keepalive_intvl#xff1a;设置TCP两次相邻探活检测的间隔时间。默认75秒#xff0c;单位是秒#xff0c;对应配置文件/proc/sys/net/ipv4/tcp_keepalive_intvl#xff1b;net.ipv4.tcp_kee… TCP连接保活 参考 《Nginx(三) 配置文件详解 - 基础模块》3.18章节 net.ipv4.tcp_keepalive_intvl设置TCP两次相邻探活检测的间隔时间。默认75秒单位是秒对应配置文件/proc/sys/net/ipv4/tcp_keepalive_intvlnet.ipv4.tcp_keepalive_probes设置TCP探活最多检测次数。默认9次单位是次对应配置文件 /proc/sys/net/ipv4/tcp_keepalive_probesnet.ipv4.tcp_keepalive_time设置TCP连接保活时长。默认7200秒单位是秒对应配置文件 /proc/sys/net/ipv4/tcp_keepalive_time。 防御SYN Flood攻击 参考 TCP三次握手、四次挥手及状态转换详解 net.core.somaxconn增大TCP全连接队列/accept队列大小也是增大TCP半连接队列的关键参数。默认值是128对应配置文件/proc/sys/net/core/somaxconnnet.core.tcp_max_syn_backlog 增大TCP半连接队列/SYN队列大小。默认值是1024对应配置文件 /proc/sys/net/ipv4/tcp_max_syn_backlognet.ipv4.tcp_syncookies设置是否开启syncookies。开启syncookies后不使用半连接队列就可建立TCP连接。默认值是1表示仅当 SYN 半连接队列溢出时才启用它。设置为0时表示关闭设置为2时表示无条件开启。对应配置文件 /proc/sys/net/ipv4/tcp_syncookie。net.core.netdev_max_backlog设置每个网卡接收队列的最大长度防止网卡接收过载。默认值是1000对应配置文件 /proc/sys/net/core/netdev_max_backlog。内核从网卡收到数据包后在交由协议栈如IP、TCP处理前会先将数据包放入一个缓冲队列中当接数据包的速率大于内核协议栈处理的速率时这个缓冲队列会不断增长但不能超过netdev_max_backlog 参数设置的值否则数据包将被丢弃。默认情况下netdev_max_backlog 参数的值是与系统的内存大小和 CPU 数量相关的动态值。它会根据系统的硬件配置进行自适应调整通常情况下不需要手动设置。除非这台服务器需要处理大量的网络请求我们才将该值调大。 缩减TCP TIME-WAIT状态的等待时间 net.ipv4.tcp_tw_reuse设置是否复用处于 TIME_WAIT 状态的TCP连接可选值是0或1默认是0表示禁止复用连接。对应配置文件 /proc/sys/net/ipv4/tcp_tw_reuse。请注意该配置仅适用于主动发起建立TCP连接的一方也就是仅适用于客户端。开启该选项后主动发起建立连接的一方在调用 connect() 函数时如果选择到的端口已经被相同四元组的连接占用那么就判断该连接是否处于TIME_WAIT状态如果该连接处于 TIME_WAIT 状态并且 TIME_WAIT 状态持续时间已超过1秒那么就重用这个连接然后就可以正常使用该端口了。所以该选项只适用于主动发起建立连接的一方。如果服务器仅作为服务端就完全没必要开启该功能。如果服务器是一台代理服务器建议开启该功能。net.ipv4.tcp_timestamps设置是否开启TCP时间戳功能可选值是0或1默认是1表示开启时间戳功能。对应配置文件/proc/sys/net/ipv4/tcp_timestamps。 开启后TCP 头部就会使用时间戳选项便于精确计算RTT而且还能避免出现因序列号回绕PAWS而引起的延迟报文生效的问题。该参数也是开启tcp_tw_reuse功能的前提在开启tcp_tw_reuse功能前必须将tcp_timestamps设置为1。net.ipv4.tcp_max_tw_buckets设置处于TIME_WAIT状态的TCP连接的最大值默认值是5000。对应配置文件/proc/sys/net/ipv4/tcp_max_tw_buckets。当系统中处于 TIME_WAIT 状态的TCP连接数超过这个值时新关闭的连接就不再经历 TIME_WAIT 而直接关闭这个方法比较暴力。 快速重传 参考 《TCP 核心工作机制》 net.ipv4.tcp_sack设置是否开启选择性确认SACK可选值是0或1默认是1表示开启SACK。对应配置文件 /proc/sys/net/ipv4/tcp_sack。net.ipv4.tcp_dsack设置是否开启D-SACK可选值是0或1默认是1表示开启D-SACK。对应配置文件 /proc/sys/net/ipv4/tcp_dsack。