RST 数据包是否保证到达?
Is an RST packet guaranteed to arrive?
当连接被非正常终止时(即 RST
数据包已发送到另一端),是否保证 RST
数据包到达?我的意思是如果没有ACK
数据包回送,发送设备怎么知道RST
数据包已经被另一端收到了!
不可能让通信双方都同意是否在所有情况下都应该关闭连接。这是无法解决的Two Generals Problem。 RST
更多的是 "courtesy" 和性能优化。它允许在几乎所有情况下进行早期清理。
但是,如果您拉动电缆,所有数据包都会进入黑洞,并且不清楚这只是暂时的超时还是永久的连接丢失。
RST 数据包未被确认,因此在您的意思中没有 'guarantee'。但是,如果您继续发送到已重置连接的端点,它将继续发出 RST 数据包。
当连接被非正常终止时(即 RST
数据包已发送到另一端),是否保证 RST
数据包到达?我的意思是如果没有ACK
数据包回送,发送设备怎么知道RST
数据包已经被另一端收到了!
不可能让通信双方都同意是否在所有情况下都应该关闭连接。这是无法解决的Two Generals Problem。 RST
更多的是 "courtesy" 和性能优化。它允许在几乎所有情况下进行早期清理。
但是,如果您拉动电缆,所有数据包都会进入黑洞,并且不清楚这只是暂时的超时还是永久的连接丢失。
RST 数据包未被确认,因此在您的意思中没有 'guarantee'。但是,如果您继续发送到已重置连接的端点,它将继续发出 RST 数据包。