On May 28, 2009, at 5:04 AM, Bobby Mac wrote:
If you add enough recipients to an email, each domain within the
send line
needs to have an associated MX record.
Well, it needs to resolve to an A RR somehow, but for each domain
name, you get a different query.
DNS by default starts with UDP which
has a limit to the datagram size (64bit).
The UDP minimum datagram size that must be supported by DNS
implementations is 512 bytes. The maximum is 64K bytes. Obviously if
you try to send a 64K byte packet, it's going to fragment and as we
all know, fragments are bad.
A flag is placed in the
header which then requires the request to be sent via TCP (160bit V4).
If the response to a query won't fit in the UDP buffer (512 by
default, although modern client implementations can advertise a larger
buffer with EDNS0), the server will signal truncation in the response
(with the TC bit), typically resulting in the client retransmitting
the request via TCP.
Now
that single query can be split up into many different packets
providing that
the request is more than the 160 bit and obviously IPV6 offers even
more
information contained in a single packet.
IPv6 packets are a bit larger, but not that much. DNSSEC is where the
fun starts.
Regards,
-drc