热搜:m1 nginx 代理 前端

什么是 TCP 连接的三次握手

2024-01-31 09:30:02

TCP 是因特网中的传输层协议,使用建立连接,完成三次握手,与服务器开始传送。

第一次握手:建立连接时,发送包(

syn=j)到服务器,并进入等待状态,等待服务器确

认;SYN:同步序列编号(

Synchronize Sequence Numbers)。

第二次握手:服务器

第二次握手:收到 SYN 包,必须确认客户的 SYN(

syn=j+1),同时自己也发送一个

SYN 包(

syn=k),即 SYN+ACK 包,此时服务器进入等待状态;

第三次握手:客户端收到服务器器的 SYN+ACK 包,向服务器发送确认包 ACK(ack=k+1),

此包发送完毕,客户端和服务器进入(

TCP 连接成功)状态,完成三次握手。

TCP 协议是全双工通信,这意味着客户端和服务器端都可以向彼此发送数据,所以关闭连

接 是双方都需要确认的共同行为,假设是三次挥手时,首先释放了客户到服务器方向的连接,

此时 TCP 连接处于半关闭状态,这时客户不能向服务器发送数据,而服务器还是可以向客

户发送数据。如果此时客户收到了服务器的确认报文段后,就立即发送一个确认报文段,

这会导致服务器向客户还在发送数据时连接就被关闭。这样会导致客户没有完整收到服务

器所发的报文段