Great Suggestion for the DNS problem...?

Laird Popkin laird at
Tue Jul 29 16:25:32 UTC 2008

We mainly use UDP for tracker announces, and only use TCP when we have  
to, and can confirm that the server spends far more time on the TCP  
setup/teardown than on computing the tracker response.

- LP

On Jul 29, 2008, at 12:21 PM, Mikael Abrahamsson wrote:

> On Tue, 29 Jul 2008, Steven M. Bellovin wrote:
>> 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?)
> The bittorrent tracker guys seem to run into problems at around 30kk  
> tracker requests per second (TCP), and they say it's mostly setup/ 
> teardown (sy usage in vmstat), the tracker hash lookup doesn't take  
> that much.
> They're trying to move to UDP, currently their workload is approx 5%  
> UDP.
> I guess TCP DNS workload would be similar in characteristics.
> -- 
> Mikael Abrahamsson    email: swmike at

More information about the NANOG mailing list