rcfa last edited by
I have two routes to the internet: an IPv4 VPN and an IPv6 tunnel.
The former is lower latency but also lower throughput, the latter is a bit higher latency, but higher throughput. Further, the latter is unlimited use, while the former has a data cap on it (which for practical purposes I never reach, but still)
On almost all my computers I run some flavor of OS X or iOS, and in almost all cases connections use IPv4 over IPv6, even though IPv6 works and tests OK.
A bit of googling got me this:
If all of the above wasn't complicated enough, there is one more thing that effects whether IPv4 or IPv6 is used to establish the connection between client and server: RFC6555 (Happy Eyeballs). The way this standard works is by applications explicitly asking for both an IPv6 and an IPv4 address and then attempting both connections in parallel (the standard suggests to give IPv6 a headstart in the race) using whichever connection succeeds first. Mac OS X implements this since Lion (10.7) in at least some applications. If an application implements RFC6555 then any dns resolver based prioritization of IPv4 vs. IPv6 will have no effect.
Given that I know about the latency issues affecting various links, I wonder if there's some way to add some artificial latency to initial connections, such as to make IPv6 the winner in this race?
Check out the advanced options on limiters, you can set artificial latency (and loss) there, though that would affect the whole connection and not just the initial packets.