February 27th, 2012, 06:41 PM
Is there a reason for multiple requests?
I have noticed that some DNS servers send multiple requests for the same information within the same second (up to 8). Just out of curiosity, is there any particular reason that more than 1 request is needed? The worst offenders seem to be the big email providers, who not only use one server to send multiple requests, but pass the same process onto the next round robin server. All this useless traffic has to have an impact somewhere down the line.
February 27th, 2012, 11:23 PM
It could be a few things. Ideally DNS queries should only need 1 query and 1 response. Given the nature of how people configure their systems and how unreliable UDP can be sometimes, you could run across multiple queries. The short answer is I don't really have an answer for that.
Some systems will allow you to configure a retry query time. If someone sets that to say retry every 20ms until it gets an answer, if the first query takes 200ms on a recursive lookup, it could send the same query 10 times.
It could be different servers that are all part of a set. I helped with a system that had multiple backend servers on the same IP but any queries sent to the set were subsequently looked up by all of them. It was a hot site redundancy. So every query that came in went to a controller that sent the query back out to all the servers they had in different locations. Then they had all servers do the lookup (it was configured as 6 at the time). It was overkill and I'm not sure if they kept it but just throwing that out.
It would be hard to say exactly why you would get multiple queries. Using one server as you mentioned is near impossible for any large company (especially an email provider like Google or Yahoo). DNS queries are considered negligible internet traffic for the most part. At 512 bytes max (or 4096 with the DO flag), that's hardly a drop in the swimming pool of traffic most people have. You're right it can add up though. But watching a few youtube videos can equal the same amount of traffic as a couple hundred thousand queries.
February 28th, 2012, 03:25 PM
Re: Is there a reason for multiple requests?
Thanks for the reply CaptPikel. Although I understand what you are saying, I still don't understand what purpose is served by using these brute force techniques. If the server is going to respond in less than a second, why send multiple requests for the same thing in less than a second? I personally have never experienced unreliable UDP, but I have certainly experienced many cases where a DNS server does not respond in a reasonable period of time because it is overloaded. Our DNS does not support recursion and it is set to black list any single server that submits more than 20 requests per second. There are currently over 30 servers black listed, but that doesn't catch the systems that use multiple round robin servers. I have to manually black list those.
February 28th, 2012, 04:25 PM
Yeah hard to tell why they're doing it but it happens a lot on the internet. You can try emailing them and asking but if it's a large organization, I wouldn't expect a response.