TCP 连接建立与关闭(三次握手与四次挥手)

UDP/IP 和 TCP/IP

TCP(Transmission control protocol)传输控制协议,是面向连接安全的,而 UDP(User Datagram protocol)是不安全的

网络状态相同的条件下UDP传递的速度比TCP快,因为少了一系列的控制机制

常用 flag 意思

SYN:建立连接

FIN:关闭连接

ACK:响应

PSH:有数据传输

RST:连接重置

TCP 连接建立(三次握手)

1.(Client) –> [SYN] –> (Server)

当客户端要和服务端通信时,客户端首先向服务端发一个带 SYN (Synchronize) 标记的包,告诉服务端请求建立连接

2.(Server) <– [SYN/ACK] <–(Client)

服务端收到后会发一个对 SYN 包的确认包(SYN/ACK)回去,表示对第一个 SYN 包的确认,并继续握手操作

3.(Client) –> [ACK] –> (Server)

客户端收到 SYN/ACK 包后发一个确认包(ACK),通知服务端连接已建立,完成三次握手,一个 TCP 连接完成

TCP 关闭建立(四次挥手)

1.(Client) –> [FIN] –> (Server)

Client发送一个 FIN,用来关闭 Client 到 Server 的数据传送,Client 进入 FIN_WAIT_1 状态

2.(Server) <– [ACK] <–(Client)

Server 收到 FIN 后,发送一个 ACK 给 Client,Server 进入 CLOSE_WAIT 状态

3.(Server) <– [FIN] <–(Client)

Server 发送一个 FIN,用来关闭 Server 到 Client 的数据传送,Server 进入 LAST_ACK状态

4.(Client) –> [ACK] –> (Server)

Client 收到 FIN 后,Client 进入 TIME_WAIT 状态,接着发送一个 ACK 给 Server,Server 进入 CLOSED 状态,完成四次挥手,一个 TCP 关闭完成


https://httpwg.org/

原文地址:https://www.cnblogs.com/jhxxb/p/13299963.html