nanog mailing list archives

Re: Great Suggestion for the DNS problem...?


From: "Steven M. Bellovin" <smb () cs columbia edu>
Date: Tue, 29 Jul 2008 10:23:02 -0400

On Tue, 29 Jul 2008 15:56:19 +0200
Colin Alston <karnaugh () 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


Current thread: