The Domain Name System (DNS) is a service within the Internet protocol suite; the Internet protocol suite is sometimes referred to as TCP/IP. The Domain Name System (DNS) is a naming system for resources found on the Internet. Every device that connects to the Internet is assigned a numerical address called an IP address (32 bit number in 4 units). The problem with IP addresses are twofold:
Therefore, early in the Internet's development it became apparent that there was a significant drawback to only using IP addresses to find a resource of information (host). The eventual solution was the Domain Name System (DNS): the Domain Name System is comprised of alphanumeric domain names - such as internet-guide.co.uk - that are easy to memorise and can be mapped to an IP address (host). The creation of the Domain Name System (DNS) meant that a user only needed to know a domain name to identify a resource of information; an owner of a domain name can change the IP address (host) it is mapped to. The process of mapping domain names to IP addresses is handled by DNS name servers - root name servers are the highest in the hierarchy of DNS servers.
The roots of the Domain Name System can be traced back to the ARPANET computer network (forerunner to he Internet) when computer scientists attempted to improve the simplicity of communications upon it. ARPANET was based upon a numerical address system (Assigned Numbers List), which was maintained by Stanford Research Institute and Jon Postel at the Information Sciences Institute (ISI). Due to the difficulty of memorising numerical addresses, host names with alphabetical character strings were introduced to ARPANET. While alphabetic hostnames were useful for identifying host computers, the underlying network still used numeric addresses.
The Stanford Research Institute created the Network Information Center (NIC) in 1972 - Elizabeth "Jake" Feinler headed the project - to manage the list of host names. Jon Postel assigned the numbers, and the Network Information Center (NIC) distributed them and handled inquiries from users. The NIC distributed a master list of hostnames, mapped to numerical addresses, in a text file named: HOSTS.TXT. The problem with this system was that each ARPANET node (location) had to manually download and update their HOSTS.TXT file. This became a problem as more and more nodes were added to ARPANET, and the inherent unreliability of relying on nodes to manually update a single HOSTS.TXT file became apparent.
A meeting was held on the 11th of January 1982 - at the USC Information Sciences Institute - to solve the problem and an "interesting idea" was suggested at this meeting: the idea was 'Name Domains' (RFC 805). In 1983, Paul Mockapetris was asked by Jon Postel to evaluate a range of proposals for 'Name Domains' which Mockapetris developed into the Domain Name System (DNS). The Domain Name System was implemented in 1984, and it would become a centralised system for distributing and resolving naming issues on TCP/IP networks (ARPANET and the Internet etc). The specification of the Domain Name System was included in the following RFC documents: RFC 881, RFC 882, RFC 883, RFC 1034 and RFC 1035.
In 1990, according to RFC 1174, the management of Internet numbers was still 'in the hands' of a central authority; named in this RFC as the Internet Assigned Numbers Authority (Jon Postel) and an Internet Registry (IR) named the Network Information Center (DDN-NIC). The DNS root zone was administrated exclusively by IANA from 1984-1998; Jon Postel was the head of IANA during this period. From 1984-1990, the Defense Data Network Network Information Center (DDN-NIC) administrated the top level domains of the DNS (com, net, org, edu etc) and provided a root name server.
However, in 1990, the Internet Activities Board (IAB) proposed a change to the centralised control of the Domain Name System (DNS): while IANA would continue to manage the root zone of the DNS, management of the top level domains would transfer from the Network Information Center (NIC) to Government Systems (GSI). From 1990-1998, the top level domains of the DNS were administrated by a number of different companies.
In 1998, Jon Postel caused controversy when he instructed eight regional root name servers to change the root zone server they "pulled" information from (to IANA); essentially hijacking control of the Internet. In response, the (NTIA) National Telecommunications and Information Administration of the (DOC) United States Department of Commerce created a document named: "A proposal to improve technical management of Internet names and addresses". This document led to the creation of ICANN and IANA became a department within it (1998). The U.S. government was obviously alarmed by the power Jon Postel (who created IANA, alongside Joyce Reynolds) yielded upon the Internet.
The result of the NTIA document was the creation of ICANN in 1998: a nonprofit organisation that was under contract from the United States Department of Commerce (DOC). The NTIA oversaw the contract the (DOC) United States Department of Commerce had with ICANN. ICANN took authority over the DNS root zone, and, by extension, it's top level domains. IANA became a department of ICANN, but continued to manage the DNS root zone.
There was demand - supported by many of the pioneers of the Internet - to transition control of the namespace of the Internet from U.S. government control to a global multi-stakeholder community. In 2013, the 'Montevideo Statement on the Future of Internet Cooperation' was released, signed by leaders of many important Internet organisations, it warned against NSA surveillance of the Internet, and urged for greater international oversight of the Internet.
On the 1st of October, 2016, ICANN was freed from it's United States Department of Commerce (DOC) oversight contract. ICANN now has the "keys to the kingdom", with ultimate authority over the Domain Name System (DNS) and Internet numbers; the namespace of the Internet has passed to an international multi-stakeholder arrangement.
Due to the importance of the Domain Name System (DNS), management and maintenance is required. While the Internet has no central government, the assignment of "space" (IP, DNS, ASN) on the Internet is strictly managed. The Domain Name System is managed by the following:
The Domain Name System is a hierarchical system, and at the top of the hierarchy is the DNS root zone. IANA manages the DNS root zone - under oversight by ICANN - by administrating the data in the root name servers. IANA also manages Internet numbers by delegating responsibility for IP number blocks to five regional Internet registries, who comprise the Number Resource Organization. ICANN assigns and accredits registries and registrars; registries manage namespace within their domain (for example: google namespace in the com domain) and registrars buy and manage domain namespace on behalf of end users.
The Domain Name System is structured in hierarchical levels, which are:
For example, the domain name : google.com has two labels. Labels are separated by dots (.). The importance of the label - in terms of it's hierarchy within a domain name - moves from right to left. Each label, which is to the left, can be described as a subdomain of the label to it's right. Moving from right to left we can see that com is the top level (domain) and google is the second level (domain). In theory, there is no end to the amount of domain name levels, for example you could have the domain name: example.co.ss.co.com. The DNS root zone is the highest level within the Domain Name System. The DNS root zone is name-less.
The DNS root zone is currently served by thirteen root name servers, which are: a.root-servers.net VeriSign, Inc.; b.root-servers.net University of Southern California (ISI); c.root-servers.net Cogent Communications; d.root-servers.net University of Maryland; e.root-servers.net NASA (Ames Research Center); f.root-servers.net Internet Systems Consortium, Inc.; g.root-servers.net US Department of Defense (NIC); h.root-servers.net US Army (Research Lab); i.root-servers.net Netnod; j.root-servers.net VeriSign, Inc.; k.root-servers.net RIPE NCC; l.root-servers.net ICANN; and m.root-servers.net WIDE Project. There is no single server for each root name server, the burden is spread across multiple locations; for example, the LINX (London Internet Exchange) provides services for the k.root-servers.net RIPE NCC root nameserver.
The purpose of name servers is to store DNS records for domains and to respond to queries. DNS records have different record types, such as 'AAAA', which is a 128-bit IPv6 address. Name servers are structured in a hierarchy, with the highest level being the root name servers; listed above. The root name servers store data - in a root zone file - about the Top level domains; this data is provided to the root name servers by the Internet Assigned Numbers Authority (IANA). Therefore, the root name servers are an authoritative source for any query related to a top-level domain. The DNS zone then descends like a tree structure with name servers responsible for top level domains (TLD), second level domains and third level domains.
The question may arise, why aren't all domain queries routed through the root nameservers: for performance, the root nameservers could not handle billions of requests, and, therefore, the burden is spread amongst a hierarchy of name servers that store DNS records and respond to queries. Therefore, the Domain Name System is often described as a distributed database. Name servers typically use the BIND (Berkeley Internet Name Domain) DNS software to handle DNS queries. When an end user issues a DNS query it is handled by their ISP (Internet Service Provider) DNS server, these servers usually cache data received from previous user queries, so that they do not need to ask an authoritative nameserver for a response. If the ISP DNS server has not cached data for a specific domain name, it will use a DNS resolver to query authoritative name servers for an answer.
As stated, the top level domains (namespace within the root zone) are managed (some may say owned) by a registry. These registries are assigned by ICANN; IANA delegates global responsibility for IP number blocks to five regional Internet registries, who comprise the Number Resource Organization. End-users can register a namespace within top level domains, which will be a second level domain (such as the namespace google within the com domain). However, some domain name registries (like Nominet for the uk ccTLD) impose third level domains, for example: co.uk, ac.uk. This means that an end-user cannot register a second level namespace within the uk top level domain (recently changed with the introduction of the uk domain).
The registration of domain names - to the general public - is usually conducted by registrars; who are accredited by the ICANN. Registrars register domain names on behalf of end-users. Registrars have to pay a fee to the registry of a domain name; for example, the registrar godaddy would have to pay a fee to Nominet to register a namespace within the uk top level domain. End-users cannot contact the registry directly to register a domain name, a registrar does it on their behalf, and manages the domain name for them.
When registering a domain name, the following details need to be provided:
Top level domains are continually being created; the original top level domain names were: com, net, org, mil and gov. The current com and net domain registry is Verisign and the org registry is Public Interest Registry. If an end-user is interested in registering a domain name: then they can check if it is available by conducting a whois search at a registrar. If the domain name is available, then it can be registered with a registrar; there are currently (2014) over 900 accredited ICANN registrars.
Abuse and Disputes
Abuse of domain names and the domain name system has occurred. Cyber squatting is the most obvious abuse; where end-users buy a domain name just so that another interested "party" cannot, and then, either extort a fee to sell it, or hold onto it out of spite (the ethical version of cyber squatting is DNS parking: registering a domain name with the intention of using it in the future).
Domain name disputes occur for a multitude of reasons: when a registrar goes out of business; cannot be contacted; or purposely/mistakenly registers domain names in it's own name, rather the registrant's. ICANN publish guidelines for registrar's and they accredit registrar's; therefore, ICANN is the ultimate authority for resolving disputes for gTLD's. For ccTLD's (like the uk domain administered by Nominet) guidelines and disputes are resolved by the country code manager.
Transfer a Domain Name
As previously discussed, end-users have to register domain names through accredited registrars. The registrar is a "middle man" who contacts the manager (registry) of a domain to purchase a namespace - at that domain - on behalf of the end-user. Registrars also manage the domain name on behalf of the end-user; renewing the domain and alteration to the DNS record. Some registrars allow full DNS control of a domain name, while others do not. ICANN - who accredit registrars - allow end-users (registrants) to switch registrars; which is outlined in their 'The Inter-Registrar Transfer Policy'. The current manager (registrar) of a domain name can charge a fee for transferring a domain name to another registrar. The process for transferring domain names does vary slightly for each type of domain. The 'Initial Authorization for Registrar Transfer form' is used for transferring a range of gTLD's (not mil and gov domains), but, the IPS TAG is used by Nominet to switch uk ccTLD's.
Further reading: Transferring a co.uk domain name address