IPv6 Intelligence

Windows XP IPv6

IPv6 is not enabled by default in Microsoft Windows XP SP2, it has to be explicitly installed and enabled. Proper IPv6 support was added with the Advanced Networking Pack and updated in the Service Pack 2.

Several subprotocols are missing and left for future work/third party software — most notably DHCPv6 (Dibbler), PPPv6 and IPv6 Mobility (both unaccounted for).

Content from 12/2006
Current version Windows XP SP3
Tested version Windows XP SP2
Documentation for Windows XP, SP1-SP3

Basic IPv6 functions

Overview

IPv6 is not active in a default installation. The IPv6 part has to be installed and activated manually on the command line: netsh interface ipv6 install Afterward IPv6 is active and ready to perform stateless autoconfiguration for local and global addresses.

Preference

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

Privacy Extensions

Privacy addresses are enabled and used by default after the installtion of IPv6. They can be manually deactivated on the command line: netsh interface ipv6 set privacy disabled

Packet Filter/Firewall

Windows XP integrates since Service Pack 2 (SP2) a stateful IPv6 firewall into the base system firewall, called just Windows Firewall.

up

Tunnelling IPv4/IPv6

Configured tunnels

Windows XP supports configured tunnels with the integrated tunnel interface. Setting up a manual tunnel requires several steps on the command line.

Beforehand, you need the following information:

$host-ipv4
IPv4-address of the host
$router-ipv4
IPv4-address of the router/tunnel-server
$tunnel-v6host
(Tunnel) IPv6-address of the host
$tunnel-v6router
(Tunnel) IPv6-address of the router

Create the tunnel interface: netsh interface ipv6 add v6v4tunnel "tunnel name" $host-ipv4 $router-ipv4 Add IPv6 address: netsh interface ipv6 add address "tunnel name" $tunnel-v6host Put IPv6 default route on the tunnel router: netsh interface ipv6 add route ::/0 "tunnel name" $tunnel-v6router

6to4

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

In our tests, the configuration of the public 6to4 anycast address was necessary: netsh interface ipv6 6to4 set relay 192.88.99.1

Other tunnels

As per the documentation, Windows XP SP2 supports several other tunnelling mechanisms:1

up

DHCPv6

Windows XP does not integrate any DHCPv6 functionality. DHCPv6 support in Windows XP (server, relay and client) can be obtained through external packages (see DHCPv6 software overview for comparison):

In our tests Dibbler was used successfully as DHCPv6 client in both stateful and stateless mode. It received several types of additional addresses and DNS information, which then were used by the network stack. (See the above referenced Dibbler DHCPv6 page for more information and configuration hints.)

up

PPPv6

PPPv6 is not supported in Windows XP, as stated in the official documenation. No PPPv6 support was (covertly) added with any of the service packs. Maybe third-party vendors (will) offer PPPv6 software for Windows XP in the future, if a market arises through more widespread IPv6 dial-up adaption.

up

Supported IPv6 RFCs & IDs

Table 1: Windows XP IPv6 RFCs and IDs2
Document Title
RFC 1752 The recommendation for the IP next generation protocol
RFC 1828 IP authentication using keyed MD5
RFC 1886 DNS extensions to support IP version 6
RFC 1981 Path MTU discovery for IP version 6
RFC 1993 Transition mechanisms for IPv6 hosts and routers
RFC 2185 Routing aspects of IPv6 transition
RFC 2401 Security architecture for the Internet protocol
RFC 2402 IP authentication header
RFC 2403 The use of HMAC-MD5-96 within ESP and AH (implemented for AH only)
RFC 2404 The use of HMAC-SHA-1-96 within ESP and AH (implemented for AH only)
RFC 2406 IP encapsulating security payload (ESP)
RFC 2428 FTP extensions for IPv6 and NATs
RFC 2460 Internet protocol, version 6 (IPv6) specification
RFC 2461 Neighbor discovery for IP version 6 (IPv6)
RFC 2462 IPv6 stateless address autoconfiguration
RFC 2463 Internet Control Message Protocol (ICMPv6) for the Internet protocol version 6 (IPv6) specification
RFC 2464 Transmission of IPv6 packets over Ethernet networks
RFC 2465 Management Information Base for IP Version 6: Textual Conventions and General Group
RFC 2467 Transmission of IPv6 packets over FDDI networks
RFC 2526 Reserved IPv6 subnet anycast addresses
RFC 2529 Transmission of IPv6 over IPv4 domains without explicit tunnels {\it 6over4}
RFC 2710 Multicast listener discovery (MLD) for IPv6 (implemented for host only)
RFC 2711 IPv6 router alert option (implemented for host only)
RFC 2893 Automatic and configured tunnels
RFC 3041 Privacy extensions for stateless address autoconfiguration in IPv6
RFC 3056 Connection of IPv6 domains via IPv4 clouds (6to4)
RFC 3484 Default Address Selection for Internet Protocol version 6 (IPv6)
RFC 3493 Basic socket interface extensions for IPv6
RFC 3513 IP version 6 addressing architecture
RFC 3587 An IPv6 aggregatable global unicast address format
RFC 4007 IP version 6 scoped address architecture
RFC 4113 Management Information Base for the User Datagram Protocol (UDP)
RFC 4193 Unique Local IPv6 Unicast Addresses
RFC 4214 Intra-site Automatic Tunnel Addressing Protocol (ISATAP)
ID (N/A) An extension of format for IPv6 scoped addresses
ID (N/A) IP version 6 addressing architecture
ID (N/A) Mobility support in IPv6 (correspondent node only)
ID (N/A) Routing of scoped addresses in the Internet protocol version 6 (IPv6)
ID (N/A) Site prefixes in neighbor discovery
ID (N/A) The UDP lite protocol
ID (N/A) Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6)
ID (N/A) Teredo tunnelling
ID (N/A) Default Router Preferences and More-Specific Routes

up

References

  1. Microsoft TechNet: IPv6 Transition Technologies (Microsoft Corp.: October 2005. Accessed 23.10.2006)
  2. Microsoft TechNet: IPv6: Request for Comments and Internet Drafts (Microsoft Corp.: November 2005. Accessed 23.9.2006)

up