I've been testing using Google DNS (
8.8.8.8/8.8.4.4) vs. Hurricane Electric's DNS (74.82.42.42). My ISP (in Missouri) uses HE in Kansas City as their primary transit uplink with a secondary to Cogent in St. Louis.
I've settled on Google DNS over HE's offering, even though HE's is closer and faster (9ms cached, 63ms uncached vs 23ms cached, 69ms uncached, per GRC DNS Benchmark), because Google DNS supports EDNS and DNSSEC, and even though I hit the HE anycast server in KC (6 hops/9ms away), I get the weirdest CDN results from it and get Netflix streaming from Miami, Akamai from Dallas (via Denver), Facebook from NYC, etc., whereas with Google DNS (and its EDNS support), pretty much everything I get is served to me from Chicago (~20ms away).
The only odd issue I get with Google DNS is that when I access Google's own services, I seem to reach halfway across the world to get them! Take this traceroute:
Tracing route to www.google.com [216.58.204.36]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms router [192.168.56.1]
2 2 ms <1 ms <1 ms 100.64.103.1
3 <1 ms <1 ms <1 ms 38.131.218.xxx
4 3 ms 3 ms 3 ms 38.65.114.217
5 17 ms 9 ms 12 ms v320.core1.mci3.he.net [184.105.41.97]
6 13 ms 13 ms 14 ms 100ge9-2.core1.oma1.he.net [184.105.65.166]
7 60 ms 58 ms 57 ms 206.126.235.14
8 23 ms 23 ms 24 ms 108.170.244.2
9 23 ms 23 ms 32 ms 216.239.59.151
10 38 ms 37 ms 37 ms 209.85.252.39
11 110 ms 110 ms 110 ms 72.14.236.8
12 109 ms 109 ms 123 ms 216.239.58.128
13 * * * Request timed out.
14 110 ms 110 ms 110 ms 108.170.238.119
15 111 ms 110 ms 110 ms lhr25s12-in-f36.1e100.net [216.58.204.36]
Trace complete.
Any ideas why on earth I'm getting Google served to me from London (LHR) instead of stopping somewhere a lot closer...like, perhaps, their datacenter in Omaha/Council Bluffs, which this path goes right past (and which my traceroute to 8.8.8.8 itself goes to)?
Tracing route to google-public-dns-a.google.com [8.8.8.8]
over a maximum of 30 hops:
1 <1 ms 3 ms <1 ms router [192.168.56.1]
2 <1 ms <1 ms <1 ms 100.64.103.1
3 <1 ms <1 ms <1 ms 38.131.218.241
4 3 ms 3 ms 3 ms 38.65.114.217
5 9 ms 11 ms 9 ms v320.core1.mci3.he.net [184.105.41.97]
6 13 ms 13 ms 13 ms 100ge9-2.core1.oma1.he.net [184.105.65.166]
7 62 ms 63 ms 66 ms 206.126.235.14
8 23 ms 22 ms 24 ms 108.170.244.1
9 23 ms 23 ms 23 ms 209.85.251.135
10 23 ms 23 ms 23 ms google-public-dns-a.google.com [8.8.8.8]
Trace complete.
Digging
whoami.akamai.com gives me 74.125.72.16, and
http://www.whatsmydnsserver.com/ gives me 173.194.103.137, both of which also appear to resolve to Council Bluffs, so with or without EDNS, I should at least get something local to Omaha/KC, if not closer.
Interestingly, if I use the HE nameserver or even run a local resolver, I get Google served out of DFW, so why is using Google's own DNS service with a resolver in Council Bluffs resolving not to Council Bluffs but across an ocean and a third of a way around the world?? This is repeatable several days in a row, too, so it's not a hiccup.
Traceroutes to other services like
www.youtube.com also end up in London, though thankfully, it seems I'm getting actual YouTube content served to me out of Council Bluffs and Google Cloud Files content out of DFW, so at least streaming/download rates are decent.
Any ideas?