TCP状态-创建和断开连接
发布日期:2021-07-01 05:57:58 浏览次数:2 分类:技术文章

本文共 544 字,大约阅读时间需要 1 分钟。

在这里插入图片描述

创建连接

1. 服务端/客户端:CLOSE 关闭状态

默认初始化状态

2. 服务端:LISTEN 监听

服务端建立socket,进入监听状态

3. 客户端:SYN_SENT 请求连接

客户端发送SYN报文,进入SYN_SENT状态

4. 服务端:SYN_RCVD 接受连接

服务端接收SYN报文,回复SYN+ACK报文

5. 服务端/客户端:ESTABLISHED 建立连接

客户端接收SYN报文,回复ACK报文;服务端接收ACK报文,建立连接

断开连接

1. 服务端/客户端:ESTABLISHED 建立连接

默认断开前初始化状态

2. 客户端:FIN_WAIT1 发起断开请求

发送断开请求FIN报文

3. 服务端:CLOSE_WAIT 接受断开请求

收到FIN报文,回复客户端ACK报文

4. 客户端:FIN_WAIT2 等待数据传输

收到服务端ACK报文,等待数据传输

5. 服务端:LAST_ACK 发送断开请求

发送FIN断开请求报文

6. 客户端:TIME_WAIT 等待断开

回复FIN断开请求,发送ACK报文

7. 服务端/客户端:CLOSED 服务端断开

服务端收到ACK报文,立即断开

8. 客户端:CLOSING 准备断开

没有收到回复FIN报文的ACK,直接断开

转载地址:https://pandora.blog.csdn.net/article/details/104102317 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:TCP协议连接套接字实现-Python
下一篇:TCP三次握手

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年05月07日 14时30分52秒