Linux和Windows系统修改MSL的值

news/2024/5/17 17:39:01 标签: Linux, Windows, TCP, MSL, TIME_WAIT


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的方法。


LinuxCentOS为例:

查看默认的MSL值(60s)

[root@DanCentOS65var]# cat /proc/sys/net/ipv4/tcp_fin_timeout

60


修改默认60120

[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的值。


http://www.niftyadmin.cn/n/878011.html

相关文章

Api 枚举参数

枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。所有在API中使用枚举参数,…

解析 global-metadata.dat 文件_自己动手做简历解析工具

当我还是一名大学生的时候,我很好奇自动提取简历信息是如何工作的。我将准备各种格式的简历,并上传到招聘网站,以测试背后的算法是如何工作的。我想自己尝试建一个。因此,在最近几周的空闲时间里,我决定构建一个简历解…

无法完成您的itunes store的请求_诞生18年后,iTunes要和我们要说再见了

来源丨北京商报(BBT_JLHD)作者丨石飞月诞生18年后,iTunes或将退出历史舞台。6月2日,来自各方面的消息显示,苹果将关闭iTunes这款应用,并将其拆分成其他三个App。尽管苹果目前还未对此作出回应,但多年来,iTu…

[Azure]ARM模式下没有公网IP地址的虚拟机如何与外部通信

ARM模式下,Azure将公网IP地址作为一个资源(对象)独立出来,通过将其绑定到不同的资源(虚拟机,负载均衡器,应用程序网关等等)上来使用。 那么对于一个虚拟机来说,如果在创建…

华为手机承载系统在哪里_华为鸿蒙OS系统取得重大突破!华为手机新系统真的来了:兼容安卓10...

导语:看科技资讯,品鉴最新最全的科技新闻,了解当今科技发展水平。点击关注微信公众号:“数码科技大爆炸”,每天最新最全的科技资讯,轻松放松,更多好看科技资讯尽在这里,还不快来点击…

[Azure] 使用Azure Powershell脚本查看账号下所有订阅中的云服务公网IP地址绑定情况

本脚本可以查看经典模式下云服务的公网IP的固定情况,便于管理员查看并及时将需要固定却没有固定的云服务VIP固定下来。 代码如下: $cred Get-Credential -Message "Use your Azure account to login"; [void](Add-AzureAccount -Environment…

Mongo嵌套数组操作

嵌套简单数组使用样例&#xff1a; mongo结构&#xff1a; 根据deviceId和role查询集合&#xff0c;数组里如果是int类型&#xff0c;还可以用大于或小于&#xff1a;参看网址 Overridepublic List<UserDevice> findByRoleAndDeviceId(String role, String deviceId) {C…

python for循环的经典例题-python100例,python经典例题

肯定有用&#xff0c;练习就是实战。对于刚学习编程的同学&#xff0c;我觉得跟着例子学习&#xff0c;会有很大的进步。至少让你熟悉语法和理解编程的一些技巧。当你能熟练掌握python编程的方法后&#xff0c;你需要学习一些第三方库&#xff0c;python的第三方库很强大。具体…