View Single Post
Posts: 3,841 | Thanked: 1,079 times | Joined on Nov 2006
#4
>What I understood is it will reduce the number of hops to reach the destination site.

There's just no way it can do that.. DNS does one simple function: Translate an FQDN (fully qualified domain name, e.g. "www.google.com") to an IP address (e.g. 216.239.59.104), after that you're done with DNS - the rest is, indeed must be, taken care of by the routers between your site (to be precise, the site of your access point) and the destination.

The only thing I can see that an alternative DNS system can do is to provide faster fqdn->IP translation, but as soon as your networking application passes the 'gethostbyname' or 'getaddrinfo' system calls then there's no more DNS lookup involved.

Think of it this way: You can actually split the two parts of your communication (DNS lookup/data transfer) manually, like so:
# host www.google.com
www.google.com CNAME www.l.google.com
www.l.google.com A 216.239.59.104
www.l.google.com A 216.239.59.103
www.l.google.com A 216.239.59.147
www.l.google.com A 216.239.59.99

(some IP addresses changed to aaa.bbb etc. below)
# traceroute -n 216.239.59.104
1 aaa.bbb.ccc.ddd 0.234 ms 0.238 ms 0.285 ms
2 eee.fff.ggg.hhh 0.576 ms 0.530 ms 0.525 ms
...
16 72.14.232.241 69.267 ms 69.407 ms 69.364 ms
17 216.239.49.114 71.284 ms 216.239.49.126 71.169 ms 72.061 ms
18 216.239.59.104 69.537 ms 69.632 ms 69.331 ms
#

The 'host' (or the old nslookup) command communicates with your DNS server. The 'traceroute -n' doesn't talk with any DNS at all, so whatever kind of DNS system you're using you'll just end up with an IP address that you can use with traceroute -n. It doesn't make a difference where that IP came from (indeed, it could come from your /etc/hosts file and the lookup would be faster than anything else).