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
- Ethical Hacking | Phishing
- Computer Network | Introduction To Subnetting
- Computer Network | Finding Network ID of a Subnet (using Subnet Mask)
- Computer Network | Evolution of Network
- Creating custom domain name instead of localhost in Ubuntu
- Use of Callbacks in Layered Architecture
- Computer Network | Network Simulator 3
- Dumpster Diving/Trashing
- Cryptography | One Time Password (OTP) algorithm
- What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?
- Computer Network | Single band, Double band and Multi band Router
- Vishing (Voice Phishing)
- Private Browsing
- Malware and its types
- Types of Wireless and Mobile Device Attacks