> On 31 Jan 2015, at 16:56, Florian Weimer <f...@deneb.enyo.de> wrote: > > If you want to make the connections full-duplex instead of > half-duplex, you need to negotiate connection teardown at the DNS > layer. Otherwise, the TCP connection teardown will result in loss of > already-transmitted responses.
This is wrong. You imply that loss of response means complete failure, but that isn't true. Regardless of any DNS-level signalling, there will be situations when you lose a connection with queries in progress. Maybe the server crashed. Maybe the client is on a train that went into a tunnel. The client must have retry logic that copes with network lossage, UDP or TCP, even if from the server's point of view the response was sent. I am puzzled by this discussion about extra TCP close signalling. I can't see any significant savings that will justify the extra complexity. The worry seems to be entirely about the race between the client sending a query and the server closing. But in this situation it is easy for the client to recover fast: it gets an immediate error, and it knows exactly which queries to re-send. No timeouts like in UDP. So why the fuss? Can someone give me a description, a packet exchange timeline, that shows when the proposed extra DNS signalling will do better than a raw TCP close? Tony. -- f.anthony.n.finch <d...@dotat.at> http://dotat.at _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop