TCP的三次握手以及四次断开

TCP的三次握手和四次断开,就是TCP通信建立连接以及断开的过程

目录

[【1】TCP的三次握手过程 ---- TCP建立连接的过程](#【1】TCP的三次握手过程 ---- TCP建立连接的过程)

[【2】TCP的四次挥手 ---- TCP会话的断开](#【2】TCP的四次挥手 ---- TCP会话的断开)

注意:


【1】TCP的三次握手过程 ---- TCP建立连接的过程

三次握手的过程

通信双方发送请求序列号,并且确认收到序列号的过程

第一次握手

客户端向服务器发送SYN报文,等待确认,客户端进入SYN_sent状态

然后完成第一次握手

第二次握手

服务端向客户端发送SYN<请求>以及ACK<确认>报文

1、服务端收到客户端的请求向客户端回复确认信息

2、服务端再向客户端发送一个SYN包,建立连接请求,并且服务器进入SYN_recv状态

完成第二次握手

第三次握手

收到回复后,客户端向服务端发送ACK<确认>报文,发送完成客户端和服务器进入establishd状态

完成第三次握手

【2】TCP的四次挥手 ---- TCP会话的断开

四次断开

断开TCP连接,需要客户端和服务端总共发送4个包进行确认连接的断开过程

第一次断开

客户端发送FIN报文,用于关闭客户端到服务端的数据传送,客户端进入fin_wait_1状态

第一次断开完成

第二次断开

服务端接收FIN报文后,向客户端发送ACK报文,表示已经收到了客户端发送是FIN报文,此时服务端处于close_wait状态

第二次断开完成

第三次断开

服务端发送FIN报文到客户端,此时服务端处于last_ack状态

第三次断开完成

第四次断开

客户端收到服务端发送的FIN报文后,对此发出ACK<确认报文>,客户端进入time_wait状态,此时的TCP没有完全断开,需要经过时间等待计时器设置的时间后,客户端才能进入closed状态

第四次断开完成

注意:

挥手的时候,不存在数据的传递,应用层没有东西,所以TCP的通信建立和断开过程分为,三次握手和四次断开

相关推荐
折哥的程序人生 · 物流技术专研7 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
c238567 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
李小白667 小时前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
专注VB编程开发20年7 小时前
c#Modbus上位机开发-一次读10个地址和100个地址速度一样
网络·网络协议·tcp/ip
爱喝水的鱼丶8 小时前
SAP-ABAP:SAP视图开发入门:四类标准视图的适用场景与创建步骤详解
服务器·数据库·性能优化·sap·abap
2601_9619633810 小时前
技术解剖:哈希值、区块链与CA认证如何守护电子合同安全?
网络·人工智能·安全·区块链·智能合约·政务
2601_9619633810 小时前
从“电子化”到“自动化”:2026年智能合约与电子合同融合的技术逻辑与法律适配
网络·人工智能·区块链·智能合约·政务
回忆2012初秋11 小时前
【Nginx】优雅地走进高性能 Web 服务器世界(1)
服务器·前端·nginx
信创工程师-小杨11 小时前
Linux内网环境如何解决依赖的问题
linux·运维·服务器
不吃土豆的马铃薯11 小时前
C++ 高性能网络缓冲区 Buffer 源码解析
linux·服务器·开发语言·网络·c++