考虑这种情况:
A
发送一个fin
给B
, B
发送一个ack
和一个fin
给A
。然后B
进入状态LAST_ACK
, A
进入状态TIME_WAIT
,现在,如果A
最后一个ack
丢失了,B
的重传请求也丢失了,B
会怎么样呢?B
将继续发送重传请求或关闭套接字或其他?(我们知道,如果A
设置SO_LINGER
为0,当A
关闭它的套接字时,它将导致B
上的RESET
)
与任何数据段相同。TCP将重试发送一定次数,然后重置连接。