Сомнение в трехстороннем рукопожатии в функции прослушивания TCP и Unix - PullRequest
1 голос
/ 22 сентября 2009

Функция Connect возвращается после отправки последнего ACK (3-й сегмент трехстороннего рукопожатия при инициировании TCP-соединения). Что произойдет, если этот 3-й сегмент будет потерян, потому что прослушивание все еще ожидает ACK на сервере, но на клиенте нет никого, кто мог бы повторно отправить этот ACK?

1 Ответ

3 голосов
/ 22 сентября 2009

Если клиент отправляет свой ACK с пакетом данных, и он теряется, клиент заметит, что сервер не получил ACKd, и повторно отправит пакет.

Если клиент отправляет свой ACK в отдельном пакете, и он теряется, сервер заметит, что SYN / ACK не был ACKd клиентом, и повторно отправит пакет. Клиент ответит повторной отправкой ACK.

Неважно, блокирует ли приложение соединение по вызову в это время, поскольку ACKing выполняется реализацией TCP / IP операционной системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...