The Domain Name System or DNS as it’s more commonly known is a huge distributed database that is used primarily by TCP/IP based applications to resolve host names and IP addresses. The database is also used to provide routing information for electronic mail delivery applications such as sendmail. The reason it is described as ‘distributed’ is because no single server contains all the information, there is no single copy of the entire database. The database is actually hosted by thousands of individual sites all across the internet, these can be companies, Universities, military or governmental sites each maintaining it’s own database of information which is accessible to answer queries to clients. DNS simply provides the protocol which allows both clients and servers to exchange information with each other.
If you take a simple example, looking at an individual application it gains access to DNS information through a resolver. This is accessed in different ways depending on which operating system is being used, DNS is accessible by all major systems. Generally a set of library functions will facilitate access and can be used by the application to resolve addresses or make queries when required. The two distinct functions are taking a hostname and returning an IP address and the other is finding a hostname from an IP address. A resolver will contact additional resources in order to map these addresses.
The namespace of DNS is designed in a hierarchical way with nodes cascading down in structure like a companies organisation chart. The higher up the level, the more authoritative that server is for a specific request. Every node in this system must have a unique domain name although the label assigned to this name can be reused within the namespace. If this sounds complicated it can be perhaps illustrated more simply by listing the specific domains and their functions.
- ARPA – special domain used for address to name mappings.
- Generic or organisational domains – seven 3 character domains.
- Two character domains based on individual countries.
The generic domains ares sometimes confused as being simply US based ones however this isn’t the case. The seven generic domains include com, edu, gov, int, mil, net and org – they are not country specific and can be used in any country in the world. Two of these generic domains are restricted to the US and these are mil and gov, other countries would append their country code in order to use the domains. In fact using the second level country code is a useful way to specify location for example .ac.uk refers to academic domains based in the United Kingdom.
DNS is vital to the infrastructure of the internet and controls access to all resources available online. The route you requests take depend on where you are physically located, however if you change this location by using something like a UK VPN trial that would affect your route to resolve addresses. In fact many people use DNS to modify and control online access, including many governments who create DNS servers to provide false information. For example a Turkish DNS server could supply false information for a web site which the government wish to block. So instead of accessing the correct web server it would be misdirected to another server controlled by the government.
Other problems with DNS include people hijacking and poisoning DNS servers to attack or cripple online servers.