2015-03-25 2 views
-2

Когда соединение завершается безосновательно (т. Е. Пакет с номером RST был отправлен на другой конец), является ли гарантированный пакет RST? Я имею в виду, как передающее устройство может узнать, что пакет RST был получен другим концом, если не отправлен пакет ACK!Возможно ли получить пакет RST?

+0

Обратите внимание, что устройство, отправляющее 'RST', больше не заботится о том, было ли оно получено или нет другой стороной, поскольку оно уже закрыло и выпустило всю информацию о состоянии. 'RST' означает« ничего здесь ». Больше пакетов там будет означать больше (безстоящих) пакетов 'RST' взамен. –

ответ

1

RST пакеты не ACKed, поэтому нет «гарантии» в том смысле, который вы имеете в виду. Однако, если вы продолжаете отправлять конечную точку, которая сбросила соединение, она будет продолжать выдавать RST-пакеты.

0

Невозможно заставить обе стороны связи согласиться, должно ли соединение быть закрыто или нет во всех случаях. Это Two Generals Problem, которая неразрешима. RST - это скорее «вежливость» и оптимизация производительности. Это позволяет проводить раннюю очистку практически во всех случаях.

Но если вы потянете за кабель, все пакеты попадают в черную дыру, и неясно, является ли это всего лишь кратковременным таймаутом или постоянной потерей связи.