第三篇:关于TIME_WAIT状态
2017-01-29 11:53
225 查看
前言
为何TCP ”四次分手“ 的过程中会有一个TIME_WAIT状态?这个状态有什么意义呢?这是网络中的一个经典问题,本文将给出精简的回答。什么是TIME_WAIT状态
这是TCP通信协议中出现的一个状态,端点会在这个状态停留2MSL( 最长分节生命期 ),参见下图:左下方的那个状态即是。
TIME_WAIT状态存在意义之一
假设上图中,最后的那个ack分节传递失败了,那么服务器端会要求客户端再传递一次这个分节。如果没有此状态( 客户端直接退出 ),那就无法重传这段丢失了的分节( 所有对客户端的请求均会返回RST )。TIME_WAIT状态存在意义之二
假定这个连接刚刚关闭,便出现这个连接的一个化身,则上一次连接中仍然在传递过程中的分节会被这次化身连接误收。说明
可以根据存在意义一和意义二,思考一下为什么TIME_WAIT状态停留时间是2MSL。相关文章推荐
- 关于tcp中time_wait状态的4个问题
- 关于四次挥手的TIME_WAIT状态
- 关于TIME_WAIT状态
- 关于面试经常被问到的socket的TIME_WAIT状态的原因及解决办法和避免的办法
- 关于面试经常被问到的socket的TIME_WAIT状态的原因及解决办法和避免的办法
- 关于tcp中time_wait状态的4个问题
- 关于tcp中time_wait状态的4个问题
- TCP TIME_WAIT状态
- TCP TIME_WAIT状态(2MSL)
- 【转】Socket中的TIME_WAIT状态
- TIME_WAIT状态
- Socket中的TIME_WAIT状态
- 如何解决TIME_WAIT过多的解决办法(附Socket中的TIME_WAIT状态详解)
- socket 状态中time_wait 介绍
- linux 网络编程之TIME_WAIT状态
- TIME_WAIT状态详细分析
- TIME_WAIT状态的意义
- 关于避免close_wait 状态
- [socket] 断开连接时,time_wait状态的解释和验证:
- close_wait状态和time_wait状态