Linux系统tcp连接设置
net.ipv4 .tcp_syn_retries
主动建立链接时发SYN的重试次数。 修改方式:echo 6 > /proc/sys/net/ipv4/tcp_syn_retries
net.ipv4.ip_local_port_range
建立连接是本地端口可用范围 修改方式: echo "32768 60999" > /proc/sys/net/ipv4/ip_local_port_range
net.core.somaxconn
全连接队列长度 = min(backlog, 内核参数 net.core.somaxconn)
backlog 由int listen(int sockfd, int backlog)
传入。 修改方式:`echo 1024 > /proc/sys/net/core/somaxconn net.ipv4.tcp_max_syn_backlog
SYN_RCVD状态连接的最大数(半连队列长度) 半连接队列长度 = min(backlog, 内核参数 net.core.somaxconn,内核参数 tcp_max_syn_backlog)
backlog 由int listen(int sockfd, int backlog)
传入。 修改方式:echo 1024 > /proc/sys/net/ipv4/tcp_max_syn_backlog
net.core.netdev_max_backlog
接收自网卡,但未被内核协议栈处理的队列长度。表示当每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包最大数。 修改方式:echo 1000 > /proc/sys/net/core/netdev_max_backlog
net.ipv4.tcp_synack_retries
被动建立连接时,发送SYN/ACK的重试次数。 修改方式:echo 5 > /proc/sys/net/ipv4/tcp_synack_retries
net.ipv4.tcp_abort_on_overflow
超出处理能力时,对新来的SYN直接回RST,丢弃连接。 0
:关闭,1
:开启。 修改方式:echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
net.ipv4.tcp_syncookies
将连接信息编码在ISN(initialsequencenumber)中返回给客户端,这时server不需要将半连接保存在队列中,而是利用客户端随后发来的ACK带回的ISN还原连接信息,以完成连接的建立,避免了半连接队列被攻击SYN包填满。 0
:不启用,1
:半连接队列(SYN queue)满时启用,2
:永久启用。 修改方式:echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
由于cookie占用序列号空间,导致此时所有TCP可选功能失效,例如扩充窗口,时间戳等。 net.ipv4.tcp_fastopen
TFO(TCP fast open)是TCP协议的experimental update,它允许服务器和客户端在连接建立握手阶段交换数据,从而使应用节省了一个RTT的时延。但是TFO会引起一些问题,因此协议要求TCP实现必须默认禁止TFO。需要在某个服务端口上启用TFO功能的时候需要应用程序显示启用 0
:关闭,1
:作为客户端是可使用TFO,2
:作为服务器时可使用TFO,3
:无论作为客户端还是服务器都可使用TFO。 修改方式:echo 3 > /proc/sys/net/ipv4/tcp_fastopen
TFO仅对优化短连接有帮助,且安全性不高,建议关闭,内部网络中可以考虑开启。
相关阅读:
make install在makefile的写法
vue3中 inject provide的响应式使用
计算机毕业设计 无人智慧超市管理系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试
Newtonsoft.Json use
《知识点扫盲 · 学会 WebService》
XDAG同步节点部署
Docker之最全使用基础命令(帮助启动类命令、镜像类命令、容器类命令)
细胞穿膜肽MPG,Mpa-GALFLGFLGAAGSTMGA-OH
TCP/IP 测试题(一)
记一次Gson在不同环境解析时间结果不同的BUG定位
原文地址:https://blog.csdn.net/superbfly/article/details/128060293