Назад | Перейти на главную страницу

Как может маршрут между двумя частными IP-адресами проходить через общедоступные IP-адреса?

Я пытаюсь понять, что это за результат traceroute средства. Я изменил IP-адреса для конфиденциальности, но сохранил различие между общедоступным и частным диапазоном IP-адресов.

traceroute.db -e -n 10.1.1.9
traceroute to (10.1.1.9), 30 hops max, 60 byte packets
 1  10.0.0.1  0.596 ms  0.588 ms  0.577 ms
 2  10.0.0.2  1.032 ms  1.029 ms  1.084 ms
 3  10.0.0.3  3.360 ms  3.355 ms  3.338 ms
 4  23.0.0.4  3.974 ms  4.592 ms  4.584 ms
 5  23.0.0.5  13.442 ms  13.445 ms  13.434 ms
 6  45.0.0.6  13.195 ms  12.924 ms  12.913 ms
 7  67.0.0.7  52.088 ms  51.683 ms  52.040 ms
 8  10.1.1.8  46.878 ms  44.575 ms  44.815 ms
 9  10.1.1.9  45.932 ms  45.603 ms  45.593 ms

Первый диапазон 10.0. * Находится внутри моей организации. Последний диапазон 10.1. * - это еще один сайт моей организации. Промежуточные адреса принадлежат различным интернет-провайдерам. Я ожидаю, что между двумя сайтами существует какая-то VPN, но я мало знаю о топологии нашей сети.

Я не понимаю, как маршрут может идти от частного адреса через общедоступные адреса обратно к частным адресам. Поиск привел меня к Публичные IP-адреса на MPLS Traceroute, что дает возможное объяснение: MPLS. MPLS - единственное возможное или наиболее вероятное объяснение? Иначе что это говорит мне о нашей сетевой инфраструктуре?

Дополнительный вопрос для моего назидания: в этом сценарии, кто генерирует пакеты с превышением TTL ICMP и, если необходимо, изменяет адреса источника и назначения?

На обоих концах есть серверы, которые выполняют преобразование сетевых адресов (NAT). Когда адрес проходит через эти серверы, адрес заголовка пакета данных перезаписывается на Интернет-адрес этого сервера. Сервер отслеживает, какие соединения принадлежат какому внутреннему хосту.

Traceroute отображает данные из пакета ICMP, указывающие, был ли достигнут хост за заданное количество переходов. Маршрутизаторы NAT не изменяют эти данные. В результате вы видите адрес, по которому каждый хост получил пакет.

Обычно имя сервера на дальнем конце в этом случае маршрутизируется с использованием DNAT (Destination NAT) на хост в частной сети.

Вероятно, адрес передается по туннелю VPN между двумя сайтами. VPN инкапсулирует исходный и конечный адреса внутри пакетов, отправляемых между переходами 3 и 7. Эффект тот же, хотя механизм другой. Маршрутизаторы на переходах 3 и 7 будут знать диапазоны адресов, поддерживаемые удаленными маршрутизаторами, и соответствующим образом маршрутизировать пакеты. После перехода 7 IP-адрес назначения будет 67.0.0.7 с общедоступным адресом, принадлежащим переходу 3. Это невидимо из-за того, как работает трассировка маршрута. В зависимости от протокола VPN некоторые переходы после перехода 7 могут не отслеживаться.

В некоторых случаях вы можете увидеть, как интернет-провайдер маршрутизирует частные адреса на общедоступный. Это будет отображаться как один или несколько частных адресов между двумя общедоступными адресами. Если промежуточные маршрутизаторы с общедоступными адресами принадлежат одной организации, возможно, у них есть правила маршрутизации, разрешающие сквозную связь без преобразования.