On Thu, Apr 22, 2010 at 11:36 AM, Michael Sinatra <span dir="ltr"><<a href="mailto:michael@rancid.berkeley.edu">michael@rancid.berkeley.edu</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
But it doesn't contain the RRSIGs for the DNSKEY.  'dig +norec +cdflag dnskey <a href="http://uspto.gov" target="_blank">uspto.gov</a> @<a href="http://dns1.uspto.gov" target="_blank">dns1.uspto.gov</a>' does not contain RRSIGs so it is only 1131 bytes.  A non-EDNS0 query will receive the TC bit and will retry in TCP.  'dig +dnssec +norec dnskey <a href="http://uspto.gov" target="_blank">uspto.gov</a> @<a href="http://sns2.uspto.gov" target="_blank">sns2.uspto.gov</a>' has a response that includes the RRSIGs and is 1736 bytes, which on most ethernets will cause UDP fragmentation.  I get a timeout when using dig with +dnssec and without +vc.  However, 'dig +bufsize=1024 +dnssec +norec dnskey <a href="http://uspto.gov" target="_blank">uspto.gov</a> @<a href="http://dns1.uspto.gov" target="_blank">dns1.uspto.gov</a>' which sets an EDNS0 buffer size of 1024, does get a response, after retrying in TCP mode.<br>

<br>
In other words, <a href="http://uspto.gov" target="_blank">uspto.gov</a>'s DNS servers and network are able to send responses longer than 512 bytes, but if the response is longer than 1500 bytes, something in the network between those DNS servers and the rest of us is blocking the UDP fragments.<br>

<br></blockquote><div><br>Actually, what seems interesting to me is that the cutoff seems to be at a payload size of 1736, which happens to be the exact size of the complete response.  Is this just coincidence?<br><br>$ dig +bufsize=1735 +dnssec @<a href="http://dns1.uspto.gov">dns1.uspto.gov</a> <a href="http://uspto.gov">uspto.gov</a> dnskey<br>


<br>;; Truncated, retrying in TCP mode.<br>
<br>$ dig +bufsize=1736 +dnssec @<a href="http://dns1.uspto.gov">dns1.uspto.gov</a> <a href="http://uspto.gov">uspto.gov</a> dnskey<br> <br>; <<>> DiG 9.6.1-P3 <<>> +bufsize=1736 +dnssec @<a href="http://dns1.uspto.gov">dns1.uspto.gov</a> <a href="http://uspto.gov">uspto.gov</a> dnskey<br>
; (1 server found)<br>;; global options: +cmd<br>;; connection timed out; no servers could be reached<br><br>Casey<br></div></div>