三次握手与四次挥手

193 阅读1分钟

在理解三次握手和四次挥手时,有必要先了解TCP,那么什么是TCP呢?

TCP即传输控制协议(TCP,Transmission Control Protocol),是一种面向连接的、可靠的、基于字节流的传输层通信协议。

在客户端与服务端建立TCP连接之前,它们首先要进行三次握手

三次握手

1.客户端向服务端发送连接请求(SYN数据包);
2.服务端收到客户端发送的请求后,回复客户端确认信息(SYN/ACK数据包);
3.客户端收到确认信息后,再次向服务端发送确认信息。(ACK数据包)。

在完成三次握手后,客户端和服务端便可进行连接。

四次挥手

当客户端与服务端需要结束连接时,它们以四次挥手结束短暂的革命友谊。

1.要关闭连接的一方发送结束信号FIN,并进入FIN_WAIT_1状态;
2.另一方收到之后,给对方发送ACK,序号为收到的序号+1,进入CLOSE_WAIT状态;
3.被动关闭的一方在结束所有传输时,向对方发送FIN,进入LAST_ACK状态;
4.主动关闭方接收到Fin后,进入TIME_WAIT状态,给对方发送ACK,序号为收到序号+1,被动方进入CLOSED状态。