Subject: Re: [dnsext] Re-ordering of responses over TCP

From: Paul Vixie <[email-masked]>
Date: Thu, 17 Sep 2009 14:14:59 +0000

> From: "George Barwood" <[email-masked]>
> Date: Thu, 17 Sep 2009 13:44:36 +0100
> 
> It's not clear to me if servers are permitted to re-order responses when
> multiple queries are received over a single TCP connection.
> 
> I think this should be permitted, as it allows a stub resolver
> to communicate more efficiently with a cache.

+1, however:

> I think a client submitting multiple queries over a single TCP connection
> would probably expect this behavior, but does anyone know of a client
> that might fail?

named-xfer in bind4 did not check the TXID on the SOA response or the AXFR.

> Should this be made clear somewhere in the standard?

probably so.  right now the standard says use TXID for disambiguation and
does not guarantee ordering for any transport.  yet reordering is rare
enough that there may be stubs out there who successfully presume ordering.

---

From: Mark Andrews <[email-masked]>
Date: Fri, 18 Sep 2009 10:25:33 +1000

In message <5BB224FBD702461FA8FA96EA4A5A876B@localhost>, "George Barwood" write
> multiple queries are received over a single TCP connection.

There is nothing that says they MUST preserve the order.
 
> to communicate more efficiently with a cache.

Its always been permitted.  Whether servers implement parrallel
processing or not is a seperate question.  Either end can serialise
the processing.  When both end perform parallel processing then the
id field is used to seperate responses.

> would probably expect this behavior, but does anyone know of a client

If the client cares about response order it won't have multiple
outstanding questions.
 
> Should this be made clear somewhere in the standard?

What's not clear?  You were able to work out that it was permitted.
The points of standards are to make sure things interoperate, not
to point out every possible usage model.

Mark
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: [email-masked]