Terminology
Let's start with some terms before diving into the diagram and process for DNS resolution.
Resolver - these are computers typically set up by your Internet Service Provider (ISP is the company giving you Internet service like Verizon or your Cable provider). Resolvers will find out the IP address for the website you are trying to connect with. Your computer or router are set up to point to a resolver's IP address.
Root Servers - these are servers that are designated by the Internet Assigned Numbers Authority (IANA*) to assign management of the top level domains. A top level domain is the right most part of a hostname such as .com, .net, .org, and so on. You can see a listing here of the companies or organizations responsible for top level domain management. For example, as of the date of this post, Verisign is the company that manages the .com top level domain.
The company responsible for each top level domain runs the Authoritative Name Server for that top level domain.
Authoritative Name Server - this is a Name Server that can provide the definite answer for a particular DNS zone. A DNS zone is the domain that a single company has been given management authority over. In the prior example, Verisign runs and manages the Authoritative Name Server for .com. Individual companies will typically manage their own Authoritative Name Server. For example, Google will manage the Authoritative Name Server for Google.com.
Zone File - what it means to manage a zone is to manage a zone file. This Zone file is basically a text file that typically has multiple DNS records on it. An example of a DNS record is a mapping of a domain name to an IP Address. This is called an A record which stands for address record.
- A simplified example: "www.google.com. A 74.125.224.72"
Ok, enough terminology for now. It's a lot but hopefully you didn't get lost. We'll solidify the concepts with the diagram below.
DNS Resolution Process
The following diagram outlines the DNS process.
- Let's say you want to go to www.google.com to run a web search. You type in www.google.com in your browser and hit enter.
- Your computer or your router has a setting to ask your resolver (typically one set up by your ISP) "what is the IP address for www.google.com?"
- Your resolver will have to look up where to find the answer**. The resolver will be configured to ask the root DNS server "what is the IP address for www.google.com?"
- The root DNS server will respond that it does not know but it will tell the resolver the IP address for the .com Authoritative Name Server to ask the same question.
- Now the resolver asks the .com Authoritative Name Server "what is the IP address for www.google.com?"
- The .com Authoritative Name Server will respond that it does not know either but it will tell the resolver the IP address for the Google.com Authoritative Name Server to ask the same question.
- Next the resolver asks the Google.com Authoritative Name server "what is the IP address for www.google.com?" Since it is Authoritative for Google.com, the Google.com Name Server will have a Zone file on it with an A record: "www.google.com. A 74.125.224.72"
- The Google.com name server will then respond to the resolver that "the IP address for www.google.com is 74.125.224.72".
- Finally, the resolver will tell your browser, "the IP address for www.google.com is 74.125.224.72".
Ok, that is a lot there, and I gave you the long version of DNS resolution so you understand the whole process. Generally it is much quicker due to caching (storing the mapping of domain name to IP address to eliminate repeating all the steps every time). We will plan on getting more technically detailed in later posts.
Note at this point, we haven't even contacted the Google web server to actually download the www.google.com page so you can run a search.
Next in our series we will discuss HTML to walk through the next stage where a browser connects with a web server to load a web page.
Footnotes:
* IANA is a non-profit organization responsible for handling this to be
** Typically your resolver will have the answer stored since it is a common query and by storing the answer for a period of time, it will cut down on the speed to do DNS resolution
No comments:
Post a Comment