On 17 Jun 2010, at 13:30, Arnt Gulbrandsen wrote:
On 06/17/2010 01:38 PM, Sabahattin Gucukoglu wrote:
Just in case someone here wants to take sides, have a look at this thread on
the IPv6 discussion list at Apple:
(the thread actually goes back earlier than that, but I can't be bothered
going looking for it because I can't stand that awful PiperMail interface)
What I've never understood is why (almost) everyone tries addresses in
sequence instead of in parallel.
Even applications that routinely open two or more concurrent connections to
the server first try IPvX, then wait many seconds, then try IPvY. Why not try
both in parallel and use whatever address answers first?
It's Apple we're talking about here. Have a look at this for some nasty
Admittedly this is just for DNS, but I think it illustrates the general
problem, you can't win, you can't break even, and you can't even quit the game
with this one.
It seems to me that you would want to kick off both the DNS and the
connection in parallel. In thread 1, do DNS A followed by IPv4 connection.
In thread 2, do DNS AAAA followed by IPv6 connection. Whichever thread
completes BOTH the DNS lookup AND the connection first kills the other
thread. That way, you don't have the problem of "my AAAA" succeeded first,
but my connection can only be made over IPv4...
You can do this cleanly be encapsulating BOTH the DNS lookup AND the
connection in the same lookup using "connect by name"...
Ietf mailing list