Вот путь от моего дома до sina.com.cn
.
traceroute -n sina.com.cn
traceroute to sina.com.cn (202.108.33.60), 30 hops max, 60 byte packets
1 192.168.31.1 0.476 ms 0.587 ms 0.695 ms
2 140.0.5.1 2.557 ms 2.699 ms 3.065 ms
3 221.11.155.65 4.501 ms * 221.11.165.9 5.045 ms
4 * 221.11.156.18 26.480 ms 221.11.165.233 22.950 ms
5 219.158.9.97 14.176 ms * 219.158.19.149 21.472 ms
6 219.158.9.97 18.142 ms 219.158.8.81 44.856 ms 52.539 ms
7 124.65.194.190 53.162 ms 219.158.8.81 50.614 ms 124.65.194.190 47.266 ms
8 124.65.194.190 50.760 ms 61.148.143.26 49.351 ms 53.515 ms
9 210.74.176.138 43.056 ms 43.286 ms 61.148.143.26 53.712 ms
10 202.108.33.60 46.385 ms 210.74.176.138 42.896 ms 46.931 ms
192.168.31.1 - мой домашний роутер.
140.0.5.1 - мой публичный ip, который предоставляет провайдер.
curl ifconfig.me
140.0.5.1
В третьей строке написано
3 221.11.155.65 4.501 ms * 221.11.165.9 5.045 ms
Почему есть два IP-адреса 221.11.155.65
и 221.11.165
? Что это означает?
Пакет перескакивает с 140.0.5.1 на 221.11.155.65
, затем переходит с 221.11.155.65
на 221.11.165
?
debian
router
traceroute
SCRAPY
источник
источник
140.0.5.1
это своего рода CGN, который ведет себя немного необычно.Ответы:
TraceRoute использует поля параметров при отправке пакетов протокола управляющих сообщений Интернета (icmp). Каждый шлюз или точка маршрутизации в сети считывает пакеты на одном интерфейсе, решает, куда их направить, и записывает их на другом интерфейсе. Этот интерфейс предположительно ближе к месту назначения. Пока маршрутизатор пересылает пакет, он также вносит изменения в заголовок пакета. Сокращает поле «время жизни» или число переходов на единицу. Каждый шлюз на пути пакета к месту назначения уменьшает это поле.
Когда поле счетчика переходов падает до нуля, многие маршрутизаторы отправляют обратно сообщение icmp, сообщающее, где был отброшен пакет. Чтобы определить, какой IP-адрес находится на определенном расстоянии, traceroute отправит пакеты с параметрами времени жизни и даст мне ответ, когда истечет время ожидания. Сообщения с количеством переходов, начинающимся с 1 и повышающимся, будут возвращать IP-адрес постепенно более удаленных маршрутизаторов. Так как traceroute делает это несколько раз, вы получите ответ (если у вас есть богато подключенная сеть, как, например, Интернет), несколько ответов в некоторых случаях. может случиться так, что конкретный шлюз ответит на разных расстояниях, потому что маршрут к этому шлюзу проходил через разные прыжки.
источник
В
traceroute
качестве информации вы можете указать, что у вас есть как минимум 2 маршрута для достижения пункта назначения, начиная с маршрутизатора:Это нормальная ситуация для огромного интернет-оператора: иметь много маршрутов, чтобы противостоять обычным инцидентам в Интернете.
-a
Вариантtraceroute
может помочь вам определить , к какому оператору каждый IP - адрес принадлежит.Вот пример большего дерева маршрутов, которое вы можете получить даже с вашего мобильного телефона через сетевой инструмент, такой как сервер http://ping.eu/traceroute/ :
источник
Из
traceroute(8)
руководства по OpenBSD:Руководство для Linux будет иметь аналогичную формулировку.
Множество IP-адресов, которые вы видите, являются шлюзами, отвечающими на отдельные зонды в определенных пределах скачков.
В вашем случае три проверки привели к ответам, которые в пределе 3 прыжка вернулись к вам из шлюзов 221.11.155.65 и 221.11.165.9.
Итак, ответ таков: нет, пакет не переходит между двумя хостами, перечисленными в этой строке, отправлено три зонда, и они выбирают два разных маршрута из 140.0.5.1.
источник