Каково значение первых дублирующих пакетов в трассировке? - PullRequest
0 голосов
/ 06 ноября 2011

Когда я выполняю трассировку, первый отправленный мной пакет имеет ttl = 1, и ответ всегда является «нулевым» «тайм-аутом» от моего маршрутизатора. Это первая вещь, которую я не понимаю: почему мой маршрутизатор не отправляет мне превышенное по времени сообщение icmp?

Используя wireshark, я заметил, что есть как минимум 2 дубликата первого пакета (один с ttl = 1) и только один нулевой ответ от маршрутизатора.

Я думал, что это проблема моего кода, но на YouTube много видео, где wireshark показывает то же самое: компьютер отправляет 2 или 3 пакета с ttl = 1 до получения сообщения icmp, превышающего время, и увеличивает ttl до 2 .

Можете ли вы объяснить это, пожалуйста?

edit: я допустил ошибку: пакет "null" или "timeout" не отправляется маршрутизатором; это сообщение от ПК, который еще не получил ни одного пакета. Так что ттл не увеличивается. Теперь я могу сформулировать правильный вопрос: Почему первый пакет не может достичь пункта назначения? Это не вопрос ttl (я могу установить его на 2-3-4, и у меня всегда один и тот же дубликат на кулаке отправка).

Может быть, это проблема фрагментации? но почему? Журналы некоторых проволочных акул подсвечивают, что после первой передачи mss (или mtu..can't Remembermebr) изменяется.

1 Ответ

0 голосов
/ 27 ноября 2011

«Я думал, что это проблема моего кода»

Это проблема с кодом или командой traceroute? TTL первых пакетов равен 1, а первый маршрутизатор уменьшает TTL, видит, что он равен 0, и должен ответить с ошибкой TTL Time Exceeded, насколько я помню.

...