[AusNOG] "stateless TCP" for DNS
Mattia Rossi
mrossi at swin.edu.au
Mon Nov 15 17:43:26 EST 2010
On 15/11/2010 16:00, Mark Andrews wrote:
[..]
> * However, most most DNS servers are configured to allow only a maximum
> UDP packet size of 512 Bytes.
>
> [ Most DNS servers are configured honour UDP sizes in EDNS requests.
> Even then those that reduce the size usually do it to the level of
> preventing IP fragmentation. Almost no servers reduce it to 512
> bytes as there are very few firewalls that block outgoing large
> replies. ]
Do you have any data or can you point us to any link which we could use
to verify your statement? Our assumption is based on the following
research:
http://labs.ripe.net/Members/dfk/content-measuring-dns-transfer-sizes-first-results
>
> * Using IPv6 and DNSSEC, the DNS response will always exceed 512 Bytes.
>
> [ Which is demonstrably wrong.
>
> ;<<>> DiG 9.6.0-APPLE-P2<<>> +dnssec br @a.root-servers.net
> ;; global options: +cmd
> ;; Got answer:
> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32934
> ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 8, ADDITIONAL: 9
> ;; WARNING: recursion requested but not available
>
> ;; OPT PSEUDOSECTION:
> ; EDNS: version: 0, flags: do; udp: 4096
> ;; QUESTION SECTION:
> ;br. IN A
>
> ;; AUTHORITY SECTION:
> br. 172800 IN NS d.dns.br.
> br. 172800 IN NS c.dns.br.
> br. 172800 IN NS e.dns.br.
> br. 172800 IN NS f.dns.br.
> br. 172800 IN NS a.dns.br.
> br. 172800 IN NS b.dns.br.
> br. 86400 IN DS 41674 5 1 EAA0978F38879DB70A53F9FF1ACF21D046A98B5C
> br. 86400 IN RRSIG DS 8 1 86400 20101122000000 20101114230000 40288 . CpOUaSB9+S8lJftPqsXv1btpINwTvQYXSfh8pBdf0UPhyQdOo0kkrHBN s/dnxPGMxxsAFzKeviHkFsqE4OaQdQuRoA7SI5ErZBTyAwf0HSld8ttJ 4d4IEfSUnL0VIBCGEIcyMbD4yphtzH0Ja7MtuAeKz4OynyTSiWVsivwP Yvw=
>
> ;; ADDITIONAL SECTION:
> a.dns.br. 172800 IN A 200.160.0.10
> a.dns.br. 172800 IN AAAA 2001:12ff::10
> b.dns.br. 172800 IN A 200.189.40.10
> c.dns.br. 172800 IN A 200.192.232.10
> d.dns.br. 172800 IN A 200.219.154.10
> e.dns.br. 172800 IN A 200.229.248.10
> e.dns.br. 172800 IN AAAA 2001:12f8:1::10
> f.dns.br. 172800 IN A 200.219.159.10
>
> ;; Query time: 163 msec
> ;; SERVER: 198.41.0.4#53(198.41.0.4)
> ;; WHEN: Mon Nov 15 15:48:59 2010
> ;; MSG SIZE rcvd: 478
> ]
My mistake - as the most common TLD's do in fact always exceed the
limit. I'll definitely fix that.
>
> * Firewalls and NAT boxes are known to drop DNS UDP packets which
> are larger than 512 Bytes.
>
> [ Which depends on the firewall configuration (newer defaults allow 4096
> byte UDP response by default when talking EDNS) and whether you are talking
> to the NAT (broken proxies often without TCP support) or through the NAT
> (usually no issues).
Well, yes. New NAT/firewall boxes might not have the problem, but old
ones might. We don't know how many there are, how much will break etc.
>
> Also if firewalls block responses bigger than 512 bytes was a issue it
> would have turned up years ago as the non DNSSEC EDNS referral to the
> COM and NET servers has been bigger the 512 bytes for a long time now.
>
> ;<<>> DiG 9.6.0-APPLE-P2<<>> example.com +edns=0 @a.root-servers.net
> ;; global options: +cmd
> ;; Got answer:
> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44601
> ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 16
> ;; WARNING: recursion requested but not available
>
> ;; OPT PSEUDOSECTION:
> ; EDNS: version: 0, flags:; udp: 4096
> ;; QUESTION SECTION:
> ;example.com. IN A
>
> ;; AUTHORITY SECTION:
> com. 172800 IN NS h.gtld-servers.net.
> com. 172800 IN NS a.gtld-servers.net.
> com. 172800 IN NS e.gtld-servers.net.
> com. 172800 IN NS k.gtld-servers.net.
> com. 172800 IN NS j.gtld-servers.net.
> com. 172800 IN NS d.gtld-servers.net.
> com. 172800 IN NS g.gtld-servers.net.
> com. 172800 IN NS l.gtld-servers.net.
> com. 172800 IN NS c.gtld-servers.net.
> com. 172800 IN NS b.gtld-servers.net.
> com. 172800 IN NS m.gtld-servers.net.
> com. 172800 IN NS f.gtld-servers.net.
> com. 172800 IN NS i.gtld-servers.net.
>
> ;; ADDITIONAL SECTION:
> a.gtld-servers.net. 172800 IN A 192.5.6.30
> a.gtld-servers.net. 172800 IN AAAA 2001:503:a83e::2:30
> b.gtld-servers.net. 172800 IN A 192.33.14.30
> b.gtld-servers.net. 172800 IN AAAA 2001:503:231d::2:30
> c.gtld-servers.net. 172800 IN A 192.26.92.30
> d.gtld-servers.net. 172800 IN A 192.31.80.30
> e.gtld-servers.net. 172800 IN A 192.12.94.30
> f.gtld-servers.net. 172800 IN A 192.35.51.30
> g.gtld-servers.net. 172800 IN A 192.42.93.30
> h.gtld-servers.net. 172800 IN A 192.54.112.30
> i.gtld-servers.net. 172800 IN A 192.43.172.30
> j.gtld-servers.net. 172800 IN A 192.48.79.30
> k.gtld-servers.net. 172800 IN A 192.52.178.30
> l.gtld-servers.net. 172800 IN A 192.41.162.30
> m.gtld-servers.net. 172800 IN A 192.55.83.30
>
> ;; Query time: 161 msec
> ;; SERVER: 198.41.0.4#53(198.41.0.4)
> ;; WHEN: Mon Nov 15 15:57:22 2010
> ;; MSG SIZE rcvd: 528
>
> ]
>
Cool. This is in fact news to us.
We certainly don't know exactly what's going on in the DNS system, as
we're not ueber-DNS experts.
That's why we asked for feedback, thanks.
Cheers
Mat
More information about the AusNOG
mailing list