TCP/IP Service: Domain Name System (DNS) Domain Names are a well known concept on the Internet. Domain Names are a hierarchical naming system for hosts, services and resources. NOTE: Domain Names are also used on local networks, not just the Internet. Domain Name Servers store a database of Domain Names and the associated IP Address to allow a connection to be made to the remote host. As seen in the article TCP/IP, an IP Address is required for connecting to hosts on a network. DNS Servers are listed in the TCP/IP Configuration screen as shown in the Configuring Transmission Control Protocol/Internet Protocol (TCP/IP) article. NOTE: For systems using Domain Host Control Protocol (DHCP), the settings are auto-configured. DNS Servers are used to translate the Domain Name, or “friendly name”, of a host to an IP Address. You must remember that all information sent on the Internet is routed by IP Addresses only. When a browser is opened a user may type in ‘www.linux.org’ into the address bar. Frames routed around the Internet do not have the name ‘www.linux.org’ encapsulated into the frame. IP Addresses are used instead and in a frame for a request to ‘www.linux.org’, you would see the address of 126.96.36.199. If an address is unknown the system can perform a few steps to determine the IP Address of the Domain Name: Check local name – if the local host name is the name being sought, then a connection is made to the local host. Checks hosts file – the host file (\etc\hosts) is a text file containing IP Addresses and the associated Domain Name. Checks DNS Server – the primary and secondary DNS server is contacted which are configured in the TCP/IP settings. Once the IP Address is found communications can be made to the host system. If an IP Address is not found, then an error is returned that the host cannot be found. DNS Resolution works in a simple manner. A Root Server is contacted first and is queried about the end of the Domain Name being searched. For instance, if you look up ‘www.linux.org’ the Root Server is asked for a ‘.org’ server. An IP Address is given for a server which contains a database for the ‘.org’ servers. Once received, your system contacts the ‘.org’ server and asks for the address of the ‘linux.org’ server. The new IP Address is queried for the ‘www.linux.org’ host. Of course, this may be the server which has the ‘www’ service and your system can query it for a web page. Say you were looking for another service, such as FTP. If the FTP service is not hosted on the linux.org server, your system would receive another IP Address and you would query that host for the service. There are many DNS Servers on the Internet to provide redundancy for Domain Name Resolution. It is usually best to override DNS Server Addresses in your TCP/IP configuration. Two DNS Server Addresses should be used from different companies. It may be common that if one server is unreachable the others from the same company will be as well. Try some of the following: Google 188.8.131.52 Google 184.108.40.206 Norton 220.127.116.11 Norton 18.104.22.168 Verizon 22.214.171.124 Verizon 126.96.36.199 Verizon 188.8.131.52 Verizon 184.108.40.206 Verizon 220.127.116.11 Verizon 18.104.22.168 NOTE: To find two which should work best try to ping them and determine which two servers give a faster response and set TCP/IP to use those two servers. Set the fastest server as the Primary DNS Server and the second fastest as the Secondary. You may not note much, if any, of a difference. It is smart to always have a list of DNS addresses available in case your regular DNS Servers fail. Without a DNS Server the Internet is useless unless you know the IP Addresses of the servers you wish to access. As you should be noticing the Root DNS Servers are very critical to the function of the Internet. The root servers are named A through M since there are thirteen main root servers for each root. A list of all of the root zones can be found at http://www.iana.org/domains/root/db. For example, the A Root Server for the ‘.org’ zone would be ‘a.public-root.org’ which has an IP Address of 22.214.171.124. Another example is L Root Server the ‘.com’ zone at ‘l.public-root.com’ found at the address of 126.96.36.199. Instead of using the name of ‘public-root’ you could also use ‘root-server’. The addresses are different since there are multiple roots available in each zone to provide redundancy. NOTE: For the location and addresses of the worldwide public-root system which copies the databases to other affiliated servers, go to public-root.com. Be aware that when a web address is resolved to an IP Address, such as ‘linux.org’, the server is queried for the www service. Once queried the web server is set to send a default page; this is not due to the IP Address. An example would be if you type in the web browser address bar ‘www.somewhere.com’ and it changes to ‘www.somewhere.com/default.html’. The web service is set to send every browser from the main IP Address to the page ‘default.html’. Be aware that the Internet is a very large place and surfing it is not a simple process. There are many background details taking place to make everything work smoothly. Without the DNS Servers, you could not surf the Internet without knowing the IP Addresses of each web site you would wish to visit. Historically, all the addresses used to be manually placed in the \etc\hosts file to allow for browsing before DNS was implemented in TCP/IP.