16:53 - Saturday, 19 April 2014

How Do DNS Servers Interact?

#Topics: will two dns interfere with each other

If I register a domain,all the DNS servers will be updated with my domain,but who actually controls these DNS servers?I find them independent like godaddy.com,how do they interact with each other?Is there no system which controls all the DNS servers and they are bound to it?

First, sorry for the english.

Well, in the old days, DNS was fully controlled by Universitys and Military, they all replicated all the info between them, but the inmense quantity of registers made those servers crash.

So the solution was to move to a distributed system, in witch few DNS (root) are controlled by International Authoritys.

After the root servers, comes the “com” “gov” DNS, that may or not be the same that the root (in some cases), and can be controlled (or not) by countrys… they can be sold too (“tv” is a example) to private firms.

After that, we found Our Dns servers, who are in charge of their zones, This system is really good because with few iterations on differents servers, u can get the page much more faster than in a huge database of DNS records.

The answer will be that DNS distributed system is controlled by many different entities, but with the necessary measures to avoid problemas or hacking.

Those link will give u some useful info too:

Root Servers

http://en.wikipedia.org/wiki/Root_nameserver

http://www.isoc.org/briefings/020/

It works like:

  • User query www.yourdomain.com -> cache servers (The IP of cache server is specified by user or DHCP):

    www.yourdomain.com isn't existed in cache server, ...
  • cache server query -> root DNS server (The IP of root DNS server is specified by OS)

    root DNS server just forward the query to .com server, ...
  • root DNS server query -> .com server

    (the nameserver of yourdomain.com is registered here.).com server just forward the query to your nameserver, ...
  • .com server query -> your nameserver

  • your nameserver responds the query: www.yourdomain.com=1.2.3.4

  • cache server received the query, and cache it for future use

  • cache server responds to the user.

When you register a domain name, you do so through a registrar such as godaddy. You usually (depending on the registrar) have a few options for how the DNS authoritative for your domain is handled:

  1. Use their DNS services. You then manage your DNS records for your domain through their control panel or API. The registrar’s name servers are made authoritative for your domain, and you do not need to run your own name servers.

  2. Use a DNS hosting service. If you don’t like the registrar’s offerings but do not wish to operate your own name servers, there are third-party DNS hosting options available.

  3. Run your own name servers. This is often done by people who want more control over their domain’s DNS: the registrar’s offerings are too limiting, you have special requirements for availability, or you just don’t trust the registrar to handle your domain’s DNS.

  4. Run your own name servers, but let the registrar provide DNS service. This is a “stealth master” approach. You manage your domain’s DNS on a name server which is only accessible to your registrar. They then transfer your domain’s DNS data to their own name servers for the world to use. This is good for people who want fine-grained control over their DNS records, but do not want to manage their own public DNS servers. To the outside world, though, it looks no different than option #1 (hence the “stealth” part.)

No matter which option you choose, the delegation information (i.e. telling the world which name servers are authoritative for your domain’s DNS based on the approach you take) is passed from your registrar to the top level domain’s (.com, .net, .us, .de, etc.) registry.

For options #1 and #4 above, the name servers involved look like:

root nameservers     -->  top level domain      -->  registrar's nameservers(managed by various       nameservers (managed       (managed by your registrar)entities*)                 by the TLD registry)

For the hosted option #2, it’s slightly different:

root nameservers     -->  top level domain      -->  DNS hosting company's nameservers(managed by various       nameservers (managed       (managed by, of course, entities*)                by the TLD registry)        the DNS hosting company.)

For option #3 (do-it-yourself):

root nameservers     -->  top level domain      -->  your nameservers(managed by various       nameservers (managed       (managed by you!) entities*)                by the TLD registry)

(each –> represents a DNS delegation)

* The root name server information is owned by ICANN under contract given by the US Department of Commerce, managed by VeriSign in collaboration with ICANN, and operated by many different organizations across the globe.

Your top level domain’s name servers are generally owned, operated, and managed by the top level domain’s registry.

Anyway, I hope that helps.

All the DNS servers don’t interact with each other. No DNS server will be “updated” with your DNS information. DNS is a pull technology, not a push technology. The only way my DNS servers know about your DNS records is if they (or one of their DNS clients) submits a query for one of your DNS records. Then my DNS servers submit a query to find your name server(s), using forwarders or root hints, and then based on that answer, query your name servers for the record in question. At no other time does my DNS server know anything about your domain DNS records.

Share

Advertisement

Comment