[bind10-dev] Suboptimal way of splitting XFR-out to messages
Mark Andrews
marka at isc.org
Mon Dec 5 23:29:04 UTC 2011
In message <m2sjkyvrei.wl%jinmei at isc.org>, JINMEI Tatuya / =?ISO-2022-JP?B?GyRC
P0BMQEMjOkgbKEI=?= writes:
> At Mon, 05 Dec 2011 13:11:12 +0100,
> Shane Kerr <shane at isc.org> wrote:
>
> > I think the best thing to do is probably to create a low-priority ticket
> > backlog mentioning this optimization, and why it is not very important.
> > Perhaps it makes sense to include a comment somewhere in the XFR-out
> > mentioning this as well?
>
> Adding a comment is an easy task. Maybe you want to create a ticket:-)
>
> FWIW BIND 9 has the following comment (although it doesn't mention the
> suboptimal/optimization issues):
>
> /*
> * TCP. Build a response dns_message_t, temporarily storing
> * the raw, uncompressed owner names and RR data contiguously
> * in xfr->buf. We know that if the uncompressed data fits
> * in xfr->buf, the compressed data will surely fit in a TCP
> * message.
> */
Additionally using messages sizes large than 16K by itself lead to
sub-optimal compression as only the first 16K is available as targets
of compression pointers. If you want to have optimal compression
you need to start a new message whenever the message overhead is
less than what is lost due to not having a compression target
available. In most cases this happen a couple of records after the
16K mark.
Mark
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: marka at isc.org
More information about the bind10-dev
mailing list