Reputation: 621
When a connection is terminated ungracefully (i.e. an RST
packet has been sent to the other end), is the RST
packet guaranteed to arrive? I mean how can the sending device know that the RST
packet has been received by the other end if no ACK
packet is sent back!
Upvotes: 0
Views: 140
Reputation: 310860
RST packets are not ACKed, so there is no 'guarantee' in the sense you mean. However if you keep sending to an endpoint which has reset the connection, it will keep issuing RST packets.
Upvotes: 2
Reputation: 171178
It is not possible to make both sides of the communication agree whether the connection is supposed to be shut down or not in all cases. This is the Two Generals Problem which is unsolvable. The RST
is more of a "courtesy" and performance optimization. It allows for early cleanup in almost all cases.
But if you pull the cable all packets go into a black hole and it is unclear whether it is just a momentary timeout or a permanent loss of connectivity.
Upvotes: 1