IPv6 Intelligence

Windows Vista IPv6

IPv6 is installed and active by default in Microsoft Windows Vista. The IPv6 stack was completely rewritten from Windows XP as part of the Next Generation TCP/IP stack for Vista (and Windows Server Longhorn). It contains several significant enhancements and new features: IPv6 is now supported as part of a Dual IP Layer; DHCPv6 and PPPv6 are integrated into the base system.

The Vista IPv6 implementation is, from an end-user viewpoint, one of the most complete and functional IPv6 stacks available today. Additionally, the IPv6 documentation from Microsoft is very extensive and well founded.

Content from 12/2006-1/2007, updated April 2009
Current version Windows Vista SP1
Tested version Windows Vista RC1
Documentation for Windows Vista SP1, RC1

Basic IPv6 functions

Overview

IPv6 is active in a default installation. No manual steps are needed for activation — if attached to an IPv6 link, Vista automatically performs stateless autoconfiguration and creates local and global addresses.

Preference

Windows Vista prefers IPv6 if a DNS query results in IPv4 and IPv6 addresses being sent back (A and AAAA RRs).

(However, the shipped Internet Explorer at least on the tested RC1 sometimes preferred IPv4 over IPv6 at various tested IPv6 sites, due to unknown reasons.)

Privacy Extensions

Privacy addresses are enabled and used by default. Windows Vista generates automatically random interface IDs for every attached IPv6 interface and uses them for privacy addresses.

Packet Filter/Firewall

The integrated Windows Vista firewall can filter stateful IPv6.

up

Tunnelling IPv4/IPv6

Configured tunnels

It seems the final Vista versions and SP1 apparently support configured tunnels again.2 (Windows Vista RC1 dropped support for configured tunnels — the necessary command line commands were not available in the tested system.1)

6to4

When IPv6 is active and the system has a public IPv4 address, Windows Vista automatically activates 6to4 if the interface does not have a global IPv6 address.

In our tests, no further configuration was needed. However, it could be necessary to allow tunnelled 6to4 traffic through the integrated packet filter from Vista (which was deactivated in our tests).

Other tunnels

Windows Vista also supports the Teredo and ISATAP tunnelling mechanisms. Teredo is apparently (as is 6to4) active by default.

up

DHCPv6

Windows Vista integrates an DHCPv6 client by default. DHCPv6 is selected by default in the network configuration panel. Supported are stateful and stateless operation, with the following options used (and received) in tests:

The DHCPv6 client also supports Prefix delegation when the system is configured not as a network endpoint — when for example Internet Connection Sharing (ICS) is enabled the DHCPv6 client asks for, and can receive, Prefix delegations (PDs). 4

up

PPPv6

PPPv6 is supported in Windows Vista and was tested successfully with IPv6 on DSL (via PPPoE). On PPP connection establishment, PPP tries to negotiate IPv6 when establishing the PPP link (IPv6CP) and successfully creates a link-local address for the PPP interface. The IPv6 stack afterward receives RAs on the PPP link, configures an global address on the PPP interface and sets the IPv6 default route.

PPPv6/IPv6 is selected by default on PPP/dial-up connections.

up

Supported IPv6 RFCs & IDs

This list is probably not exhaustive and may not includes all IPv6 RFCs.

Table 1: Windows Vista SP1 IPv6 RFCs and IDs3
Document Title
RFC 1981 Path MTU discovery for IP version 6
RFC 2460 Internet protocol, version 6 (IPv6) specification
RFC 2461 Neighbor discovery for IP version 6 (IPv6)
RFC 2462 IPv6 stateless address autoconfiguration
RFC 2464 Transmission of IPv6 packets over Ethernet networks
RFC 2467 Transmission of IPv6 packets over FDDI networks
RFC 2472 PPPv6
RFC 2710 Multicast Listener Discovery (MLD) for IPv6
RFC 3041 Privacy Extensions
RFC 3056
probably
6to4
RFC 3315 Stateful DHCPv6
RFC 3484 Default Address selection
RFC 3596 DNS Extensions to support IPv6
RFC 3810 Multicast Listener Discovery Version 2 (MLDv2)
RFC 4007 IPv6 Scoped Address Architecture
RFC 4193 Unique Local IPv6 Unicast Addresses
RFC 4213 Transition Mechanisms for IPv6 Host and Routers
RFC 4214
probably
ISATAP
RFC 4291 IPv6 Addressing Architecture
RFC 4380
probably
Teredo
RFC 4443 Internet Control Message Protocol (ICMPv6) for the Internet ProtoVersion 6 (IPv6) Specification

up

References

  1. See also: News of 2006: Windows Vista support: non-existant due to missing proto-41 support (SiXXS - IPv6 Deployment & Tunnel Broker: July 2006. Accessed 28.9.2006)
  2. News of 2006: Windows Vista configured tunnels, back in build 5744 (SiXXS - IPv6 Deployment & Tunnel Broker: October 2006. Accessed 31.1.2007)
  3. Special Interoperability Test Certification of Microsoft Windows Vista, Service Pack 1, Operating System [...] for Internet Protocol Version 6 Capability (Defense Information Systems Agency/Joint Interoperability Test Command (JITC): October 2008. Accessed April 2009) and
    Microsoft Windows Vista SP1 IPv6 Letter of Compliance for DISA/JITC (Microsoft Corporation: August 2008. Accessed April 2009)
  4. DHCPv6 Prefix Delegation in Windows Vista (Microsoft Corporation - Microsoft Windows DHCP Team Blog: February 2007. Accessed April 2009)

up