tcp之三次握手/四次挥手
三次握手
tcp的三次握手用于建立服务器与客户端之间的通信连接,服务器与客户端之间通过数据段和报文段的交换建立起有效可靠的连接。
个人认为三次握手和四次挥手都是基于tcp/ip协议的,而非http协议。
传输流程图如下
四次挥手
tcp的四次挥手用于确保服务器与客户端之间安全的断开连接
传输流程图如下
tcp四次挥手存在一个结束等待的问题,以上面的例子为例来说,客户端在最后一次向服务器回复ACK消息-表示已经接受到服务器的FIN信息之后,开始等待。等待的原因,是需要确保服务器接受到这个ACK消息,如果服务器没有收到这个ACK消息,就会给客户端超时重传(timeout retransmit)一份FIN报文,之后继续循环,所以,客户端在结束ACK发送后,至少需要等到(客户端发送一次ACK+服务器回复一次FIN)的时间,也就是所谓的2mls。