TCP连接过程图解
TCP连接过程图解
- TCP核心机制
- 报文说明
- 三次握手
- 四次挥手
- 三次握手-生活场景类比:打电话
- 四次挥手-生活场景类比:告别对话
TCP(传输控制协议)是一种面向连接、可靠传输的通信协议,属于互联网协议套件(TCP/IP)的核心协议之一,工作于传输层
TCP核心机制
- 可靠数据传输
序列号/确认号:每个数据包标记唯一序号,接收方需确认(ACK),丢失则触发重传。
错误校验:通过校验和检测数据损坏,自动丢弃错误包并重传。 - 流量控制(滑动窗口)
动态调整发送速率,防止接收方缓冲区溢出。 - 拥塞控制
慢启动、拥塞避免、快速重传等算法,避免网络过载。
报文说明
- SYN:同步序列号(Synchronize)
- ACK:确认(Acknowledge)
- FIN:终止(Finish)
三次握手
- 步骤1:客户端发送SYN包(同步请求)
- 步骤2:服务端确认SYN并发送自己的SYN包
- 步骤3:客户端确认服务端的SYN包,连接建立
四次挥手
- 步骤1:客户端主动发送FIN包(终止请求)
- 步骤2:服务端确认客户端的FIN包(此时服务端可能仍有数据要发送)
- 步骤3:服务端发送自己的FIN包
- 步骤4:客户端确认服务端的FIN包,连接终止
三次握手-生活场景类比:打电话
- 步骤1(SYN):你打电话给朋友说:“喂,能听到吗?”(发起连接请求)
- 步骤2(SYN-ACK):朋友回答:“能听到,你能听到我吗?”(确认请求并回应)
- 步骤3(ACK):你说:“能听到!”(确认回应,开始通话)
三次握手三步走:
一SYN,二SYN+ACK,三ACK
客户端先伸手,服务端回握后,客户端再点头
四次挥手-生活场景类比:告别对话
- 步骤1(FIN):你说:“我要挂电话了。”(客户端主动关闭)
- 步骤2(ACK):朋友说:“好的,稍等,我再说最后一句。”(服务端确认但未完成)
- 步骤3(FIN):朋友说:“我也说完了,挂吧。”(服务端完成关闭)
- 步骤4(ACK):你说:“好的,再见!”(客户端最终确认)
四次挥手分两段:
一FIN,二ACK,三FIN,四ACK
客户端先挥手,服务端确认后,再挥手回传