1. 四次挥手过程以及状态
- 报文段1:主动关闭方向被动关闭方发送结束报文段。
- 报文段2:被动关闭方发送结束报文段确认,此时主动关闭方数据已经传输完毕。
- 报文段3:被动关闭方数据也发送完毕,发送结束报文段。
- 报文段4:主动关闭方对结束报文段进行确认。
2. 可以三次挥手吗
观察四次挥手过程可见报文段3包含了报文段2中的确认值,因此三次挥手只能将报文段3和报文段2合并。但这样合并是有问题的。被动关闭方发送报文段2只是确认主动关闭方发来的结束报文段,但并不代表自身的数据已经传输完毕。即就是当断开连接的时候,一个方向的断开,只是说明该方向数据已传输完毕,而另一方向或许还有数据,所以要等到另一个方向数据也全部传输完成后,才能实现三次握手。但是这个时间不确定,因此会造成主动关闭方的结束报文段长时间未得到响应而进行超时重传等等。造成了不必要的资源浪费甚至更意想不到的问题。