[dns-operations] A record round-robin behavior
Mark K. Pettit
pettit at yahoo-inc.com
Fri Apr 21 09:01:55 UTC 2006
Olaf M. Kolkman wrote:
>> Since the standard doesn't say anything about
>> order, the implementors first decided to use a deterministic
>> algorithm and then later decided that a (pseudo) random algorithm was
>> better.
>
> Note also that, since the standard doesn't say anything about order,
> there are implementations (such as NSD) that do not do any round robin
> at all.
>
> I am not saying that randomizing data is a bad thing I am saying that
> client should not count on an RR set being randomly shuffled.
Yeah, obviously. I"m just trying to attempt to predict the behavior of
BIND.
In investigating this whole thing, I came across the "rrset-order"
option in BIND 8, which I hadn't heard of before.
This makes things even more confusing. According to the man page, the
default rrset-order is "cyclic". To quote from the BIND 8.4.6 man page:
RRset Ordering
When multiple records are returned in an answer it may be useful
to con-
figure the order the records are placed into the response. For example
the records for a zone might be configured to always be returned
in the
order they are defined in the zone file. Or perhaps a random
shuffle of
the records as they are returned is wanted. The rrset-order statement
permits configuration of the ordering made of the records in a
multiple
record response. The default, if no ordering is defined, is a cyclic
ordering (round robin).
This implies to me that if I don't have an "rrset-order" statement in my
named.conf file, A record round-robins should be returned in a cyclical
fashion. That is not the behavior I see.
Anyone have any idea why that might be? I can try putting in the
statement and see if the behavior changes. I'd put in this:
rrset-order { order cyclic; };
into my "options" section.
More information about the dns-operations
mailing list