An introduction to DNS
The internet is a large, complex collective of several
smaller networks. Managing information about all of the
hosts on the internet in a central location would be
nearly impossible considering the speed at which such data
is updated. Several pieces of information are stored in DNS,
which has a distributed, delegative style of storing information.
These pieces of information include:
- IP Address
- MX Records
- Machine Type
- Various other pieces of info
The relationship between TCP/IP and DNS is a very
important one. When a system needs to establish a connection
to another system, it must establish the connection via
IP address. Very often, the user will want to connect
to a site by name, such as www.news.com. In order to establish
this connection, the computer the user is on must be able
to find the IP address of www.news.com. In order to find that
information, the computer must contact a DNS Server (often
referred to as a name server in this context) and ask it
for the IP address of the site. The name server returns the
IP address to the user's system, which then connects to
that IP address.
If someone were to need to send mail to a user on a system
without knowing their email address (perhaps to contact an
administrator), or if one machine were to handle mail for
several systems, a method to make this information available
must be available. MX Records fill this purpose, and also
provide other preferred settings for connections between
mail hosts. Perhaps more importantly, MX Records allow
mail services to be spread over several systems, making
large-scale mail services possible.
Unfortunately, neither Windows 95 nor MacOS include a user
tool that will let you inspect DNS data. Many other OS's
include a tool called nslookup that allows users to look
at DNS data.
Distributive and delegative?
After reading this section, you may see an apparent contradiction
between my statement in the beginning that DNS is not centralized
and the idea of contacting a server for such information. DNS
servers actually only store information (note that this is a bit of
an oversimplification) about their own domain, and when queried for
information outside their domain, they actually query the server
which is responsible for that information and pass the information
back to their client.