三次握手:
第一次握手,客户端向服务端发送连接请求的SYN包(一种专用于TCP/IP建立连接时的握手信号),请求建立连接通道
第二次握手,服务端接受请求后向客户端回应连接请求的SYN+ACK包(同样为TCP/IP建立连接时的握手信号,为接收SYN包后作出的回应)
第三次握手,客户端收到SYN+ACK包后向服务端回应ACK包(同样为TCP/IP建立连接时的握手信号,主要用于接收方确定接收到发送方的数据)
三次握手后连接建立
PS:两次握手后就可以建立连接,三次握手是为了防止由于第一次握手时的不可控因素导致第一次发送的SYN包文件滞后后,第二次SYN包重新发送收到回复时,第一次的SYN包突然恢复后发送到服务端造成二次回复带来的连接影响
四次断开:
第一次断开:客户端向服务端发送请求断开的FIN包(TCP/IP中用于关闭连接的信号),这时客户端进入终止等待1阶段
第二次断开:服务端收到FIN包后向客户端发送回应的ACK包后进入关闭等待状态(这时候服务端可以发送未发送完的数据,客户端仍可以接收未接收数据)
第三次断开:在客户端接收到服务端的ACK包后进入终止等待2阶段,再发送完数据后服务端向客户端发送一份FIN包进入最后确认状态
第四次断开:客户端收到后发送ACK包后进入超时等待阶段(超时阶段是为了防止ACK包在中途中丢),进入超时时间后关闭连接,而服务端接收到ACK包后立即关闭连接(服务端未接收到ACK包后会再次发送FIN包,当客户端相应FIN包后再次发送ACK包并刷新超时时间)