1 概述:
1.1 名词解释
client发送sync包,可能会在网络链路中丢失,也有可能server端因为各种原因未及时处理或者无法处理,则client要进行重新发送sync包,而这重试的次数就是由/proc/sys/net/ipv4/tcp_syn_retries来决定,默认是6。第一次发送sync包,会进行1s的超时等待,第二次发送sync包,会进行2s的超市等待,如此类推,公式是2的N次方。图片来自极客时间。
1.2 环境准备
版本信息如下:
a、操作系统:centos 7.6
b、docker:20.10.5
2 验证测试:
2.1 在第一个xshell窗口执行命令
tcpdump -i lo -n port 80
2.2 在第二个xshell窗口执行命令
systemctl restart docker
systemctl restart iptables
docker run -d --net=host --rm nginx:latest
iptables -I INPUT -p tcp --dport 80 --syn -j DROP
telnet 127.0.0.1 80