Some have suggested that DNS move to TCP, but I don't think that's proper. The nature of DNS lends itself to connectionless, lightweight communication. That said, could the next iteration of DNS implement application-level handshaking?<p>The reason not to do this at layer 4 is because I, in the several minutes of pondering it, think it could break lots of security devices that track connection state across lots of computers in a network. Make some kind of<p><pre><code> C -> S request
C <- S ack
C -> S yes
C <- S lots of data
done
C -> S request
C <- S ack
C -> S no
done</code></pre>