A resolver, which is usually a software program resides on workstations and can be accessed on a UNIX platform through gethostbyaddr or gethostbyname. The resolver itself is responsible for sending requests to known name servers, asking for resolution of the domain name to IP Address. Once resolved, the host computer can then connect to the required domain using the returned IP Address.
DNS Hierarchy comprises a tree structure with the root at the top and branches coming down from the root. DNS Addresses are referred from the bottom up and written with the root at the end. For example host.mybusiness.com or myhost.myorganisation.co.uk where in the second example a country domain for the United Kingdom is used.
There are many DNS Servers on the Internet and the Resolvers send queries to the servers. There are many RFCs (Request for Comments) that describe DNS, with the common more important ones being RFC1034, RFC1035, RFC1535, RFC1536 and RFC1537.
As well as the DNS Servers and Resolvers there must be a database containing the Resource Records (RR), because DNS is primarily a large distributed database. Just like other file systems in Unix, Windows or DOS, Domain Name System starts with a root with branches coming from the root which create many, many paths. A branch within DNS is referred to as a label which can be 63 characters long, but can me much less than that. Each part of the domain name separated by dots can be up to 63 characters, with an overall length for the Domain Name restricted to 255 bytes.
The database is subdivided into zones, with each zone having its Name Server which is responsible for servicing its own zone from requests by hosts. Each zone will have a primary name server and potentially multiple secondary name servers. Bear in mind that a name server may be authoritative in multiple zones
Look out for our coming post on DDNS (Dynamic Domain Name Service)
DNS is explained in a number of our advertised training courses including TCP/IP and LAN Technologies.