I recently started to explore IPv6 and was curious to do few experiments in the latest Internet Protocol. During one such experiment, I had to setup a dual stack on my computer having both the IPv4 and IPv6 addresses and wanted a way to instruct web browsers to use only the specific protocol. For instance, I wanted my Google Chrome to use IPv6 protocol and Mozilla Firefox to use IPv4 protocol. Fortunately, there was a way to enable or disable IPv6 protocol in Mozilla firefox, but I couldn’t find a similar option in Google Chrome. In fact, I understand that the older versions (< 12.0.*) of Google Chrome had an option under chrome://net-internals/dns, where you’ll find a button to enable/disable IPv6. But where’s that “Enable IPv6” button in the recent versions of Chrome?
I’m using Google Chrome version 42.0.2311.90m, which doesn’t have “Enable IPv6” button under chrome://net-internals/dns and I saw something like this “Default address family: UNSPECIFIED“, but older versions used to have “Default address family: ADDRESS_FAMILY_IPV4(IPv6 disabled) [Enable IPv6] button“.
Is this a bug? It doesn’t look like. I googled the issue for 1/2hr or so and finally understood (based on some forums) that Chrome supports IPv6 natively. Means, the latest version of Chrome chooses the protocol by itself and interestingly it prefers IPv6 over IPv4. So the user has no role to play here and hence no “Enable IPv6” button.
Also, if you look at the page of chrome://net-internals/dns (snapshot shown below), you will see a table displaying the active and expired entries of each website you had accessed. Interestingly, in each row, the column ‘Family’ has “UNSPECIFIED” and the ‘Addresses’ column has domain’s IPv6 addresses followed by IPv4 addresses.
Probably, the browser gets the ordering from DNS response and if the IPv6 addresses are first, then communication happens over IPv6 protocol, else over IPv4. Well, that’s my assumption based on various forums. Do you have a different view? Let me know as comments below.
You can very well enable or disable IPv6 on Mozilla Firefox, here’s how you can do that.
The ordering cannot come from DNS, because IPv4 host records (A) and IPv6 host records (AAAA) are different. As a result they cannot be combined into a single request.