0

If a DNS query gets lost along the way to its destination, is nothing done about it? In my networking class, my lecturer said that DNS runs on UDP. I verified this in Wireshark by doing nslookup for a domain and examining the transport layer protocol. It was UDP. I know that UDP is unreliable and makes "best effort" delivery. It does not send Acknowledgements for received packets and does nothing about corrupted or dropped packets. I also know that reliability can be implemented at the application layer, but we never discussed much on that. So back to the query, is nothing done about a lost DNS query? Any help would be appreciated.

| improve this question | | | | |
  • It really depends on the DNS client implementation. if the packet is lost, the client can't know this and will generally assume the query is simply unanswered. All requests have a timeout. (windows nslookup waits 2s) – Ricky Beam Jan 10 '19 at 5:51
0

From the network side, a lost DNS-over-UDP request is just lost. The client may try again but that is the application side.

DNS can also use TCP, although this is uncommon for a normal client request. A lost DNS-over-TCP request is automatically retransmitted by the TCP protocol until it has been ACKed by the the server (after multiple unsuccessful transmissions the socket times out). Even over TCP, the request can theoretically be "lost" - time out on the client while the server is still trying to resolve.

| improve this answer | | | | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.