三次握手
TCP三次握手变2次会有什么问题
- 客户端第一次发出连接请求,因为一些网络原因长时间滞留。
- 此时因为一直没有接到服务端确认应答,发出第二次连接请求。
- 第二次连接请求被服务端处理并建立了连接,当数据传输结束后关闭连接。
- 第一次因为网络原因长时间滞留的第一次的请求,终于到达了服务端。
- 服务端处理后又会建立连接,但是此时客户端已经结束任务了。
- 所以客户端会忽略服务端的确认,也不会进行数据传输。
- 所以服务端会一直等待客户端传输数据,造成资源浪费。
四次挥手
四次挥手释放连接时,等待2MSL的意义
MSL是Maximum Segment Lifetime的英文缩写,可译为“最长报文段寿命”,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。
参考资料