周梦康 发表于 2018-01-25 685 次浏览

有时候为了减少TIME_WAIT连接状态,会开启 net.ipv4.tcp_tw_reuse 和 net.ipv4.tcp_tw_recycle

实际的网络情况,很多用户的客户端没有公网IP,只能依赖于NAT分享同一个公网IP, 这样由于同一NAT下的不同机器的时间戳不一定保证同步,所以就导致同一个NAT过来的数据包的时间戳不能保证单调递增。这样就打破了RFC1323中PAWS方法依赖于对端时间戳单调递增的要求。所以就表现为时间戳错乱,导致丢弃时间戳较小的数据包,表现为packets rejects in established connections because of timestamp的数据不断增加。所以,在LVS中的机器需要关闭tcp_tw_recycle 。

摘录自 https://huoding.com/2012/01/19/142 里面的评论,评论很精彩。

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表