TCP三次挥手四次协议
TCP三次握手
三次握手,是指在建立一个TCP连接时,需要客户端和服务器共发3个包.目的是连接服务器的指定端口,在客户端发起connect()请求时,会出发三次握手.
(1)第一次握手:客户端发送一个TCP的SYN信号包,表明要连接服务器的端口;
(2)第二次握手:服务器发回确认包(ACK)应答;
(3)第三次握手:客户端再次发送确认包(ACK)
TCP四次挥手
TCP的连接的拆除需要发送共4个包,客户端和服务器均可以主动发起挥手动作,任何一方发起close()操作即可产生挥手.因为TCP连接是全双工的,因此每一端都必须单独关闭.
(1)客户端发送一个FIN信号,用来关闭和服务器的数据传送;
(2)服务器接收到这个信号,发回一个ACK信号,表示确认接收;
(3)服务器关闭和客户端的连接,发送一个FIN信号给客户端;
(4)客户端确认接收FIN,发回ACK确认.