Hi John,
At 21:52 16-12-10, John R Levine wrote:
I think the answers to these questions are obvious, but they're not
obviously obvious, so:
1. Let's say I have these DNS records:
foo.example AAAA a:b::c:d
foo.example MX 10 mail.foo.example
mail.foo.example A 1.2.3.4
Then a client would try to contact 1.2.3.4, and give up if it
can't. A v6 only client can't send mail to foo.example. No client
should try to send mail to a:b::c:d.
Yes.
2. Let's say I have these DNS records:
bar.example A 1.2.3.4
bar.example MX 10 mail.bar.example
mail.bar.example AAAA a:b::c:d
A client would try to connect to a:b::c:d, and give up if it
can't. A v4 only client can't send mail to bar.example. No client
should try to send mail to 1.2.3.4.
Yes.
3a. Let's say I have these DNS records:
baz.example MX 10 mail1.baz.example
baz.example MX 20 mail2.baz.example
mail1.baz.example A 1.2.3.4
mail1.baz.example AAAA a:b::c:d
mail2.baz.example A 2.3.4.5
mail2.baz.example AAAA b:c::d:e
3b. Let's say I have these DNS records:
baz.example MX 10 mail1a.baz.example
baz.example MX 10 mail1b.baz.example
baz.example MX 20 mail2a.baz.example
baz.example MX 20 mail2b.baz.example
mail1a.baz.example A 1.2.3.4
mail1b.baz.example AAAA a:b::c:d
mail2a.baz.example A 2.3.4.5
mail2b.baz.example AAAA b:c::d:e
In both of these examples, a v4 client tries 1.2.3.4, then 2.3.4.5.
In both of these examples, a v6 client tries a:b::c:d, then b:c::d:e
Yes.
A dual stack client tries 1.2.3.4 and a:b::c:d in either order, then
2.3.4.5 and b:c::d:e in either order.
A dual stack client would favor the IPv6 address and try to connect
to it first.
Regards,
-sm