涉及time_wait参数

涉及time_wait参数

  • ***.ipv4.tcp_tw_reuse

    开启 SO_REUSEADDR 选项或者配置 ***.ipv4.tcp_tw_reuse 为 1 后,Linux 将可以复用处于 TIME-WAIT 状态的连接。前面我们说到,TIME-WAIT 状态存在的目的一是为了避免在新连接上收到旧连接的数据,二是为了确保被动关闭方正确关闭连接,那么我们开启 SO_REUSEADDR 复用连接不是一切回到原点了吗?这一切都是 TCP 时间戳选项的功劳。

  • ***.ipv4.tcp_tw_recycle

    ***.ipv4.tcp_tw_recycle 配置为 1 会开启系统对 TIME-WAIT 状态的 socket 的快速回收。
    ***.ipv4.tcp_tw_recycle 同样利用 TCP 的时间戳选项来优化 TIME-WAIT:Linux 每收到一个远端(IP)的数据包,都记录它的时间戳。当处于 TIME-WAIT 状态的 socket 收到的同一远端的数据包时间戳小于记录值,Linux 直接丢弃该数据包并回收 socket。
    但是,***.ipv4.tcp_tw_recycle 并不被推荐(Linux 从 4.12 内核版本开始移除了 tcp_tw_recycle 配置),它可能会导致很多难以排查的古怪问题。特别是服务器或者客户端在 NAT 网络中,多个服务器或客户端共用 NAT 设备的时间戳,数据包可能会被丢弃。

  • ​ ***.ipv4.tcp_max_tw_buckets
    表示系统同时保持 TIME-WAIT 套接字的最大数量,如果超过这个数字,TIME-WAIT 套接字将立刻被清除并打印警告信息。默认值为180000。

转载请说明出处内容投诉
CSS教程_站长资源网 » 涉及time_wait参数

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买