一、概述

Java 基础快速掌握 TCP 3次握手和4次握手的理解

配图不是我自己的,来源于网络

二、理解

3次握手:
3次握手指的是TCP 建立连接 阶段
1.Client–>Service SYN
2.Client<–Service SYN+ACK
3.Client–>Service ACK

4次握手:
4次握手指的是 TCP 断开连接 阶段
1.Client–>Service FIN
2.Client<–Service ACK
3.Client<–Service FIN
4.Client–>Service ACK

之所以连接只需要3次,而断开需要4次.
最大的原因.个人认为.是因为 一方请求断开连接的时候,另一方很可能还在传输数据
需要等另一方将数据传输完成了,然后将状态 回执给请求断开的一方 .才能真正安全断开

三、深度理解

可能很多人会对 SYN 、ACK、FIN 比较好奇 ,我也一样.
–>点击我探索其中的奥秘吧
上面的文章介绍的很全,在下简单给大家提及一下
SYN 、ACK、FIN 都属于 TCP 协议中的 flag

SYN 表示建立连接
FIN 表示关闭连接
ACK 表示响应

四、注意

TCP协议, 建立 连接,只能由客户端发起.
但是 断开 连接,可以由任何一方发起,原理就是4次握手的原理

相关文章: