On Fri, Jun 21, 2013 at 02:26:05PM +0000, Jain, Vipin wrote: > This work, published from Verisign, takes a look at the server selection > algorithms of the various recursive resolvers: > http://www.sigcomm.org/ccr/papers/2012/April/2185376.2185387
For PowerDNS: SyncRes::doResolveAt first shuffles the nameservers both randomly and on performance order. If it knows a nameserver was fast in the past, it will get queried first. More about this later. (...) Whenever a packet is sent to a remote nameserver, the response time is stored in the SyncRes::s_nsSpeeds map, using an exponentially weighted moving average. This EWMA averages out different response times, and also makes them decrease over time. This means that a nameserver that hasn't been queried recently gradually becomes faster in the eyes of PowerDNS, giving it a chance again. A timeout is accounted as a 1s response time, which should take that server out of the running for a while. Furthermore, queries are throttled. This means that each query to a nameserver that has failed is accounted in the s_throttle object. Before performing a new query, the query and the nameserver are looked up via shouldThrottle. If so, the query is assumed to have failed without even being performed. This saves a lot of network traffic and makes PowerDNS quick to respond to lame servers. (There is no banding.) From: http://doc.powerdns.com/html/recursor-design-and-engineering.html#idp9771824 Bert > > >From my understanding, unbound pretty much locks on the auth server with > >the lowest TTL, and keeps on using it. Bind, however > is quick to discover recoveries. I don't recall any study on re-probing on an > exact time scale, however, it will be pretty interesting to look at. > > Vipin Jain > _______________________________________________ > dns-operations mailing list > [email protected] > https://lists.dns-oarc.net/mailman/listinfo/dns-operations > dns-jobs mailing list > https://lists.dns-oarc.net/mailman/listinfo/dns-jobs _______________________________________________ dns-operations mailing list [email protected] https://lists.dns-oarc.net/mailman/listinfo/dns-operations dns-jobs mailing list https://lists.dns-oarc.net/mailman/listinfo/dns-jobs
