什么是TIME_WAIT

什么是TIME_WAITTIME_WAIT是怎样产生的?因为TCP连接是双向的,所以在关闭连接的时候,两个方向各自都需要关闭。先发FIN包的一方执行的是主动关闭;后发FIN包的一方执行的是被动关闭。主动关闭的一方会进入TIME_WAIT状态,并且在此状态停留两倍的MSL时长。什么是MSL?MSL指的是报文段的最大生存时间,如果报文段在网络活动了MSL时间,还没有被接收,那么会被丢弃。关于MSL的大小

大家好,又见面了,我是你们的朋友全栈君。

TIME_WAIT是怎样产生的?

因为TCP连接是双向的,所以在关闭连接的时候,两个方向各自都需要关闭。先发FIN包的一方执行的是主动关闭;
后发FIN包的一方执行的是被动关闭。主动关闭的一方会进入TIME_WAIT状态,并且在此状态停留两倍的MSL时长。

什么是MSL?

MSL指的是报文段的最大生存时间,如果报文段在网络活动了MSL时间,还没有被接收,那么会被丢弃。 关于MSL的大小,RFC
793协议中给出的建议是两分钟,不过实际上不同的操作系统可能有不同的设置,
以Linux为例,通常是半分钟,两倍的MSL就是一分钟,也就是60秒,并且这个数值是硬编码在内核中的,
也就是说除非你重新编译内核,否则没法修改它:

#define TCP_TIMEWAIT_LEN (60*HZ)

linux系统下怎样修改TIME_WAIT时间?

cat /etc/sysctl.conf

参数说明:

net.ipv4.tcp_syncookies = 1 表示开启SYN
Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT
sockets重新用于新的TCP连接,默认为0,表示关闭; net.ipv4.tcp_tw_recycle = 1
表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭; net.ipv4.tcp_fin_timeout
修改系统默认的 TIMEOUT 时间。

查看端口占用方法:

1.netstat查询

netstat -nat|awk '{print$5}'|awk -F : '{print$1}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}'

2.使用SS查询

ss -ant | awk '{++s[$1]} END { 
   for(k in s) print k,s[k]}'

参考

链接:http://huoding.com/2013/12/31/316

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135798.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 信贷风控模型搭建及核心风控模式分类

    信贷风控模型搭建及核心风控模式分类一、当前风控模式现状近年来,信用风险管理发展呈现出数据化、模型化、系统化、自动化和智能化的特点。传统的人工专家经验正逐步被模型与算法替代。因此,科技较为领先的金融服务公司会选择采用模型方式完成对借款人的自动评估与审批。目前,对于信贷审核来说主要基于的风控模式为IPC、信贷工厂、大数据三种,每一种都有自己不同的侧重点。二、最核心的风控模式分类1.IPC模式IPC模式起源于德国邮储银行,该模…

    2022年5月1日
    60
  • FQDN_dns资源记录类型有哪些

    FQDN_dns资源记录类型有哪些FQDN全域名(FQDN,FullyQualifiedDomainName)是指主机名加上全路径,全路径中列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。例如,acmecompany公司的Web服务器的全域名可以是[url]www.acmecom…

    2022年10月22日
    0
  • bzero简介[通俗易懂]

    bzero简介[通俗易懂]bzero简介 头文件:#include<string.h>bzero()会将内存块(字符串)的前n个字节清零,其原型为:voidbzero(void*s,intn);【参数】s为内存(字符串)指针,n为需要清零的字节数。bzero()会将参数s所指的内存区域前n个字节,全部设为零值。实际上,bzero(v…

    2022年10月13日
    0
  • pycharm最新激活码2021【2021最新】

    (pycharm最新激活码2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月28日
    75
  • 分形之谢尔宾斯基(Sierpinski)地毯

    分形之谢尔宾斯基(Sierpinski)地毯前面讲了谢尔宾斯基三角形,和这一节的将把三角形变为正方形,即谢尔宾斯基地毯,它是由瓦茨瓦夫·谢尔宾斯基于1916年提出的一种分形,是自相似集的一种。谢尔宾斯基地毯的构造与谢尔宾斯基三角形相似

    2022年7月4日
    48
  • pycharm安装第三方库失败_pycharm怎么安装python库

    pycharm安装第三方库失败_pycharm怎么安装python库pycharm安装第三方库首先启动pycharm随后通过快捷键进入setting界面,快捷键为ctrl+Als+S点击右上角的加号,添加第三方库在安装之前,首先点击ManageRepositories增加一些国内的镜像源,包括豆瓣http://pypi.douban.com/simple/阿里的,http://mirrors.aliyun.com/pypi/simple/https://pypi…

    2022年8月28日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号