在进行专有网络的数据传输过程中,如果遇到网络不稳定,可能会导致任务传输失败。
如果远端服务器的内核参数 net.ipv4.tcp_tw_recycle
和 net.ipv4.tcp_timestamps
的取值都设置为 1
,那么远端服务器会检查每一个报文中的时间戳,如果时间戳不是递增的,不会响应报文。如果远端服务器同时配置了 NAT,远端服务器收到来自不同客户端的报文的源 IP 相同,但 NAT 前每一个客户端的时间可能会有差异,导致报文中的时间戳不是递增的,从而导致网络环境不稳定。
查看 net.ipv4.tcp_tw_recycle
和 net.ipv4.tcp_timestamps
参数的取值是否为 1
。
在客户端中执行以下命令查看 net.ipv4.tcp_tw_recycle
参数的取值:
cat /proc/sys/net/ipv4/tcp_tw_recycle
在客户端中执行以下命令查看 net.ipv4.tcp_timestamps
参数的取值:
cat /proc/sys/net/ipv4/tcp_timestamps
如果 net.ipv4.tcp_tw_recycle
或 net.ipv4.tcp_timestamps
参数的取值为 1
,那么在 NAT 环境下可能会导致传输任务的网络不稳定。
修改 net.ipv4.tcp_tw_recycle
和 net.ipv4.tcp_timestamps
参数的取值。
执行以下命令,进入配置文件:
vi /etc/sysctl.conf
复制以下内容至配置文件中:
net.ipv4.tcp_tw_recycle=0 net.ipv4.tcp_timestamps=0
按 ECS 退出编辑模式。
输入 :wq
然后按 Enter 保存修改并退出 vi 编辑器。
执行以下命令,应用更改:
sysctl -p