Support for 1RTT multi-queries over TCP (or lack thereof)

Tony Finch <[email protected]> Wed, 18 Dec 2013 12:18:05 +0000
Newsgroups gmane.ietf.dnsext
Message-ID <[email protected]>
I saw a message to the unbound-users list which says unbound processes TCP
queries sequentially.

http://unbound.nlnetlabs.nl/pipermail/unbound-users/2013-December/003096.html

I thought this was disappointingly poor, especially wrt the recent
discussion about backwards-compatible alternatives to edns-chain-query. So
I did a quick test to see if BIND has the same problem. I shoved a few
entries from the Alexa Top 1 Million list into adns as follows.

$ sed 's|^[0-9]*,||;s|/.*||' top-1m.csv | head -100 |
  adnshost --cname-loose --asynch --pipe

Over UDP you can clearly see the response serial numbers are out-of-order,
and the whole thing runs in about 3 seconds with a cold cache.

If I add --tcp to the adnshost command line the responses come back
strictly in order and BIND processes them one at a time. Processing all
the queries takes more than 30 seconds, so adns times out before getting
responses to the last 25 queries. (When you invoke adnshost like this it
does not by itself do anything to limit the number of outstanding
queries.) In addition to that, named fails to notice that the TCP socket
has gone away and continues to process queries. (I will report this as a
bug.)

So that is doubly disappointing.

Tony.
-- 
f.anthony.n.finch  <[email protected]>  http://dotat.at/
Forties, Cromarty: East, veering southeast, 4 or 5, occasionally 6 at first.
Rough, becoming slight or moderate. Showers, rain at first. Moderate or good,
occasionally poor at first.
_______________________________________________
dnsext mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsext