TCP连接的参数设置

10 篇文章 0 订阅



1、tcp_tw_recycle

在对外服务的web server上,为了加快time_wait状态的socket回收,希望打开tcp_tw_recycle配置。但是,这样做存在风险。

如果打开了tcp_tw_recycle,并且同时tcp_timestamp是打开的(默认打开),那么本机的kernel就会检查对端的数据包的timestamp。检查的时机发生在:本机记录tw_timestamp, 此后收到syn包时,就检查timestamp是否比tw_timestamp大,若小则认为是已经tw_recycle的连接上的包,则丢弃这个syn包。

通常,业务服务器会接在LVS(或TGW)之后,来自不同客户端的请求,其源地址被修改成共用的网关地址(lvs-dr),业务服务器会认为是来自同一个连接的包。不同客户端的时间戳可能是跳跃的,所以服务器记录的tw_timestamp可能比较大,那么小于这个时间戳的syn包就会被服务器丢弃。

服务器端记录的tw_timestamp只对对应的连接(socket)有效 ??? 还是对所有socket都有效???


所以,在打开tcp_tw_recycle时,可以关闭tcp_tw_timestamp(要关闭 /proc/sys/net/ipv4/tcp_timestamps)。

最可靠的是,在对外服务的服务器上不要开tcp_tw_recycle。


2、tcp_timestamp


3、tcp_tw_reuse




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值