Vista and IPv6 = Problems?

I have been asked a lot recently if Vista works okay with IPv6. Apparently some people are hearing that Vista doesn't implement IPv6 correctly and it breaks your network, or something to that effect. The short answer is: YES! Everything in Vista works great with IPv6! We run thousands of tests per week during development to make sure that the stack works well with the rest of the OS, and that doesn't even count the huge number of partners and beta testers that are testing our code externally, as well.

We are also putting our technology to the test internally: we are running IPv6 almost everywhere on the MS corpnet.  A significant number of our employees run Windows Vista (What a concept, huh?) and while all of those are in dual stack mode (v4 and v6), we haven't seen any significant issues.  We are also testing an IPv6-only deployment internally, as well.  We also have partners that are deploying IPv6, and they have had no major issues getting IPv6 rolled out on their networks.

This success isn't my own; it is the result of literally hundreds of people working hundreds of thousands of manhours to re-engineer the TCP/IP stack to ensure that IPv6 was fully and completely integrated, and of the entire Windows Development team working to make sure IPv6 was properly integrated across the entire OS.  This was not a trivial process.

This is a great segue: its worth remember that deploying IPv6 is not trivial.  Just having IPv6 enabled isn't a big deal because most of the other devices on your network aren't going to be using v6 (except for other Windows Vista and Windows Server 2008 machines) so if you are talking to a printer or something, your machine will just use IPv4 by default.  Once you start trying to roll out IPv6 though, there is a lot to consider. There are a lot of variables, and not all of the skills you used in IPv4 transfer to IPv6.  You need to plan it out and be ready to troubleshoot some things during rollout. Maybe some of your applications are just not IPv6 capable, or your older hardware doesn’t understand what an IPv6 address is. Maybe it is a configuration error on a host or router.  There could be any number of issues that might cause problems, which is why I strongly recommend setting up an IPv6 test lab now - TODAY! - and testing your devices and applications to determine how they will work in an IPv6 network while building your v6 skills.

It can be really hard trying to pinpoint a root cause when IPv6 problems arise, particularly without being “hands-on” for troubleshooting. The Microsoft Networking Team is always talking to customers, though, and if you think you have an IPv6-specific issue, let us know! We’ll do what we can to help you figure it out.

I can tell you that a lot of people are running IPv6 with Windows Vista and a wide array of "stuff" and making it work. We are working on a set of IPv6 Best Practices that have been culled from our own lessons learned and from our partners deployments so that our customers don't have to repeat our mistakes.  Those Best Practices will be available soon.

We also provide tools like checkv4.exe to help you figure out if your code has any IPv4 calls hardcoded into it, as well as whitepapers like Manageable Transition to IPv6 using ISATAP, which is a joint whitepaper with Cisco describing how to ease the deployment of IPv6, and Enabling the Next Generation of Networking with End-to-End IPv6 which is another joint whitepaper with Juniper discussing IPv6 deployment and benefits. All of these are available from www.microsoft.com/ipv6. In short, we are working with lots of industry partners to simplify IPv6 deployment and make sure that all of our customers can gain the maximum value from IPv6.

Moral to the story? Get cracking on your IPv6 testing today! And, as always, let me know what you have to say. Now get back to work.

P.S. Sorry for the long break in blog posts. Thanks for all the emails of encouragement.  No, the NAT mafia didn't put out a contract on me. (That I know of)