Ответы ICMP - вход или выходной интерфейс (например, от traceroute)

Когда traceroute инициируется и получает ответ ICMP от узлов, которые взаимодействуют через интерфейс

  1. если отвечают, от согласно RFC 1812.
  2. они на самом деле отвечают от входа (где они получают пакет), или выход (где пакет был бы отослан в - т.е. в следующий узел, если ttl был выше),

Персональные комментарии и исследование:

  1. Согласно опубликованным слайдам NANOG, RFC 1812 указывает, что это должен быть выходной интерфейс. Я считал раздел ICMP RFC 1812 и не мог найти, где он указывает, что (я подозреваю, что мое понимание терминологии выключено).
  2. Я считал различные маршрутизаторы (Junos, Cisco) ответ от различных интерфейсов, все же большая часть входа формы ответа (как указано NANOG скользят 10).

У меня нет виртуальной лаборатории Cisco, и при этом я не думаю, что у меня есть достаточно RAM для установки нескольких маршрутизаторов VM в VirtualBox.

1
задан 24 May 2016 в 21:48
1 ответ

Привет, я опоздала, но пришла событие, вам все еще любопытно ...

Цитата из слайда 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 справедлив для этих конкретных типов ответов.

Представьте себе этот сценарий и предположим следующее:

  1. Предположим все связи между кругами (маршрутизаторами) являются связями уровня 3 равной стоимости (в в частности, что связь между R1 и R2 не является LAG / EtherChannel / и т. Д.)
  2. Маршрутизация в примерной сети такова, что пакеты идут от отправителя S к получателю R по нижнему пути, и возврат по более высокому пути в указанном направлении

Трассировка в современных реализациях будет выглядеть так:

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.

1
ответ дан 4 December 2019 в 00:03

Теги

Похожие вопросы