TCP/IP状态迁移

TCP(传输控制协议)是一种面向连接的流式控制协议,它定义了不同的状态以管理通信过程中的连接。TCP 状态迁移描述了 TCP 连接在不同状态之间的转换过程,常见的 TCP 状态包括 CLOSED、LISTEN、SYN_SENT、SYN_RECEIVED、ESTABLISHED、FIN_WAIT_1、FIN_WAIT_2、CLOSE_WAIT、LAST_ACK 和 TIME_WAIT 等。

下面是一个简单的客户端发起连接: TCP 状态迁移示意流程:

1、客户端发起连接

CLOSED -> SYN_SENT

客户端发送 SYN 包(同步请求)给服务端,并且状态切换为 SYN_SENT

2、服务端响应连接

SYN_SENT -> SYN_RECEIVED -> ESTABLISHED

服务端发送 SYN-ACK 包(同步应答)给客户端,SYN_RECEIVED(触发 accept)

3、客户端确认连接

SYN_SENT -> ESTABLISHED

客户端发送 ACK 包(确认)给服务端

4、数据传输过程

ESTABLISHED

数据通过连接在客户端和服务端之间传输

5、关闭连接

ESTABLISHED -> FIN_WAIT_1

客户端发送 FIN 包(结束连接)给服务端

FIN_WAIT_1 -> CLOSE_WAIT

服务端发送 ACK 包给客户端

CLOSE_WAIT -> LAST_ACK

服务端发送 FIN 包给客户端

LAST_ACK -> CLOSED

客户端发送 ACK 包给服务端,连接关闭

6、连接终止

TIME_WAIT

客户端和服务端等待一段时间(2MSL,最长报文段寿命),确保最后一个 ACK 能够到达对方

相关推荐
z***y8628 分钟前
后端服务限流配置,Nginx与Spring Cloud Gateway
java·服务器·nginx
果子没有六分钟38 分钟前
【Linux】进程调度器
linux·运维·服务器
ghie909039 分钟前
在Linux中设定账户密码的安全性
linux·运维·服务器
qq_3660862240 分钟前
sql server中日期类型转字符串几种写法比较
运维·服务器·数据库
q***13342 小时前
电脑可以连接wifi,但是连接后仍然显示没有网络
网络·电脑·php
llxxyy卢5 小时前
通关upload-labs(14-21)加分析源码
linux·运维·服务器
独行soc6 小时前
2025年渗透测试面试题总结-250(题目+回答)
网络·驱动开发·python·安全·web安全·渗透测试·安全狮
csdn_wuwt6 小时前
前后端中Dto是什么意思?
开发语言·网络·后端·安全·前端框架·开发
JosieBook6 小时前
【Rust】基于Rust 设计开发nginx运行日志高效分析工具
服务器·网络·rust
电话交换机IPPBX-3CX7 小时前
电话交换机IPPBX-3CX的呼叫记录导出
运维·服务器·网络