TCP/IP关闭的四次握手导致,kill -9 程序后,程序没有close Socket
经过2 M S L时间才会释放Socket端口
如果使用处于2 M S L等待端口的主机出现故障,它会在M S L秒内重新启动,并立即使用故
障前仍处于2 M S L的插口对来建立一个新的连接吗?如果是这样,在故障前从这个连接发出而
迟到的报文段会被错误地当作属于重启后新连接的报文段。无论如何选择重启后新连接的初
始序号,都会发生这种情况。
为了防止这种情况,RFC 793指出T C P在重启动后的M S L秒内不能建立任何连接。这就称
为平静时间(quiet time)。
楼主阅读一下 TCP/IP 详解 I 的第18章就知道了
T I M E WA I T状态也称为2 M S L等待状态。每个具体T C P实现必须选择一个报文段最大生存时间M S L(Maximum Segment Lifetime)。它是任何报文段被丢弃前在网络内的最长时间。在连接处于2 M S L等待时,任何迟到的报文段将被丢弃。因为处于2 M S L等待的、由该插口对(socket pair)定义的连接在这段时间内不能被再用,因此当要建立一个有效的连接时,来
自该连接的一个较早替身( i n c a r n a t i o n)的迟到报文段作为新连接的一部分不可能不被曲解
(一个连接由一个插口对来定义。一个连接的新的实例( i n s t a n c e)称为该连接的替身)。