三次握手过程理解:
第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,等待服务器确认。
第二次握手:服务器收到syn包,确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即syn+ack包。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),发送成功后,连接成功,完成三次握手。
四次挥手过程理解:
第一次挥手:客户端进程发出连接释放报文,并且停止发送数据。
第二次挥手:服务器收到连接释放报文,发出确认报文,并且带上自己的序列号。此时客户端收到后,等待服务器发送连接释放报文。
第三次挥手:服务器发送完最后数据,就向客户端发送连接释放报文,等待客户端确认。
第四次挥手:客户端收到连接释放报文,发送确认,此时TCP连接还没有释放,必须经过两个最长报文段寿命的时间后,当客户端撤销相应的TCB后,才进入关闭状态,而服务器只要收到客户端发出的确认,立即进入关闭状态,所以,服务器结束TCP连接的时间要比客户端早。