2016-11-04 2 views
0

Рассмотрим такую ​​ситуацию:

A отправить fin в B, затем B отправить ack и fin к A. Затем B переходит в состояние LAST_ACK и A переходит в состояние TIME_WAIT, и теперь, что будет B если последний ack из A теряется, и запрос на повторную передачу от B теряется слишком? Будет ли B продолжить отправлять запрос повторной передачи или закрыть сокет, иначе? (Мы знаем, если A установить SO_LINGER в 0, когда A закрыть сокет, то это вызовет RESET на B.)Как последняя потеряна при завершении TCP?

ответ

0

же, как с любым сегментом данных. TCP повторит отправку определенного количества раз, а затем сбросит соединение.

+0

Благодарим вас объяснения.^_^ – CharlesLiuChina

+1

Какой параметр в наборе ядер числа повторений И что будет, когда количество состояний LAST_ACK на сервере очень велико, например 20K ESTA и 60K LAST_ACK? – DeamonMV