DNS reply ADDITIONAL SECTION data with MX lookup ?

Matti Aarnio 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:

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.

smtp.inet.fi.           5h59m56s IN A
smtp.tele.fi.           59m16s IN A
mail.zmailer.org.       1D IN AAAA      3ffe:2610:2:fe00:290:27ff:fe85:1530
mail.zmailer.org.       1D IN A

  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 mailing list