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 :)
Next - The DNS Protocol
|