第三篇:关于TIME_WAIT状态
前言
为何TCP ”四次分手“ 的过程中会有一个TIME_WAIT状态?这个状态有什么意义呢?这是网络中的一个经典问题,本文将给出精简的回答。
什么是TIME_WAIT状态
这是TCP通信协议中出现的一个状态,端点会在这个状态停留2MSL( 最长分节生命期 ),参见下图:

左下方的那个状态即是。
TIME_WAIT状态存在意义之一
假设上图中,最后的那个ack分节传递失败了,那么服务器端会要求客户端再传递一次这个分节。如果没有此状态( 客户端直接退出 ),那就无法重传这段丢失了的分节( 所有对客户端的请求均会返回RST )。
TIME_WAIT状态存在意义之二
假定这个连接刚刚关闭,便出现这个连接的一个化身,则上一次连接中仍然在传递过程中的分节会被这次化身连接误收。
说明
可以根据存在意义一和意义二,思考一下为什么TIME_WAIT状态停留时间是2MSL。
第三篇:关于TIME_WAIT状态的更多相关文章
- React Fiber源码分析 第三篇(异步状态)
		先附上流程图~ 调用setState时, 会调用classComponentUpdater的enqueueSetState方法, 同时将新的state作为payload参数传进 enqueueSetS ... 
- 为什么建立TCP连接需要三次握手,为什么断开TCP连接需要四次握手,TIME_WAIT状态的意义
		为什么建立TCP连接需要三次握手? 原因:为了应对网络中存在的延迟的重复数组的问题 例子: 假设client发起连接的连接请求报文段在网络中没有丢失,而是在某个网络节点长时间滞留了,导致延迟到达ser ... 
- 从Linux源码看TIME_WAIT状态的持续时间
		从Linux源码看TIME_WAIT状态的持续时间 前言 笔者一直以为在Linux下TIME_WAIT状态的Socket持续状态是60s左右.线上实际却存在TIME_WAIT超过100s的Socket ... 
- 在 TIME_WAIT 状态的 TCP 连接,收到 SYN 后会发生什么?
		周末跟朋友讨论了一些 TCP 的问题,在查阅<Linux 服务器高性能编程>这本书的时候,发现书上写了这么一句话: 书上说,处于 TIME_WAIT 状态的连接,在收到相同四元组的 SYN ... 
- 当TIME_WAIT状态的TCP正常挥手,收到SYN后…
		摘要:今天就来讨论下这个问题,在TCP正常挥手过程中,处于TIME_WAIT状态的连接,收到相同四元组的SYN后会发生什么? 本文分享自华为云社区<在TIME_WAIT状态的TCP连接,收到SY ... 
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
		目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ... 
- 解剖SQLSERVER 第三篇  数据类型的实现(译)
		解剖SQLSERVER 第三篇 数据类型的实现(译) http://improve.dk/implementing-data-types-in-orcamdf/ 实现对SQLSERVER数据类型的解 ... 
- 也说说TIME_WAIT状态
		也说说TIME_WAIT状态 一个朋友问到,自己用go写了一个简单的HTTP服务端程序,为什么压测的时候服务端会出现一段时间的TIME_WAIT超高的情况,导致压测的效果不好呢? 记得老王有两篇文章专 ... 
- RabbitMQ学习总结 第三篇:工作队列Work Queue
		目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ... 
随机推荐
- [转]SQL Server 「逾时过期」的处理方式
			基本上 SQL Server 只要在处理大量数据的指令,如 INSERT INTO A SELECT * FROM B 在数据量很大的时候,很容易发生 Timeout ,也就是常见的「逾期过时」错误. ... 
- centos修改ip mac等
			CentOS修改mac http://www.haowlan.com/jishuluntan/488.html CentOS 修改IP地址, DNS, 网关 http://www.21andy.com ... 
- Linux 目录容量查询和文件打包,清空
			查看使用情况 [root@instance-0yj8cprg ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 4. ... 
- Rocket重试机制,消息模式,刷盘方式
			一.Consumer 批量消费(推模式) 可以通过 consumer.setConsumeMessageBatchMaxSize(10);//每次拉取10条 这里需要分为2种情况 Consumer端先 ... 
- 简单5步,释放Mac磁盘空间
			收藏一下,以备后用 http://ourmacs.com/mactech/340 
- 【C#】获取机器码MachineCode
			需求:机器码可以用于校验用户是否用的同一台电脑登录,比如在别的机器上登录时做强制下线(踢人下线).通常在用户注册时,计算一次用户的机器码跟随注册信息一起发送给服务器. 机器码的作用看百度百科: 定义规 ... 
- 3D跑马灯效果
			睡了13个小时,发烧终于退了,持续2周的感冒看起来终于好了点,这一周一直在看perspective的一些资料,写一个3D跑马灯的效果. 个人感觉主要就是理解视角的概念,也就是perspective和p ... 
- swd  适配器接口线序
			1 vref 2 gnd 3 swdio FP1 4 swclk PF0 5 nrst 6 swo PF2 
- 30个实用的jQuery选项卡/导航教程推荐
			很多网站设计中都使用了选项卡(tabs),在制作选项卡时应用jQuery能够实现很多炫酷的过渡和动画效果.本文为你介绍30个实用的jQuery选项卡教程,希望对你有帮助. 1. Animated Ta ... 
- Windoows窗口程序二
			WNDCLASS属性style取值: CS_GLOBALCLASS--应用程序全局窗口类 CS_BYTEALIGNCLIENT--窗口客户区的水平位置8倍数对齐 CS_BYTEALIGNWINDOW- ... 
