Great Suggestion for the DNS problem...?

Steven M. Bellovin smb at cs.columbia.edu
Tue Jul 29 14:23:02 UTC 2008


On Tue, 29 Jul 2008 15:56:19 +0200
Colin Alston <karnaugh at karnaugh.za.net> wrote:

> > DNS uses UDP.
> 
> Ahh yes of course..
> 
> Why does it use UDP? :P
> 
In this situation, UDP uses one query packet and one reply.  TCP uses 3
to set up the connection, a query, a reply, and three to tear down the
connection.  *Plus* the name server will have to keep state for
every client, plus TIMEWAIT state, etc.  (Exercise left to TCP geek
readers: how few packets can you do this in?  For example -- send the
query with the SYN+ACK, send client FIN with the query, send server FIN
with the answer?  Bonus points for not leaving the server's side in
TIMEWAIT.  Exercise for implementers: how sane can your stack be if
you're going to support that?)

		--Steve Bellovin, http://www.cs.columbia.edu/~smb




More information about the NANOG mailing list