Linux和Windows系统修改MSL的值
来源:互联网 发布:孟非睡女嘉宾 知乎 编辑:程序博客网 时间:2024/06/06 09:08
MSL,即Maximum Segment Lifetime,一个数据分片(报文)在网络中能够生存的最长时间,在RFC 793中定义MSL通常为2分钟,即超过两分钟即认为这个报文已经在网络中被丢弃了。对于一个TCP连接,在双方进入TIME_WAIT后,通常会等待2倍MSL时间后,再关闭掉连接,作用是为了防止由于FIN报文丢包,对端重发导致与后续的TCP连接请求产生顺序混乱,具体原理这里就不详细解释了,可以参考:http://blog.csdn.net/qwertyupoiuytr/article/details/68938963
MSL的时长其实是一个估计值,由于这个值会影响很多基于TCP的应用的连接复用和调优,所以在实际生产中,需要针对具体的应用来调整MSL的具体值(需要注意的是,由于MSL值是对于系统层面来说,所以调整后,会对系统中部署的全部应用产生影响)。下面说明了针对Linux系统和Windows系统调整MSL的方法。
Linux,以CentOS为例:
查看默认的MSL值(60s):
[root@DanCentOS65var]# cat /proc/sys/net/ipv4/tcp_fin_timeout
60
修改默认60为120:
[root@DanCentOS65var]# echo 120 > /proc/sys/net/ipv4/tcp_fin_timeout
修改完成后,重新加载配置文件:
[root@DanCentOS65var]# sysctl -p /etc/sysctl.conf
查看是否已经生效:
[root@DanCentOS65var]# sysctl -a | grep fin
net.ipv4.tcp_fin_timeout= 120
Windows上修改"2MSL"的值:
打开注册表编辑器(regedit):
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,在右侧找到TcpTimedWaitDelay这一个键值(Win2000之后的系统中可能会没有这个值,如果没有,创建一个即可):
指定对应的值即可:
注意在Windows系统中,这个注册表键值就直接等于TIME_WAIT到CLOSED状态的等待市场,也就是2MSL的值,而不像Linux中,我们修改的是MSL的值。
- Linux和Windows系统修改MSL的值
- 修改Windows和linux系统时间
- 修改Windows和linux系统时间
- 修改双系统(Linux系统和Windows系统)的启动顺序和等待时间
- 修改系统时间 (windows,Linux)
- linux,windows修改系统密码
- 修改grub引导的Linux和Windows双系统的启动顺序和删除Linux系统的方法
- 修改grub引导的Linux和Windows双系统的启动顺序和删除Linux系统的方法
- 修改linux系统的IP和hostname
- 通过修改grub设置Linux和Windows等多个系统的启动顺序变更和删除
- Linux和Windows系统之间的文件传输
- LInux和windows系统的远程管理
- Linux和windows系统直接的文件传输
- linux查看系统编码和修改系统编码的方法
- linux查看系统编码和修改系统编码的方法
- linux查看系统编码和修改系统编码的方法
- 如何修改Windows系统的注册用户名和组织名
- Windows系统批处理修改IP,DNS和路由的方法
- hadoop之日志分析
- 最短路算法(Dijsktra + 优先队列)
- C++函数参数传递的一大利器——引用(左值)
- 使用Struts2下载文件遇到问题总结
- CSS实现垂直居中的方法
- Linux和Windows系统修改MSL的值
- 1.1机器语言
- java新建maven项目后pom.xml文件报错:Failure to transfer xpp3:xpp3_min:pom:1.1.4c from...
- 1.2汇编语言的产生
- JavaScript扫雷游戏mineClearance
- 为开发AR眼镜 苹果挖走NASA技术专家
- urllib2 爬取网页信息
- 1.3汇编语言的组成
- J2EE dynamic web工程搭建 struts2