我们先来看一个定义。
这样理解比较抽象。我们换个角度。
它的本质还是传输控制。如果让我们自己设计这个传输,我们会怎么想呢。
TCP 协议它会先建立连接。
三次握手目的是保证双方都有发送和接收的能力 首要原因是为了防止旧的重复连接初始化造成混乱。
同步双方初始序列号客户端和服务端都处于 CLOSED 状态。先是服务端主动监听某个端口,处于 LISTEN 状态。然后客户端主动发起连接 SYN,之后处于 SYN-SENT 状态。服务端收到发 起的连接,返回 SYN,并且 ACK 客户端的 SYN,之后处于 SYN-RCVD 状态。客户端收到 服务端发送的 SYN 和 ACK 之后,发送 ACK 的 ACK,之后处于 ESTABLISHED 状态,因为它一发一收成功了。服务端收到 ACK 的 ACK 之后,处于 ESTABLISHED 状态,因为它 也一发一收了。
三次握手为什么是三次 不是四次不是两次?
在TCP 协议里有这样一句话。
==========
四次挥手: