Why traceroute with different arguments makes different routes?

I was studying how traceroute works and now im feeling kinda stuck.

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

What are these *** hops? Is every hop that marked *** a independent router? Or it might trying to reach same router a couple times, so couple hops will be meaning same router but we will never know? Or my packets might running in circles and, for example, couple of hops might be the same router?

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

Now i added -I to use ICMP packets. Why route is different? Is that BGP working?


It has nothing to do with traceroute options or BGP. The route is different because aws.com resolves to multiple IPs. For you, at least 13.227.211.129 (first traceroute) and 65.9.77.126 (second traceroute).

For me it resolves to:

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