Когда traceroute инициируется и получает ответ ICMP от узлов, которые взаимодействуют через интерфейс
Персональные комментарии и исследование:
У меня нет виртуальной лаборатории Cisco, и при этом я не думаю, что у меня есть достаточно RAM для установки нескольких маршрутизаторов VM в VirtualBox.
Привет, я опоздала, но пришла событие, вам все еще любопытно ...
Цитата из слайда R Steenbergen's NANOG верна. Поведение определено в разделе 4.3.2.4 RFC1812, в котором говорится:
IP-адрес источника в сообщении ICMP, отправленном маршрутизатором, ДОЛЖЕН быть одним из IP-адресов, связанных с физическим интерфейсом через которое передается сообщение ICMP
В зависимости от реализации Traceroute ответом на трассировку может быть сообщение ICMP Destination Unreachable (то есть трассировка, реализованная в Unix) или превышение времени ICMP (трассировка, инициированная Windows). Я считаю, что это освещено в презентации Стинбергена. Поскольку ни один из этих разделов не предусматривает указания адреса источника ответа ICMP, мы предполагаем, что Раздел 4.3.2.4 справедлив для этих конкретных типов ответов.
Представьте себе этот сценарий и предположим следующее:
Трассировка в современных реализациях будет выглядеть так:
traceroute to R
1 A 0.329 ms A 0.425 ms A 0.471 ms
2 C 0.349 ms C 0.435 ms C 0.473 ms
3 F 0.359 ms G 0.445 ms F 0.481 ms
4 R 0.369 ms R 0.455 ms R 0.491 ms
И трассировка, если бы маршрутизаторы были закодированы в соответствии со спецификацией, выглядела бы так:
traceroute to R
1 B 0.329 ms B 0.425 ms B 0.471 ms
2 D 0.349 ms E 0.435 ms D 0.481 ms
3 H 0.369 ms H 0.445 ms H 0.491 ms
4 R 0.389 ms R 0.455 ms R 0.496 ms
Итак, в более разговорной речи В смысле современные реализации говорят нам, как мы достигли конкретного хоста. Исходная спецификация сообщала нам, как мы покинули маршрутизатор, но не рассказывала, как мы туда попали.
Обратите внимание, что мы могли бы подумать, что это вызовет сбой Ping, но в спецификации этот случай явно рассматривается:
IP адрес источника в эхо-ответе ICMP ДОЛЖЕН быть таким же, как
адрес конкретного пункта назначения соответствующего эхо-запроса ICMP
сообщение.
Другими словами, для Ping адрес источника эхо-ответа ICMP не должен быть адресом, связанным с выходным интерфейсом, как указано в разделе 4.3.2.4, а должен вместо этого использовать адрес источника, полученный из адреса назначения исходный эхо-запрос ICMP.