Linux下TCP参数配置
来源:互联网 发布:数据库关系模型示例 编辑:程序博客网 时间:2024/03/29 08:23
最近有位朋友告诉我这样一个问题,在一些特殊的情况下,Linux服务器有时候会丢弃windows下TCP连接的syn包,其表现就是同一个局域网下的一些机器可以连通服务器,另一些可以。在查阅各种资料后发现一段Linux内核代码:
if (tmp_opt.saw_tstamp &&
tcp_death_row.sysctl_tw_recycle &&
(dst = inet_csk_route_req(sk, req)) != NULL &&
(peer = rt_get_peer((struct rtable *)dst)) != NULL &&
peer->v4daddr == saddr) {
if (get_seconds() < peer->tcp_ts_stamp + TCP_PAWS_MSL &&
(s32)(peer->tcp_ts - req->ts_recent) >
TCP_PAWS_WINDOW) {
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_PAWSPASSIVEREJECTED);
goto drop_and_release;
}
}
这段代码的含义是如果tcp_tw_recycle和tcp_timestamps同时为1时,对同一源IP发送的两个不同请求,取其时间戳大的一个,另一个被系统drop_and_release了。
解决方法就是关闭tcp_tw_recycle和tcp_timestamps的其中一个就ok了。
关于Linux下TCP参数配置问题,传送门:http://www.2cto.com/os/201204/127779.html
关于 tcp_tw_recycle和tcp_timestamps导致connect失败问题,传送门:http://blog.sina.com.cn/s/blog_781b0c850100znjd.html,http://www.libertyvps.com/thread-262-1-1.html
关于TIME_WAIT网络故障,传送门: http://dngood.blog.51cto.com/446195/988968
关于TCP连接三次握手细节,传送门:http://blog.chinaunix.net/uid-20665047-id-3137792.html ;
if (tmp_opt.saw_tstamp &&
tcp_death_row.sysctl_tw_recycle &&
(dst = inet_csk_route_req(sk, req)) != NULL &&
(peer = rt_get_peer((struct rtable *)dst)) != NULL &&
peer->v4daddr == saddr) {
if (get_seconds() < peer->tcp_ts_stamp + TCP_PAWS_MSL &&
(s32)(peer->tcp_ts - req->ts_recent) >
TCP_PAWS_WINDOW) {
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_PAWSPASSIVEREJECTED);
goto drop_and_release;
}
}
这段代码的含义是如果tcp_tw_recycle和tcp_timestamps同时为1时,对同一源IP发送的两个不同请求,取其时间戳大的一个,另一个被系统drop_and_release了。
解决方法就是关闭tcp_tw_recycle和tcp_timestamps的其中一个就ok了。
关于Linux下TCP参数配置问题,传送门:http://www.2cto.com/os/201204/127779.html
关于 tcp_tw_recycle和tcp_timestamps导致connect失败问题,传送门:http://blog.sina.com.cn/s/blog_781b0c850100znjd.html,http://www.libertyvps.com/thread-262-1-1.html
关于TIME_WAIT网络故障,传送门: http://dngood.blog.51cto.com/446195/988968
关于TCP连接三次握手细节,传送门:http://blog.chinaunix.net/uid-20665047-id-3137792.html ;
0 0
- Linux下TCP参数配置
- Linux TCP 系统参数配置
- Linux TCP 系统参数配置
- (转)Linux TCP 系统参数配置
- Linux下TCP/IP内核参数优化
- 优化Linux下的内核TCP参数
- linux下configure配置参数
- Linux 下网卡配置参数
- Linux下Configure参数配置
- LINUX 下 TCP/IP的配置
- 在Linux下配置TCP/IP
- 在Linux下配置TCP/IP(一)
- 在Linux下配置TCP/IP(二)
- 在Linux下配置TCP/IP
- Linux下手工配置TCP/IP网络
- 配置Linux下的TCP IP网络
- Linux 下 TCP IP 网络配置
- linux下如何配置TCP参数设置详解
- Linux crontab命令
- Openlayers Label添加背景
- 通过简单Dump能获得的基本信息
- gridcontrol中添加checkbox复选框
- Linux下history命令用法
- Linux下TCP参数配置
- 让Visual Studio 也支持JS代码折叠 [ Visual Studio | #region | #endregion ]
- oracle导出excel 方法总结
- Linux学习:第三章-Linux常用命令-2
- HAL层开发基础
- try catch finally throw throws
- 项目优化经验分享(七)敏捷开发
- 局部敏感哈希(Locality-Sensitive Hashing) LSH
- js中取得当前加载的js的src地址