DNS is an application layer protocol. All application layer protocols use one of the two transport layer protocols, UDP and TCP. TCP is reliable and UDP is not reliable. DNS is supposed to be reliable, but it uses UDP, why?
There are following interesting facts about TCP and UDP on transport layer that justify the above.
1) UDP is much faster. TCP is slow as it requires 3 way handshake. The load on DNS servers is also an important factor. DNS servers (since they use UDP) don’t have keep connections.
2) DNS requests are generally very small and fit well within UDP segments.
2) UDP is not reliable, but reliability can added on application layer. An application can use UDP and can be reliable by using timeout and resend at application layer.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
- Program for IP forwarding table lookup
- Shannon-Fano Algorithm for Data Compression
- Internet and Web programming: Behind the scenes
- Core Defences Mechanism in Web Applications
- Difference between Stop and Wait, GoBackN and Selective Repeat
- Web Caching and the Conditional GET Statements
- TCP Sequence Number | Wrap Around Concept
- The New Internet | Internet of Everything
- Berkeley's Algorithm
- Cellular Networks
- How to solve RSA Algorithm Problems?
- Computer Network | Inside a Router
- Telecom Networks
- Computer Network | Multiplexing (Channel Sharing)
- Computer Network | Token Bus (IEEE 802.4)