[AusNOG] "stateless TCP" for DNS
garmitage at swin.edu.au
Fri Nov 12 15:43:13 EST 2010
So, for something a little different, I'd like to solicit
feedback on a small project done here in my little slice
of academia. It might be slightly OT, but hopefully at some
level it is thought provoking.
Motivated by a half-serious proposal by Geoff Huston a year ago
implemented & released patches to the FreeBSD 9 stack that allows
an unmodified DNS server (such as Bind's named) to handle
TCP-based DNS requests as though they'd arrived over UDP.
The nett effect for the DNS server is significantly reduced
resource consumption relative to handling TCP-based DNS requests
using regular TCP.
Why would clients use TCP for DNS queries? We're envisaging a
future where DNSSEC and/or IPv6 results in lots of DNS answers
larger than 512 bytes, resulting itself in lots of problems for
UDP-based DNS exchanges. DNS clients migrate to using TCP for
transport, and your DNS server melts.
The project is at http://caia.swin.edu.au/ngen/statelesstcp/,
including a tarball of patches to FreeBSD 9.
As Geoff points out in his initial blog post, the idea is slightly
crazy. But what the heck, it might even be useful.
I'd be interested in hearing from anyone who (a) thinks it is
interesting and (b) has the inclination to test it at much
higher loads than the 500 queries/sec we achieved in the lab.
(Our high level block diagram and initial test results are at
http://caia.swin.edu.au/ngen/statelesstcp/overview.html, and tech
report at http://caia.swin.edu.au/reports/101022A/CAIA-TR-101022A.pdf)
Professor Grenville Armitage
Head, Telecommunications Engineering Academic Group
Director, Centre for Advanced Internet Architectures
Faculty of Information and Communication Technologies
Swinburne University of Technology, Australia
More information about the AusNOG