- 所谓的三次握手,是指建立一个TCP连接时,需要客户端和服务器总共发送3个包
三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息. - TCP的断开连接需要发送四个包,因此又称为四次挥手
第一次握手:客户端请求连接,客户端发送SYN包(seq=x)
第二次握手:服务器收到请求,必须确认客户的SYN
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,建立连接成功,完成三次握手
第一次挥手:客户端进程发出连接释放报文,并且停止发送数据。
第二次挥手:服务器收到连接释放报文,发出确认报文
第三次挥手: 客户端收到服务器的确认请求后,等待服务器发送连接释放报文
第四次挥手:客户端收到服务器的连接释放报文后,必须发出确认,此时,客户端就进入时间等待状态,注意此时TCP连接还没有释放,必须经过2∗∗MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入关闭关闭状态。