Когда я выполняю трассировку, первый отправленный мной пакет имеет 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) изменяется.