Почему traceroute с разными аргументами создает разные маршруты?

Я изучал, как работает traceroute, и теперь чувствую себя как бы застрявшим.

sudo traceroute -T aws.com
traceroute to aws.com (13.227.211.129), 30 hops max, 60 byte packets
 1  * * *
 2  100.64.0.103 (100.64.0.103)  0.546 ms 100.64.0.72 (100.64.0.72)  0.664 ms 100.64.0.33 (100.64.0.33)  0.650 ms
 3  130.193.63.248 (130.193.63.248)  3.796 ms  32.932 ms  3.887 ms
 4  mow-b4-link.ip.twelve99.net (62.115.170.18)  4.927 ms  4.866 ms  4.891 ms
 5  * * *
 6  adm-bb3-link.ip.twelve99.net (62.115.136.151)  43.684 ms  43.465 ms  43.854 ms
 7  adm-b2-link.ip.twelve99.net (80.91.253.163)  43.548 ms adm-b2-link.ip.twelve99.net (62.115.141.67)  43.077 ms adm-b2-link.ip.twelve99.net (80.91.253.163)  42.585 ms
 8  a100-ic314746-adm-b2.ip.twelve99-cust.net (62.115.146.67)  44.687 ms a100row-ic300134-adm-b2.ip.twelve99-cust.net (213.248.87.114)  48.243 ms  48.218 ms
 9  * 54.239.114.36 (54.239.114.36)  42.782 ms *
10  54.239.114.147 (54.239.114.147)  47.749 ms 54.239.114.65 (54.239.114.65)  41.303 ms 54.239.114.69 (54.239.114.69)  41.403 ms
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  150.222.249.245 (150.222.249.245)  42.581 ms 52.93.130.127 (52.93.130.127)  43.424 ms 54.239.42.203 (54.239.42.203)  42.566 ms
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  server-13-227-211-129.ams54.r.cloudfront.net (13.227.211.129)  45.159 ms  46.248 ms  49.153 ms

Что это за ** * переходы? Каждый переход, помеченный как ***, является независимым маршрутизатором? Или он может пытаться достичь одного и того же маршрутизатора пару раз, поэтому пара переходов будет означать один и тот же маршрутизатор, но мы никогда не узнаем? Или мои пакеты могут выполняться по кругу и, например, пара переходов может быть одним и тем же маршрутизатором?

sudo traceroute -I aws.com
traceroute to aws.com (65.9.77.126), 30 hops max, 60 byte packets
 1  * * *
 2  100.64.0.73 (100.64.0.73)  0.494 ms  0.499 ms  0.494 ms
 3  130.193.63.248 (130.193.63.248)  3.903 ms  3.853 ms  3.847 ms
 4  mow-b4-link.ip.twelve99.net (62.115.170.18)  3.649 ms  3.701 ms  3.643 ms
 5  * * *
 6  adm-bb3-link.ip.twelve99.net (62.115.136.151)  43.460 ms  42.995 ms  42.980 ms
 7  adm-b2-link.ip.twelve99.net (213.155.137.211)  42.948 ms  42.850 ms  42.850 ms
 8  a100row-ic300134-adm-b2.ip.twelve99-cust.net (213.248.87.114)  51.693 ms  51.568 ms  51.557 ms
 9  54.239.114.84 (54.239.114.84)  46.527 ms  46.006 ms *
10  52.93.112.61 (52.93.112.61)  45.692 ms  45.704 ms  45.521 ms
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  65.9.77.126 (65.9.77.126)  45.380 ms  45.436 ms  45.392 ms

Теперь я добавил -I, чтобы использовать пакеты ICMP. Почему маршрут отличается? Работает ли этот протокол BGP?

0
задан 2 July 2021 в 22:17
2 ответа

Это не имеет ничего общего с параметрами трассировки или BGP. Маршрут отличается тем, что aws.com разрешается на несколько IP-адресов. Для вас, по крайней мере, 13.227.211.129 (первый трассировка)и 65.9.77.126 (второй трассировой маршрут).

Для меня это решает:

aws.com has address 52.84.169.36
aws.com has address 52.84.169.63
aws.com has address 52.84.169.32
aws.com has address 52.84.169.117
1
ответ дан 28 July 2021 в 14:06

Вы уже знаете ответ:

-T означает установление TCP-соединения с портом 80, в то время как -I означает отправку пакетов ICMP на порт 53 udp. Некоторые маршрутизаторы запрещают пакеты ICMP для самозащиты. Так могло быть иначе.

Даже если вы попробуете TCP-соединение несколько раз, все может быть иначе. Потому что весь Интернет подобен дорожной сети, а каждый маршрутизатор - транспортной развязке. Вы не можете гарантировать, что каждый раз будете ездить в одно и то же место по одному и тому же маршруту, не так ли?

0
ответ дан 28 July 2021 в 14:06

Теги

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