marka's blog

How to connect to a multi-homed server over TCP.

With the world wide deployment of IPv6 in parallel with IPv4, it has become apparent that a traditional connection loop is no longer good enough.

In fact, this is a large part of the reason why Google is white listing resolvers and Yahoo only wants to return to AAAA records to DNS queries made over IPv6.  The traditional connection loop does not behave well in the presence of some network errors.  It introduces excessive delays when there are good alternate addresses to use.