On 13 Jan 2013, at 16:28, Vernon Schryver <[email protected]> wrote:

>>  If the problem is amplification, why not only perform RRL on only those DNS
>>  communications exchanges that have certain amplification factor (i.e. 1.5).
>> 
> That sounds nice but has problems.  The main one for me is that
> you'd have wait until the response has been marshalled before
> determining it size and deciding whether to drop it.  That seems
> to me harder to code in BIND9 and more expensive in CPU cycles.

I suppose a name server could keep a (small?) cache of recently marshalled 
answers and use that to either rate limit responses which are too large or 
identical to one that has recently been sent to the same IP address(es). [For 
some definition of large and recent.] This might even be cheaper/faster in some 
cases. ie Generating a reply with a memcpy() from whatever outgoing packets 
have been kept in this cache instead of assembling all the RRs, doing label 
compression, etc. It could be good to have something which rate limits outgoing 
responses in addition to what's done with incoming queries.

Doesn't some name server implementation - PowerDNS? - already do this? Might 
not be for rate limiting though...

_______________________________________________
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

Reply via email to