Domain Names are hierarchical and each part of a domain name is referred to as either the root, top level, second level or as a sub-domain. To allow computers to properly recognize a fully qualified domain name, dots are placed between each part of the name. All resolvers treat dots as separators between the parts of the domain name. The fully qualified domain name is split into pieces at the dots and the tree is searched starting from the root of the hierarchichal tree structure. All resolvers start their lookups at the root, therefore the root is represented by a dot and is often assumed to be there, even when not shown. The resolver navigates it's way down the tree until it gets to the last, left-most part of the domain name and then looks within that location for the information it needs. Information about a host such as its name, its IP address and occasionally even it's function are stored in one or more zone files which together compose a larger zone often referred to as a domain.
- Top Level Domains (TLD's)
- Second Level Domains
- Sub-Domains
- Host Name (a resource record)
Within the hierarchy, you will start resolution at the top level domain, work your way down to the second-level domain, then through zero, one or more sub-domains until you get to the actual host name you want to resolve into an IP address.
It is traditional to use different DNS servers for each level of the DNS hierarchy. The root of all DNS entries is handled by the DNS servers at the InterNIC [well, sort of, but we'll get to that later --InetD ]. The InterNIC points the Top Level Domains (TLDs) to the top level domain name servers maintained by all registrars such as Network Solutions, Register.Com, OpenSRS and many others. [Please note that InetDaemon does not endorse ANY registrar--they all suck, some more than others. --InetD ]. Next come each domain's server will delegate to the DNS server at the next lower level in the hierarchy.
For example, in the figure below, .edu is the top level domain, berkeley is the second level domain, and .cs is the sub-domain of berkeley. Eos is the host name. A DNS server would store the IP address of the host where its name resides in the tree.