Windows 8 moves to IPv6 Internet

Windows 8 moves to IPv6 Internet

Summary: It went largely unnoticed at the time but Microsoft has announced that Windows 8 will default to using IPv6 given a choice of network protocols. Here's how it will work.

SHARE:
RFC-3484.Address-sorting-in-Windows

Like it or lump it, we're moving to IPv6 for our Internet connections. For now, less than 2% of the world's Internet population is using IPv6, but as the last IPv4 addresses grains of sands run out (http://www.zdnet.com/ipv6-when-do-you-really-need-to-switch-3040155336/), Microsoft knows that its Windows users need to start switching over. That's why, starting in Windows 8, “Windows prefers native IPv6 connectivity over IPv4 connectivity, if both connection modes are available.”

In a blog posting, Steve Sinofsky, Microsoft's president of Windows, explained the basics of why we have no choice but to move from IPv4 to IPv6: IPv4 only provided around 4 billion IP addresses. That seemed like a lot in the 1970s. But by 2015, an estimated 15 billion devices will be connected (PCs, phones, household appliances, cars, even furniture!). IPv4 simply does not have the addresses necessary to connect this many devices to the Internet.”

He's right of course. This was always going to happen, but network administrators have been able delay the day of Internet reckoning with technologies such as network address translation (NAT). But,  these patch-work approaches aren't sufficient for a world where a single person may carry three or four IP-equipped devices such as a tablet, phone, and laptop.

Sinofsky expects most of the world to stay on IPv4 for the short term. “This model continues to work in Windows 8 as it has in the past.” But, he also expects more and more PCs will be on dual-stacked networks. These are networks that support both IPv4 and IPv6. On these, devices are configured with both IPv4 and IPv6 addresses.

“Our primary focus during this transition has always been to minimize the impact of the transition for everyday users,” Sinofsky continued, “It shouldn’t matter whether your connection is over IPv4 or IPv6. You should have an Internet experience that is fast and reliable, with little evidence of the IPv6 transition, so you can just enjoy the content.”

Still, “At the same time, it’s also a priority for us to help the IPv6 transition move ahead. To this end, Windows prefers native IPv6 connectivity over IPv4 connectivity, if both connection modes are available.”

Windows 8 will do this by using RFC 3484 IPv6 address selection. This isn't easy as Sinofsky explained, “In order for a device to truly support dual-stack networks, apps must not only be able to send traffic with IPv4 and IPv6, but the OS must be smart enough to know which protocol is appropriate for the task at hand. Even more specifically, because your device might have multiple IPv4 and IPv6 addresses, and because the destination you’re trying to reach might also have multiple IPv4 and IPv6 addresses, the stack must be smart enough to know which specific source and destination addresses should be used for connectivity. This functionality is called address sorting, and is an area that we have enhanced in Windows 8. The idea behind address sorting is to determine which address pair is likely to produce the best connection, so the application does not need to wait.”

Network engineers at this point may be going, “Wait, isn't working out which route is best the job of the router?” Well, yes, it is. For the most part, a dual-stacked Windows 8 machine will go with the router's recommendation,

Microsoft has found though that “Some clients were configured with IPv6 routing information, but they did not actually have IPv6 connectivity to the Internet. This appears to be the result of a misconfiguration by some Internet Service Providers or buggy home routers. Windows attempts to connect to websites using IPv6, expecting it to work, but it won’t! Eventually, Windows detects that the connection attempt failed and falls back to IPv4 connectivity. However, for users, connectivity to dual-stack websites can be delayed by 10-15 seconds. This obviously causes a problem for web browsers, but any network-connected app faces this issue.”

That's not good. That's the kind of delay that has users screaming on the phone that the Internet is broken.

So in “Windows 8 tests IPv6 connectivity when you connect to a new network that advertises IPv6 routabilty, and it will only use IPv6 if IPv6 connectivity is actually functioning. This approach is a modification of our implementation of RFC 3484. Instead of sorting addresses as a result of policy, we use the actual state of the network as input to our algorithm. On a mis-configured network, this approach improves the experience not only for browsers but also for apps that connect to dual-stack destinations using standard Windows [application programing interfaces] APIs.”

Windows 8 doesn't run this test constantly. “Windows 8 performs the network connectivity test when you first connect to a new network; it caches this information and repeats the test every 30 days. The actual test for connectivity is a simple HTTP GET to an IPv6-only server that is hosted by Microsoft. (For standards buffs, this is implemented between rules 5 and 6 of destination address sorting in our implementation of RFC 3484.) Windows performs a similar network connectivity test for IPv4 connectivity. If both IPv4 and IPv6 are functioning, IPv6 will be preferred.”

Microsoft hasn't made it's RFC 3484 take a hard and fast rule. They realize that on an enterprise networks the business may have provided specific routing information to a particular destination for a reason. In that case, “Windows 8 will honor that preference, regardless of the connectivity determined by Windows. In enterprise environments, Windows assumes that network administrators who configure such routes specifically thought it was a good idea to use those routes.”

In addition, “This change isn’t implemented on networks with Web proxies. In these networks, the proxy provides connectivity to the Internet; so end-to-end testing of IPv6 connectivity is not useful. Instead, Windows 8 simply opens connections to the proxy in the most efficient manner possible.”

Microsoft is also moving its servers and services to the IPv6 Internet. Bing and Skype both support IPv6 today. With the release of “Windows 8 will use IPv6, if available, to download Windows Updates” via IPv6 compatible Content Delivery Networks (CDN)s. Sinofsky also wrote, We are working with CDNs to extend IPv6 support beyond Windows 8. Once that work is complete, even Windows 7 and Windows Vista will automatically use IPv6, where it is available, for connecting to Windows Update.”

Will it work? On simple networks, and with proper support from your ISP and network router vendor it should spin like a top. Network administrators on dual-stacked enterprise networks should keep in mind that Windows 8's is bringing its own approach to routing to the network and keep a close eye on these systems to make sure that Microsoft's take on RFC 3484 works well with your network.

Related Stories:

World IPv6 Day is here

IPv6: When do you really need to switch?

IPv6: It's the end of the Internet as you know it, and I feel fine

First IPv6 Distributed Denial of Service Internet attacks seen

Topics: Networking, Microsoft, Windows

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

10 comments
Log in or register to join the discussion
  • thoughts

    "Like it or lump it, we're moving to IPv6 for our Internet connections."

    Most people actually won't notice. It'll be mostly the business networking people that will need to worry about it.

    Glad to hear that at least the OS will support it on home networks :).
    CobraA1
  • IPv6 has always been the preferred protocol

    As long as a global IPv6 address has been configured, Windows has (at least since XP to my knowledge) used IPv6 in preference to IPv4.
    The only difference here seems to be that it now checks whether you have connectivity to microsoft.com. Sounds like a very crude test to me.
    Some alternative systems attempt to connect via IPv6 and then IPv4 after a slight delay. Whichever responds first is used. The delay means that IPv6 is preferred unless the IPv6 network is down or slow. This seems a much better way to choose, at least for browser usage.
    john-g
  • Lots o' Quotes

    That was a lot of quoting.
    Darkninja962
    • Quoting...

      Fake Steve Jobs used to refer to SJVN as "Steven J. Von-cut-and-paste." Might be some truth behind it.
      aep528
      • Still though he put out an informative, clearly written post, without any

        tangential W8/WP8 bashing. He stuck to the pertinent topica and left aside personal bias. I have to commend on this. Well done SJVN!
        Johnny Vegas
  • Good article..

    This is the first article fron SJVN that is balanced and impartial. If you write articles, I will definetly read them.

    Atanu
    AtanuGhose
  • Very Nice Article

    I really liked this article and i don't care if it was copy\pasted; it was informative!
    micallan_17
  • nice article

    thanks for sharing , good article
    vietnam visa
    Le Khuyen
  • nice

    i like this article
    vietnam visa
    Le Khuyen
  • Really????

    IPv4 could be ketp going for a very long time to come. I have worked in Networking for 10 years now and my mentors built the internet working for ARPA DOD PAC BELL Lucent NASA and IBM And Xerox so my tutelage has been full. NAT is not a patch is a the preferred way of connected to the internet it protects them from you and you from them. keeps both private and public and that will not go away cause that is the best way to do it. we have more than enough ips cause i know more than 20 companies that have multi Class A and Class B and a bunch of Class C. ie i know some city entities that have police and fire stations with full class c for 1 pc. so we have alot of unused ips. not being used. If you know Servers so many web base services that need 443 and you need a real ip for each 443 services, we have fixed the multi tenet approach to port 80 in apache and IIS but never fixed port 80. if we actually fixed with would not need to go ipv6 we don't need an ip address for every internet devices that's its just stupid but if you actually think they would do that i have a bridge for sale. its like bigger planes more leg room haha. there is only one thing that i will enjoy with ipv6 and that is multicast which will make things very instressting unless the ITU steps in lol
    medric