Q on clients-per-query, max-clients-per-query

Fr34k freaknetboy at yahoo.com
Thu Mar 24 14:37:13 UTC 2011


----- Original Message ----

> From: Mark Andrews 
> To: Fr34k 
> Cc: Bindlist 
> Sent: Wed, March 23, 2011 9:04:00 PM
> Subject: Re: Q on clients-per-query, max-clients-per-query
> 
> 
> In message <>,  Fr34k writes:
> > Hello,
> > 
> > # The ARM says: #
> >  clients-per-query, max-clients-per-query
> > These set the initial value  (minimum) and maximum number of recursive 
> > simultaneous clients for any  given query (<qname,qtype,qclass>) that the 
>serv
> > er 
> > will  accept before dropping additional clients. named will attempt to self 
>tu
> >  ne 
> > this value and changes will be logged.  The default values are  10 and 100.
> > If clients-per-query is set to zero, then there is no limit  on the number of 
>
> > clients per query and no queries will be  dropped.  If max-clients-per-query 
>i
> > s 
> > set to zero, then  there is no upper bound other than imposed by 
> >  recursive-clients.
> > 
> > 
> > # Consider that I have: #
> >  clients-per-query 10 ; max-clients-per-query 20 ;
> > 
> > 
> > #  What I think this means in hypothetical situations: #
> > 1.  If I have  100 customer Windows machines requesting A record(s) for 
> >  non-responsive-domain.com, then my caching server will only recurs the first 
>
> > 20 
> > of such requests and drop the other 80.  Is this  correct, or what is the 
>like
> > ly 
> > process?
> > 
> >  2.  If I have 100 customer Windows machines requesting A record(s) for 
> > very-slow-to-respond.com, then my caching server will only recurs   the first 
>
> > 20 
> > of such requests and drop the other 80.  Is  this correct, or what is the 
>like
> > ly 
> > process?
> > 
> >  Let's say the name servers authoritative for this domain finally respond,  
>the
> > n 
> > my bind server will respond to the 20 queries.
> > Is  this correct, or what is the likely process?
> > 
> > Now that I have  the A record for www.very-slow-to-respond.com in cache (say 
>T
> > TL 
> > is 24h) and it is likely that the 80 unsatisfied customer Windows  machines 
>wi
> > ll 
> > make another query attempt and, because I have  this cached, finally get a 
> > response.
> > Is this correct, or what  is the likely process?
> > 
> > It won't hurt my feeling if someone  rather provide a better example that may 
>
> > demonstrate how these settings  work.
> 
> You have a empty cache.  You get a query for google.com.   You send
> a query to the root servers for google.com.  Another query  for
> google.com comes in.  You add it to the existing query for  google.com.
> You get the answer back from the root servers.  You ask the  com
> servers for google.com.  You get another 3 query for  google.com,
> you add these to the original query.  You get a response  from the
> com servers. You ask the google.com servers for google.com.   You
> get more queries for google.com.  You get a answer back from  the
> google.com servers and you send the answers back to all the  clients
> that asked you for google.com.  Future queries for google.com  will
> be answered from the cache until the record expires.
> 
> Now if more  than 10 clients ask you for google.com while this is
> happening you will just  drop the new clients (they should retry).
> Named will remember that it dropped  clients and as it got a answer
> it will increase the number of clients that it  serve for the next
> query.  It's a little more complicted than this but  this will do
> for this explaination. This lets named adjust to the normal  query
> rate and how far it is from the usual nameservers it talks to  round
> trip wise.  This normally take less than a second.
> 
> Now lets  say the servers for a zone are unreachable.  Named will
> only queue up 10  clients before it starts dropping them.  This stops
> the recursive client  slots all being taken on queries talking to
> these servers.
> 
> Similar a  flash crowd of queries for the same name will be mostly
> dropped until the  answer is received.

So, does BIND behave the same whether it is a single PC making 100 queries for 
the same record compared to 555 PCs making queries for the same record?
That is, how does BIND treat "clients-per-query, max-clients-per-query" 
differently based upon the query requesters' IP address(es)?

(I want to assume I know the answer, but I have an interesting network event and 
I want to be able to understand/communicate the snoop logs we captured)

I'm using  9.7.2-P2, if version is significant.

Thank you.
 
> Mark
> 
> > Thank you.
> > 
> >  _______________________________________________
> > bind-users mailing  list
> > bind-users at lists.isc.org
> > https://lists.isc.org/mailman/listinfo/bind-users
> -- 
> Mark Andrews,  ISC
> 1 Seymour St., Dundas Valley, NSW 2117, Australia
> PHONE: +61 2 9871  4742                 INTERNET: 
> 



More information about the bind-users mailing list