Domain Name Service - DNS

advertisement
Domain Name Service - DNS
The purpose of DNS is to provide hostname to IP address mappings for systems on a TCP/IP
network. This allows computers to be addressed with a more memorable hostname rather than
using numeric IP addresses. Adding this layer of abstraction also allows for host names to be
grouped together logically rather than by the physical addressing dictated by network structure.
Because the DNS name space is meant to encompass the entire Internet, scalability is a major
concern. This dictates the distributed nature of the system. The Internet name space is divided
into more manageable chunks called Domains and Subdomains. Authority for administering a
domain can be delegated to other organizations such as individual companies or individual
departments inside a company or university. There are too many hostnames on the Internet to
easily keep them all on one server. But by making each domain owner responsible for their own
hostnames, the task is divided into easily administered pieces.







Top Level Domain Names
Top Level Authority
Delegated Authority
Clients and Servers
Caching
CGI program for looking up Names
CGI program for ping and traceroute
Top Level Domains
In order to begin dividing the network into manageable chunks, the top level domains were
dictated by the original primary users of the Internet.






Military : ".mil"
Government: ".gov"
Educational institutions: ".edu"
Network providers ".net"
Commercial entities: ".com"
Other organizations, such as non-profit companies or user groups: ".org"
With the international spread of the Internet, additional domains were established to reflect
national and local boundaries. For a complete list of the international domain names, see this
page at the www.IANA.org site. Some examples of these domains are:






Germany ".de"
United Kingdom ".uk"
Canada ".ca"
Finland ".fi"
Japan ".jp"
United States ".us"

The State of Ohio "oh.us"
The first type of domain name is called an organizational domain name, and the second is called
a geographical domain. Due to the early US-centric nature of the Internet, most US hostnames
are in organizational domains, while hostnames for foreign companies, universities and network
providers are often in their nation specific domain. For contact information regarding the
different DNS domain registries, see the www.iana.org web site.
Top Level Authority
In order to coordinate name assignments, top level name authority rests with a specific
organization for each domain. Geographic domains are the responsibility of the government for
each named domain. "mil" and "gov" domains are the responsibility of the US government, and
"net", "com", and "org" domains are the responsibility of Network Solutions, a private company
formed by the US Government and given the contract to administer those given domains.
In order to register for net, com, and org domain names, you must apply for the name to Network
Solutions, pay an application fee, a yearly maintenance fee, and must have a name server on the
Internet that will respond to queries for your names in your domain.
Delegated Authority
A top level authority delegates authority for the domains underneath it. By doing this, the higher
level authority only needs to know how to point requests to the proper source. Network Solutions
knows that IBM handles the hostnames for ibm.com, so it directs requests for www.ibm.com to
the name server 198.81.209.2 (ns.watson.ibm.com). The authoritative name server for a given
domain does not have to be run by the actual owner of the domain. For instance, while 3X
Cincinnati owns the rights to 3xcvg.com, PSI Net handles name resolution for our domain via
"pri1.dns.psi.net".
As mentioned earlier, larger companies may further subdivide their networks in order to more
easily manage their name space. For instance, the web server for IBM software support is
www.software.ibm.com. "software.ibm.com" is the subdomain within IBM for the software
division. Sun Microsystems has a subdomain "usec.sun.com" which contains their US East Coast
network operations.
Clients, and Servers
A DNS client is a system that uses DNS to resolve host names to IP addresses. A DNS client
typically is configured to communicate with one to three DNS servers, usually either on their
local network, or on the network of their ISP. Systems that obtain their IP addresses dynamically
via BOOTP or DHCP will typically also obtain their DNS server addresses dynamically as well.
The client will contact their DNS servers for all DNS queries regardless of whether their DNS
server is the authoritative server for a given domain or not. If a client is requesting an IP address
for a host within it's own domain, it will typically only need to use the first part of the fully
qualified DNS name. For instance, if you issue the command "ping www" from a computer set
up on the network for "yourcompany.com", the hostname www will be interpreted as
"www.yourcompany.com".
A DNS server listens for name requests for names in any domain. If the server knows how to
respond to a given name request, it will respond immediately to the client. If the name is not one
that the server is familiar with, it will need to find out what name server is the authoritative
source for that given domain. This information is contained on the root server for the top level
domain that the name belongs to. For instance, the Internet root domain servers can tell you that
the authoritative server for Microsoft.com is 131.107.1.240 (dns1.microsoft.com).
Once a DNS server has learned the IP address for a given host, it will cache this information for
some period of time. This allows for greatly improved performance for subsequent requests for a
given IP address.
A DNS server can be the authoritative source for zero, one, or many domain names. If the server
is not the source for any domain names, it is called a caching only server. This can be used as a
way to improve system performance by locating a caching server on LAN to prevent systems
from having to go across a WAN connection just to obtain IP addresses.
An example of a server that handles many domains would be one like pri1.dns.psi.net. PSI Net
typically handles the name resolution for PSI Net customers. This cuts down on the network
traffic across a customer's WAN connection, and relieves the customer of the burden of having to
administer and maintain the availability of their own DNS server.
More about Caching
Name caching is an important scalability and performance feature for the DNS name space.
Obtaining an IP address for a distant host can often take up to a second, especially if it has to
cross a congested network segment. If names had to be obtained from the authoritative source
every time they were requested, network latency would be noticeably increased. This would also
create a much larger load on the authoritative server for popular destinations such as
microsoft.com, yahoo.com, etc.
This also allows for greater network reliability. If no names were cached and a name server went
down, no clients would be able to connect to hosts within that domain, even if they were up and
available. With name caching, if dns1.microsoft.com were down, most people would still be able
to reach www.microsoft.com because that address is likely to already be in their DNS server's
cache.
The length of time that a domain name is kept in a server's cache is determined on a per domain
basis by the authoritative server for that domain name. In this way, the owner of a domain name
can tune the frequency of cache refreshes based on how frequently its name/ip address mappings
change, and based on the name lookup load that server is able to handle.
A drawback to caching is that it introduces a lag time between the time that a hostname/IP
address mapping is changed and when it actually propagates throughout the Internet. A typical
value for this Time To Live value is one day. This means that a name change can take between
zero and 24 hours to be noticed by a given client, depending on when that client's local DNS
server last cached the name.
This time lag can be managed either by reducing a TTL value for a domain 24 hours prior to
making a name change, or by keeping a providing duplicate servers during the time that it takes a
name change to take affect.
<top>
Download