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 the 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 to 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 a timeout and resend at the application layer.
Actually, DNS primarily uses the User Datagram Protocol (UDP) on port number 53 to serve requests. DNS queries consist of a single UDP request from the client followed by a single UDP reply from the server. When the length of the answer exceeds 512 bytes and both client and server support EDNS, larger UDP packets are used. Otherwise, the query is sent again using the Transmission Control Protocol (TCP). TCP is also used for tasks such as zone transfers. Some resolver implementations use TCP for all queries.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Differences between TCP and UDP
- TCP and UDP server using select
- TCP and UDP in Transport Layer
- Various TCP and UDP ports
- DNS Spoofing or DNS Cache poisoning
- TCP with explicit link failure notification (TCP-ELFN)
- Difference between SCTP and UDP
- Difference between UDP and RTP
- C program for file Transfer using UDP
- UDP Server-Client implementation in C
- User Datagram Protocol (UDP)
- Types of DNS Attacks and Tactics for Security
- Difference between DNS and DHCP
- Domain Name System (DNS) in Application Layer
- Address Resolution in DNS (Domain Name Server)
- What is DNS Leak?
- Domain Name System (DNS) Zones
- DNS Look-Up
- Working of Domain Name System (DNS) Server
- Services and Segment structure in TCP
Improved By : Qu Dongfang