当连接意外终止时(即RST
数据包已发送到另一端),是否保证RST
数据包到达?我的意思是,如果没有发回ACK
数据包,发送设备怎么能知道另一端已经收到RST
数据包!
RST数据包没有得到确认,因此没有您所说的"保证"。但是,如果您继续向已重置连接的端点发送,它将继续发出RST数据包。
不可能让通信双方就是否在所有情况下都应该关闭连接达成一致。这就是无法解决的两个将军问题。RST
更多的是一种"礼貌"和性能优化。它允许在几乎所有情况下尽早清理。
但是,如果你拔掉电缆,所有的数据包都会进入黑洞,不清楚这只是暂时的超时还是永久性的连接中断。