Domain Name Service(DNS) a distributed system

Ramakrishnan Ravichandran
8 min readMay 20, 2020

--

Hey guys! here i going to discuss about the topic Domain Name Service (DNS) which most of us heard about who are in IT field. I’m here going to discuss about Domain Name Service what is it? why is it? and how is it?. I’m assuming that you have basic knowledge in IT and know about what is IP address.

Introduction

Here I going talk about DNS (Domain Name Service or Domain Name System interchangeably used) a distributed system.Even you have knowledge in IT i give some brief introduction to some of the technical terms related to my topic. I’m going to discuss briefly about what is a distributed system and how it works ,How DNS work as a distributed system to provide Domain Name service to the consumers ,what are the entities and organizations related with this distributed service and How DNS preserve features of distributed system.

What is Distributed System?

“A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another” — Wikipedia.

Distributed system where networked computers interact with each other by message passing communication to achieve a common goal or task or giving service to user. The networked computers can be on any geographical location but they are coordinated for the purpose of giving a service. Computers connected with network can be physically available on same location or different locations in country or even distributed over the continents but they work for one goal to provide services to the users. Domain Name Service(DNS) is a distributed system where the service was hierarchically distributed all over the world.

What is Domain Name?

Internet is a large network of connected computers. In network every connected computer have a unique IP address (which is made-up of numbers)to identify that particular host in the network. In internet every websites ,Web applications and web services are hosted in a high performance computers they have their own IP address in the network. To access those services we need IP address of that service which is in number it is hard to remember by humans. Will you remember and type 172.217.17.142(IP4 version) to access Google ? even you remember one, it is difficult to remember all the IP addresses you are using and sometimes the IP address of the service host may change.This is where Domain name and DNS come to resolve this problem.

Domain Name is format in natural language for naming a host in a network which humans can understand. Example- www.google.com is a fully qualified domain name here “google” is the domain name for specific host and “com” is said to be top level domain. As natural human readable language english letters are used for domain name earlier but currently we have various language support for domain name.

What is Domain Name Service(DNS)?

We saw the what is domain name and why we need. But to maintain global system for resolving IP address to Domain name and Domain name to IP address we need a system to maintain and operate the unique domain names of host computers in the internet. Domain Name Service or System is global service maintained and operated by non-profit organization The Internet Corporation for Assigned Names and Numbers(ICANN) for smooth function of DNS service.

The Domain Name System (DNS) is a hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network.- Wikipedia.

At the start of internet, for naming hosts centralized System is used where a mapping of host name and IP address are contained in a Host file which is in centralized server maintained by authoritative organization. The rapid growth of internet made hard to maintain centralized registry for host naming. In 1983 Domain Name System a distributed system is introduced and published by IETF.

DNS Operation

DNS is a big hierarchically distributed system where domain name service is maintained and operated by hundreds of independent authoritative operators, and network of thousands of server computers which interact and communicate with each others to serve the consumers. Here responsibilities were given to operators to maintain registries for the DNS. We can see hierarchical structure how the distribution of the system is done.

Registry

Registry is where records are maintained and operated by operators.

Registry is important part in DNS where there are

  1. Regional Internet Registry.
  2. Local Internet Registry.

These are some important Registry types in the DNS hierarchy.

The Internet Corporation for Assigned Names and Numbers (ICANN)

ICANN is an American multi-stakeholder group and nonprofit organization responsible for coordinating the maintenance and procedures of several databases related to the namespaces and numerical spaces of the Internet, ensuring the network’s stable and secure operation. Its subsidiary Internet Assigned Numbers Authority (IANA) operate and maintain a number of key aspects of the DNS, including the root zone, and the .int and .arpa domains.They involves delegating administrative responsibility of “top-level domains”, which are the last segment of a domain name, such as .com, .uk and .nz.

In DNS hierarchy we can say ICANN is the chief, with its subsidiary IANA which is responsible for global coordination of the Internet Protocol addressing systems, as well as the Autonomous System Numbers used for routing Internet traffic. IANA is responsible for allocation of IP addresses to the Regional Internet Registries(RIR). ICANN with its subsidiaries manage the Registry of interNIC which have records of operators of top-level domains and accredited Registrars (Responsible for registering domain name for the registrant ).

fig : Zone classification of DNS

DNS distributed system are divided by zones and each zones are maintained and operated by single Operator. Root zone of the DNS hierarchy tree is maintained By IANA which has database of Top-level domain zone operators. when we go down to the tree after root zone we have top-level domain zone and the tree hierarchy goes until the end of the leaf name server which has domain name.

Root Servers

The authoritative name servers that serve the DNS root zone, commonly known as the “root servers”, are a network of hundreds of servers in many countries around the world. They are configured in the DNS root zone as 13 named authorities. These 13 named authorities are responsible for maintaining top-level domain servers records.

How a Domain name is Resolved?

As we see DNS is a big distributed system which have the participation of several oraganizations. We can see how a domain name is resolved(Getting IP address for particular Domain name) by Domain Name System.

fig : How domain is resolved by the DNS
  1. As shown when we type “medium.com” in browser our browser have build in DNS cache which saves the record of recently searched host. If browser DNS cache have the IP address of the “medium.com” then it use the IP in cache. Like wise the caching property goes to operating system level in our computer if not available in browser cache.
  2. If our computer don’t have IP address for “medium.com” domain name then our computer sends a request of need of IP address for “medium.com” to our Internet Service Provider(ISP). If our ISP have the IP address for “medium.com” cached in its server then our request is supplied by cached IP address for the medium domain name.
  3. If our ISP’s cache don’t have the IP address for _ then DNS Recursor is a server which query the Name servers for our request. First it asks the root server which are servers has records of Top-Level domain servers details.so the root server points the TLD server which has the domain names IP address here in “medium.com” “.com” is top-level domain of medium so root server points the “.com” TLD server which “medium.com” records present.
  4. Then DNS recursor queries the root server pointed TLD server for medium domain name TLD also operate as pointing server which points the Second-level name server of “medium.com” . This server can have the sub-domain records of medium domain.
  5. The IP address for “medium.com” is queried from SLD server and ISP keep cache for that for limited time. And the request of our computer is responded with resolved domain name.

Through this we saw how DNS distributed system handled the DNS query request by DNS Recursor in our ISP.

How DNS preserve Distributed System features?

Fault-Tolerant

As distributed system DNS is fault-tolerant in the way it is distributed if for example fault in “medium.com” name server does not affect the “google.com” name server which the DNS performance not reduced. DNS have more than one server operating for particular TLD zone. If one server in TLD zone down does not affect other TLD servers in the same zone.

Highly Available

DNS system is highly available to the user because of hundreds of operators it have and thousands of servers working. “.com” zone was operated by Verisign has number of servers available for resolving.

Recoverable

Every TLD zones are handled by different operators which is recoverable easy without any complexity.

Consistent

DNS resolve domain name consistently without change of data.DNS query is traveled through zones where number of servers connected in particular zone which have consistent data where to direct the query.

Scalable

The distribution of DNS is operated by different operators so scalability and maintainability of that servers are pretty simple because of operators. TLD zone operators further divide their responsibility to other operators under their control which has the scalable capability of DNS system if domain name records increases.They also can link the servers they want in TLD zone.

Predictable Performance

As we see the how Domain name is resolved in DNS. that is resolved in mili seconds by the DNS servers which has high capacity servers in every region. 13 named root servers are maintained in various location by hundreds of servers to obtain the perfomance.

Secure

Domain Name System Security Extensions(DNSSEC) it is a technology used to protect information on the Domain Name System (DNS) . It provides authentication for the origin of the DNS data, helping to safeguard against attacks and protect data integrity.

We saw some intro to DNS distributed system which handles domain name.How it effectively handled and operators of the DNS. For your further knowledge you can get informations from following websites.

--

--

Ramakrishnan Ravichandran

Software Engineer professional interested in mobile application development. like to learn.