原因1:若端口不可重用,客户端已关闭并不会响应发送ACK,被动方永远无法关闭连接。 原因2:若端口可重用,上一条TCP刚关闭,应用程序又恰好复用了相同的端口建立了一条新的TCP连接,超时重传的FIN将会关闭刚刚建立的新TCP连接。 为什么是2MSL呢? 最后一个ACK丢失算一个MSL,超时重传FIN算一个MSL。 等待2MSL时间是如何解...