Количество вызовов connect () = сегменты TCP SYN? - PullRequest
0 голосов
/ 07 февраля 2011

Я могу запустить утилиту регистрации системных вызовов.Теперь количество пакетов TCP SYN, которые я вижу, не равно числу системных вызовов connect (), которые я записываю?В чем может быть причина этого?Какие-либо другие системные вызовы соединяются внутри?

1 Ответ

1 голос
/ 07 февраля 2011

Существует множество причин.

Если метод connect () завершается неудачно из-за не маршрутизируемого адреса, он может вообще не генерировать пакет SYN (например, тайм-аут arp).Аналогично, если происходит сбой соединения с какой-либо другой ошибкой (например, недопустимые параметры).

Пакет SYN может идти на интерфейс, который вы не просматриваете (например, localhost)

Ядро будет повторять попытку;если нет ответа на запрос, он попытается снова (возможно, несколько раз), прежде чем в конечном итоге вернет тайм-аут.

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