I'm running traceroute from my PC and from a few sources in the US to www.hku.hk for a homework assignment.
Here's the output from my PC for 30 hops:
Tracing route to www.hku.hk [147.8.2.58]
over a maximum of 30 hops:
1
2 * * * Request timed out.
3 30 ms 31 ms 31 ms 10.0.1.26
4 31 ms 31 ms 31 ms 10.9.8.134
5 30 ms 33 ms 38 ms 212.36.211.162
6 38 ms 34 ms 35 ms 172.16.44.6
7 30 ms 31 ms 31 ms 172.16.44.5
8 71 ms 68 ms 67 ms ix-1-1-1-0.tcore1.WYN-Marseille.as6453.net [80.231.217.33]
9 94 ms 92 ms * if-2-2.tcore2.WYN-Marseille.as6453.net [80.231.217.2]
10 119 ms 89 ms 90 ms if-9-2.tcore2.L78-London.as6453.net [80.231.200.14]
11 92 ms 90 ms 90 ms if-2-2.tcore1.L78-London.as6453.net [80.231.131.2]
12 91 ms 92 ms 92 ms if-17-2.tcore1.LDN-London.as6453.net [80.231.130.130]
13 91 ms 92 ms 92 ms 195.219.83.186
14 298 ms 235 ms 91 ms ae-4.r23.londen03.uk.bb.gin.ntt.net [129.250.5.40]
15 664 ms 369 ms 431 ms as-0.r22.osakjp01.jp.bb.gin.ntt.net [129.250.5.35]
16 * * * Request timed out.
17 399 ms 401 ms 404 ms as-5.r20.newthk02.hk.bb.gin.ntt.net [129.250.6.115]
18 397 ms 397 ms 394 ms ae-1.r02.newthk02.hk.bb.gin.ntt.net [129.250.2.37]
19 401 ms 399 ms 404 ms 203.131.246.154
20 391 ms 386 ms 396 ms 115.160.187.102
21 397 ms 391 ms 392 ms 175.45.11.98
22 399 ms 392 ms 393 ms 203.188.117.2
23 398 ms 387 ms 391 ms 147.8.239.15
24 * * * Request timed out.
25 * * * Request timed out.
26 * * * Request timed out.
27 * * * Request timed out.
28 * * * Request timed out.
29 * * * Request timed out.
30 * * * Request timed out.
When I increased the maximum number of hops to 70 (in case it's actually over 30 hops), I basically just got "Request timed out" from hop 24 til 70.
The address at hop 23 is actually in Hong Kong (using some IP tracker tool will show that) and so it's extremely unlikely that it takes 47+ additional hops to get from somewhere in HK to HKU.
Why does this happen? The most logical thing I could think of was that perhaps the destination itself (hku.hk) has some firewall and doesn't respond to traceroute requests, but why would this fool traceroute into practically not stopping?
Best Answer
This is the most common cause you will see on the net. Traceroute either uses UDP or ICMP packets with a reduced TTL value so packets would expire before they get to the destination. At the routers where they expire, it might or might not be allowed to respond with TTL-exceeded messages to the originator. Additionally, ICMP might be filtered altogether somewhere along the route so the response would be generated but simply filtered before it gets back to you.
Because traceroute is designed not to stop unless it receives a response from the destination.
Further reading: http://en.wikipedia.org/wiki/Traceroute#Implementation