DNS Overview (Issue 1147)
This article is an overview of DNS (Domain Name Service).
Just what is DNS? If it weren't for Domain Name Service, your web browser and e-mail programs would be totally useless. Before we go any further, some basic terms need to be defined.
IP address: Four groups of one to three digit numbers separated by periods that uniquely identify a computer or webserver on the Internet. Think of IP addresses as the street addresses of computers on the Internet. EX: 22.214.171.124
Domain Name: The human readable name given to uniquely identify a web site. Two different websites cannot have the same domain name. The web address for Mercury Network's company website is www.tm.net. The tm.net part of the address is the domain. The www shows that the domain tm.net is on the World Wide Web.
Domain Name Service Server (DNS Server): A computer that is permanently connected to the Internet that has a list of web domains and the corresponding IP addresses for those domains. For example, www.tm.net has a corresponding IP address of 126.96.36.199. A DNS Server with such information will know that when a user requests a webpage in www.tm.net to give the IP address that goes with that domain.
Part 1: Basics
Why have Domain Name Service? Computers have their own system for naming websites and servers; IP addresses. The only problem is humans have a hard time remembering all those numbers. Like we said before, www.tm.net's IP address is 188.8.131.52, but it is far easier to remember www.tm.net. That's where the problem arises. Computers want numbers and humans want letters and words. That's where Domain Name Service comes into play.
Think of a domain name as a website's name, as if it were a person's name. Will call our fake website "Bob," assuming that no two people in the world have the same first name. Like any person, Bob lives in a house, somewhere in the world. His house has a street address. Now "Bob" represents the domain name, and Bob's street address represents the IP address. Bob's street address is 123 N. West Street, Moscow, Alaska.
As another person in the world looking for Bob, is it easier to remember "Bob" or "123 N. West Street, Moscow, Alaska?" This is the same dilemma facing web servers and humans. Lets say you wanted to borrow Bob's staple gun so you want to go to his house. But you just know his name. People aren't going to know the street addresses of everyone on the planet, so that's where the Postal Service comes in. The Postal Service would be like Domain Name Service in the sense that the Post Office has a list of everyone's name and their corresponding street addresses. That's precisely the resource you need to track down Bob and borrow his staple gun.
How it works... Now to get into the nitty-gritty of DNS. A user makes a request for a webpage either by clicking a link on a website or typing an address into the address bar. That request doesn't go to one central DNS server that houses all the world's domain names and IP address equivalents, it makes its first stop at one of Mercury Networks two DNS servers. This is where the real work begins.
Mercury's DNS servers then communicate with the 13 major DNS servers around the world that handle DNS queries. Mercury's DNS server will "ask" one of the major DNS servers if it has any information on domain X. The major DNS server will answer in one of three ways:
- I am authoritative, yes such domain/webpage exists and here is the IP address
- I am authoritative, no such domain/webpage exists
- I am not authoritative on this domain, but here is the IP address of another DNS server who might be
In case number one:
"I am authoritative, yes such a domain exists and here is the IP address:" The DNS server returns that it is authoritative, meaning that it has direct information on domain X and is able to associate the domain's name with an IP address. The IP address is then sent back to Mercury's DNS server, which then contacts the website and sends the user's request for the webpage. The website then sends the requested data back to the user.
In case number two:
"I am authoritative, no such domain exists." The DNS server has direct information that the domain does not exist. In this case Mercury's DNS server will Redirect you to a Google search using the Domain Name entered in the browser address field.
In case number three:
Basically this DNS server has no clue what you are talking about but it doesn't leave you hanging. It gives Mercury's DNS server the IP address of another major DNS server that may have information concerning a requested domain or webpage. Then the search starts over and continues to do so until one of the two above answers is reached.
In the case that you receive a "Page cannot be found", or "Error: 404 Request Not Found", this is in line with Case number 1 above; This means that the domain does exist but the domain has no idea where to pass your traffic, perhaps there is no web page code to execute or their web server is down.
When setting up a domain for a customer, there are several pieces of information that need to be put together to make the domain function properly.
The main options are:
Setting options are Master or Slave. If set to Master, that means Mercury's DNS servers are authoritative, and will offer the proper DNS information for the web site. A slave server knows because a master has told it. The slave is configured to retrieve that particular domain from a certain master.
Setting options are Custom, Mercury, Mercury-Domain Alias, and Mercury-Hosting. The only two that are dealt with here is Custom and Mercury. When the e-mail server is set to Custom, that means that customer is hosting their own e-mail, and the appropriate A and MX records are entered into the Customer DNS service of the account. Each MX record contains a priority and a host name. The MX records for a given domain name point to the servers that should receive e-mail for that domain along with their priority. An A record gives you the IP address of a domain. When the e-mail service is set to Mercury, that means Mercury is hosting their e-mail, and there are no custom DNS settings to implement.
Setting options are Custom, Mercury-Forwarding, Mercury-Standard, and Mercury-Enhanced. When set to Custom, that means the customer is hosting their own web site, and the appropriate A records are configured in the Customer DNS service for their web server. When set to Mercury-Forwarding, that means any requests handle by Mercury for that domain are then forward to another domain. When set to Mercury-Standard, that means Mercury is hosting the web site on our own servers. When set to Mercury-Enhanced, that means the web site is hosted by Hostopia.
If the web site is hosted by Mercury, any parameter changes can be made directly from the Account Manager. If the web site is hosted by Hostopia, changes can be made by logging into WebsiteOS.