Domain Name System (DNS) Introduction

Introduction

DNS is a very well known protocol. It is used for resolving host names and domain names to IP addresses. The fact is that when you type www.firewall.cx it is translated into an IP address via special queries that take place from your PC, but I'll explain how that works later on.

Because there is a fair bit of material to cover for the DNS protocol, and I don't want to confuse you with too much information on one page, I have broken it down into 5 sections, each covering a specific part of the protocol.

People who want specific information on the DNS protocol can go straight to the section they need, the rest of us who just want to learn it all can start reading in the order presented:

Section 1: The DNS Protocol. How and why the DNS protocol was born. Page contains a bit of historical information and also compares DNS with the OSI Reference model, where you will see the layers on which DNS works. Internet DNS hierarchy is also analysed here, giving you the chance to understand how domains on the Internet are structured.

Section 2: The DNS Resolution Process. What really happens when a host requests a DNS resolution. Full analysis of the whole resolution process using a real life example. Understand Name Servers and the role they play in the DNS system.

Section 3: The DNS Query Message Format. This section, along with the next one gives you the DNS packet format in all its glory. Learn how DNS queries are generated and formatted. See, learn and understand the various fields within the packets as your taken through a full detailed analysis of the packet structure using the cool 3D diagrams.

Section 4: The DNS Response Message Format. This is the continuation of the section above, dealing with the DNS response that's received. You will learn how the response packet is generated, formatted and sent to the resolver. Again, you're taken through a full detailed analysis of the packet structure using the cool 3D diagrams.

Section 5: The DNS Server (BIND). Based on BIND for Linux, this section is broken into a futher 6 pages:

  • Section 5.1: Introduction to the DNS Server. Learn how a DNS server is setup on a Linux machine. Over 85% of DNS servers on the Internet run on Linux and Unix based systems while Microsoft and Novell DNS servers follow the same structure. DNS Zones and Domains are also covered on this page, this is essential for understanding how DNS Servers work.
  • Section 5.2: The db.DOMAIN file. Complete analysis of the zone data file for a Primary DNS server. See what is contains and understand how its structured.
  • Section 5.3: The db.ADDR file. Complete analysis of the zone data file for a Primary DNS server. See what is contains and understand how its structured.
  • Section 5.4: Other common files. Analysing the rest of the files which are common to all DNS servers.
  • Section 5.5: Slave DNS Server. Instructions on setting up a secondary DNS server.
  • Section 5.6: DNS Caching. The key to an efficient DNS server. This is a must for any DNS Administrator. Learn how DNS caching helps improve performance and reduce traffic. Includes analysis of specific parameters within the DNS packet, which helps make DNS caching a reality, and find out how to avoid problems that come with Domain redelegation or website transfers.

As you can see, there's plenty of stuff to cover. But don't despair because is all cool stuff ! Grab something to drink and let's dive into the DNS waters ! You will be amazed at the stuff you'll find :)

 

Back

Top

Next - The DNS Protocol