关于TIME_WAIT状态
2014-02-22 09:02
232 查看
前言
为何TCP ”四次分手“ 的过程中会有一个TIME_WAIT状态?这个状态有什么意义呢?这是网络中的一个经典问题,本文将给出精简的回答。
什么是TIME_WAIT状态
这是TCP通信协议中出现的一个状态,端点会在这个状态停留2MSL( 最长分节生命期 ),参见下图:
左下方的那个状态即是。
TIME_WAIT状态存在意义之一
假设上图中,最后的那个ack分节传递失败了,那么服务器端会要求客户端再传递一次这个分节。如果没有此状态( 客户端直接退出 ),那就无法重传这段丢失了的分节( 所有对客户端的请求均会返回RST )。
TIME_WAIT状态存在意义之二
假定这个连接刚刚关闭,便出现这个连接的一个化身,则上一次连接中仍然在传递过程中的分节会被这次化身连接误收。
说明
可以根据存在意义一和意义二,思考一下为什么TIME_WAIT状态停留时间是2MSL。
为何TCP ”四次分手“ 的过程中会有一个TIME_WAIT状态?这个状态有什么意义呢?这是网络中的一个经典问题,本文将给出精简的回答。
什么是TIME_WAIT状态
这是TCP通信协议中出现的一个状态,端点会在这个状态停留2MSL( 最长分节生命期 ),参见下图:
左下方的那个状态即是。
TIME_WAIT状态存在意义之一
假设上图中,最后的那个ack分节传递失败了,那么服务器端会要求客户端再传递一次这个分节。如果没有此状态( 客户端直接退出 ),那就无法重传这段丢失了的分节( 所有对客户端的请求均会返回RST )。
TIME_WAIT状态存在意义之二
假定这个连接刚刚关闭,便出现这个连接的一个化身,则上一次连接中仍然在传递过程中的分节会被这次化身连接误收。
说明
可以根据存在意义一和意义二,思考一下为什么TIME_WAIT状态停留时间是2MSL。
相关文章推荐
- 关于tcp中time_wait状态的4个问题
- 关于面试经常被问到的socket的TIME_WAIT状态的原因及解决办法和避免的办法
- 关于tcp中time_wait状态的4个问题
- 第三篇:关于TIME_WAIT状态
- 关于tcp中time_wait状态的4个问题
- 关于四次挥手的TIME_WAIT状态
- 关于面试经常被问到的socket的TIME_WAIT状态的原因及解决办法和避免的办法
- 关于nginx造成大量TIME_WAIT导致web项目无法访问
- TIME_WAIT状态的意义
- TIME_WAIT状态详解
- 聊聊tcp四次挥手中的TIME_WAIT状态存在的理由
- TCP四次挥手中的TIME_WAIT状态存在的理由
- TIME_WAIT和CLOSE_WAIT状态区别
- 端口状态说明 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT
- 关于网络设备的FIN_WAIT_2状态解释
- TCP端口状态说明ESTABLISHED、TIME_WAIT
- 如何解决TIME_WAIT过多的解决办法(附Socket中的TIME_WAIT状态详解)
- TCP 连接关闭的 TIME_WAIT (2MSL) 状态,及 TCP 连接状态图
- 有关ESTABLISHED,CLOSE_WAIT,TIME_WAIT等连接状态
- TIME_WAIT状态