tcp连接管理

[root@ok etc]# cat /proc/sys/net/core/netdev_max_backlog 
1000
每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目,对重负载服务器而言,该值需要调高一点。见议设为16384
[root@ok etc]# cat /proc/sys/net/ipv4/tcp_max_syn_backlog 
2048 #建议设为:16384
对于那些依然还未获得客户端确认的连接请求﹐需要保存在队列中最大数目。对于超过 128Mb 内存的系统﹐默认值是 1024 ﹐低于 128Mb 的则为 128。如果服务器经常出现过载﹐可以尝试增加这个数字。
[root@ok etc]# cat /proc/sys/net/ipv4/tcp_synack_retries 
5 #建议设为:
控制内核向某个socket的ack,syn段(三次握手的第二次握手)重新发送响应的次数,降低此值可以尽早检测到来自远程主机的连接失败尝试
[root@ok etc]# cat /proc/sys/net/ipv4/tcp_retries2
15#建议设为:
控制内核向已建立连接的远程主机重新发送数据的次数,降低此值,可以尽早的检测连接失效
在丢弃激活(已建立通讯状况)的TCP连接之前﹐需要进行多少次重试。默认值为15,根据RTO的值来决定,相当于13-30分钟(RFC1122规定,必须大于100秒).(这个值根据目前的网络设置,可以适当地改小,我的网络内修改为了5)
[root@ok etc]# cat /proc/sys/net/ipv4/tcp_syncookies 
1
表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
SYN Cookie是对TCP服务器端的三次握手协议作一些修改,专门用来防范SYN Flood攻击的一种手段。它的原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值。在收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接
原文地址:https://www.cnblogs.com/bass6/p/5793070.html