Why does traceroute fail for amazon.com, yahoo.com, and ebay.com?

While troubleshooting performance issues on our network, I ran traceroute on various websites. The following websites would repeatedly not complete traceroute:

  • yahoo.com
  • amazon.com
  • ebay.com

Questions

  • Are these sites protecting their network such that traceroute is not able to complete?
  • I assume that this is based on these websites' networks and is unrelated to our network performance issues. Is that a safe assumption to make?

Example Traceroute for ebay.com

$ traceroute ebay.com
traceroute: Warning: ebay.com has multiple addresses; using 66.135.205.13
traceroute to ebay.com (66.135.205.13), 64 hops max, 52 byte packets
 1  10.10.100.1 (10.10.100.1)  56.518 ms  2.390 ms  2.082 ms
 2  mo-69-34-118-1.sta.embarqhsd.net (69.34.118.1)  9.943 ms  10.007 ms  10.177 ms
 3  mo-69-68-209-249.dyn.embarqhsd.net (69.68.209.249)  10.976 ms  21.159 ms  10.015 ms
 4  ge-6-20.car1.stlouis1.level3.net (4.53.160.13)  26.562 ms  26.278 ms  25.818 ms
 5  ae-11-11.car2.stlouis1.level3.net (4.69.132.186)  26.393 ms  26.519 ms  79.884 ms
 6  ae-4-4.ebr2.chicago1.level3.net (4.69.132.190)  32.965 ms  26.123 ms  48.123 ms
 7  ae-5-5.ebr2.chicago2.level3.net (4.69.140.194)  27.308 ms  26.784 ms  26.693 ms
 8  ae-2-52.edge4.chicago3.level3.net (4.69.138.166)  27.137 ms  26.473 ms  27.047 ms
 9  chp-brdr-03.inet.qwest.net (63.146.27.17)  26.315 ms  26.329 ms  26.449 ms
10  dvr-edge-13.inet.qwest.net (67.14.24.89)  51.270 ms  51.355 ms  51.134 ms
11  * * *
12  * * *
. . . . .
33  * * *
34  * *^C

Solution 1:

If you block some ICMP traffic, for firewalling or whatever reason, then traceroutes don't fully work. They're a mixture of UDP (the DNS lookups) and ICMP usually.

If you run traceroute -I yahoo.com or traceroute -T yahoo.com you should see different results (yahoo.com completes for me). This uses ICMP echo and TCP SYNs.

From the traceroute command's man page on Linux:

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the "unlikely" UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

Solution 2:

Traceroute uses groups of ICMP messages. each has 3 ICMP messages. (HOP count increment by one in each group of messages).

Usually admins block ICMP packets to "protect" their network. (mostly to obscure the structure of network and DoS).

That's why you get stars.