DNS reply ADDITIONAL SECTION data with MX lookup ?
mea at nic.funet.fi
Wed Jun 21 17:49:37 UTC 2000
I have been optimizing DNS lookups to get the least number of queries
for MX lookups. Classically my client code has looked up MX, and
then ignored everything else but the primary answer section content.
I would like to optimize dual-mode (IPv4/IPv6) DNS lookups so that if
I get something for the ADDITIONAL SECTION, I could trust it to be of
complete data, and not to go to ask for same data again explicitely.
As an example:
;; ANSWER SECTION:
zmailer.org. 1D IN MX 10 smtp.inet.fi.
zmailer.org. 1D IN MX 20 smtp.tele.fi.
zmailer.org. 1D IN MX 0 mail.zmailer.org.
;; ADDITIONAL SECTION:
smtp.inet.fi. 5h59m56s IN A 184.108.40.206
smtp.tele.fi. 59m16s IN A 220.127.116.11
mail.zmailer.org. 1D IN AAAA 3ffe:2610:2:fe00:290:27ff:fe85:1530
mail.zmailer.org. 1D IN A 18.104.22.168
What can I deduce from these ?
Perhaps that mail.zmailer.org has all data supplied by it, but
what about smtp.inet.fi ? Could it carry AAAA record, and the
current population of binds just doesn't supply that info, as
the responding bind made just plain A lookup, and didn't get any
AAAA data (not that such exists, but still..) ?
If Additional has A but no AAAA, my code (in IPv6 path) asks for AAAA.
If Additional has AAAA but no A, my code asks for A in all cases.
If Additional has neither AAAA or A, my code asks for A and AAAA.
If Additional has both AAAA and A, my code asks nothing more.
I have also played with some extremely pathological cases to debug
client code; MXes for domains:
bigmx.zmailer.org (100 separate MXes)
bigmx2.zmailer.org (200 separate MXes)
bigmx4.zmailer.org (400 separate MXes)
big-a-000.zmailer.org (1 MX, 16 As)
big-a-001.zmailer.org (1 MX, 32 As)
big-a-002.zmailer.org (1 MX, 64 As)
big-a-003.zmailer.org (1 MX, 128 As)
big-a-004.zmailer.org (1 MX, 255 As)
Those bigmx:es seem to tell to me that the ADDITIONAL SECTION has
up to 20 A/AAAA records in it. big-a-000 vs. big-a-001 then tells
that if all A's of some domain don't fit into the Additional Section,
then none of them are placed there.
Actually that "all or none" rule makes a lot of sense, but what about
A vs. AAAA in this same context ?
/Matti Aarnio <mea at nic.funet.fi>
More information about the bind-workers