Application Layer Protocols-
Important application layer protocols are-
- Domain Name Service (DNS)
- Hyper Text Transfer Protocol (HTTP)
- Simple Mail Transfer Protocol (SMTP)
- Post Office Protocol (POP)
- File Transfer Protocol (FTP)
In this article, we will discuss about Domain Name Service (DNS).
DNS in Networking-
- DNS is short for Domain Name Service or Domain Name System.
- It is an application layer protocol.
- DNS is a host name to IP Address translation service.
- It converts the names we type in our web browser address bar to the IP Address of web servers hosting those sites.
The need for Domain Name Service arises due to the following reasons-
- IP Addresses are not static and may change dynamically.
- So, a mapping is required which maps the domain names to the IP Addresses of their web servers.
- IP Addresses are a complex series of numbers.
- So, it is difficult to remember IP Addresses directly while it is easy to remember names.
|DNS Resolution is a process of resolving a domain name onto an IP Address.|
The following diagram illustrates the process of DNS resolution-
The steps involved in DNS Resolution are-
- A user program sends a name query to a library procedure called the resolver.
Resolver looks up the local domain name cache for a match.
- If a match is found, it sends the corresponding IP Address back.
- If no match is found, it sends a query to the local DNS server.
DNS server looks up the name.
- If a match is found, it returns the corresponding IP Address to the resolver.
- If no match is found, the local DNS server sends a query to a higher level DNS server.
- This process is continued until a result is returned.
- After receiving a response, the DNS client returns the resolution result to the application.
|DNS uses UDP (port 53) at the transport layer.|
DNS uses UDP at the transport layer due to the following reasons-
- UDP is much faster than TCP.
- TCP is slow as it uses Three-way handshake to start the data transfer.
- DNS requests are very small.
- So, they fits well within UDP segments.
- Although UDP is not reliable but reliability can be added on application layer.
- Reliability can be added by using timeouts and resend at the application layer.
Thus, in the end both speed and protection are achieved.
|DNS is a connection less protocol.|
- DNS uses UDP at the transport layer for replying to the DNS queries of clients.
- Therefore, it is a connection less protocol.
|DNS is non-persistent.|
|DNS is a stateless protocol.|
This is because-
- DNS server accepts the requests, process them, resolves the query and forget about them.
- It does not make any assumption how long this will be.
|Mapping an IP Address onto a domain name is referred to as Inverse domain.|
It is important to note-
- DNS can translate a domain name onto an IP Address.
- Also, it can translate an IP Address onto a domain name.
|For the first time,
There is more delay in translating the domain name onto an IP Address.
- Converting a domain name onto an IP Address is an extra overhead.
- This overhead is called as DNS Overhead.
- It causes an unnecessary delay in serving the request.
- So, there is more delay for the first time.
- To reduce the delay next time, IP Addresses are stored in the computer using log.
- This avoids the DNS overhead next time and takes less time in serving the request.
- When it gets expired, the request is again served through DNS.
To gain better understanding about Domain Name Service,
Next Article- Hyper Text Transfer Protocol | HTTP
Get more notes and other study material of Computer Networks.
Watch video lectures by visiting our YouTube channel LearnVidFun.