I've been looking back through this thread, and can't find anyone making
the following point...
The "round-robin" algorithm in current BINDs can have a distinctly non-
random effect on clients unless they re-randomise. Consider the four MX
records for cus.cam.ac.uk:
cus.cam.ac.uk MX 5 taurus.cus.cam.ac.uk
cus.cam.ac.uk MX 5 ursa.cus.cam.ac.uk
cus.cam.ac.uk MX 7 ppsw3.cam.ac.uk
cus.cam.ac.uk MX 7 ppsw4.cam.ac.uk
BIND is equally likely to present any of the four orders:
MX 5 taurus.cus MX 5 ursa.cus MX 7 ppsw3 MX 7 ppsw4
MX 5 ursa.cus MX 7 ppsw3 MX 7 ppsw4 MX 5 taurus.cus
MX 7 ppsw3 MX 7 ppsw4 MX 5 taurus.cus MX 5 ursa.cus
MX 7 ppsw4 MX 5 taurus.cus MX 5 ursa.cus MX 7 ppsw3
The client sees the record for taurus.cus before that for ursa.cus 3/4 of
the time. What this implies for the choice of which to try first depends
on how the MTA does its sorting, of course: first-among-equals and last-
among-equals are both quite possible.
In practice I have seen the effects of this sort of asymmetry more often
in connection with telnet, imap, etc. services with multiple A or CNAME
records, where simple-minded clients always try them in the order presented.
If there are three servers, the load may appear well balanced: but when one
of them goes down the one *after* it in the cyclic order gets overloaded
relative to the remaining one by a 2:1 ratio.
Chris Thompson Cambridge University Computing Service,
Email: cet1@??? New Museums Site, Cambridge CB2 3QG,
Phone: +44 1223 334715 United Kingdom.