This FAQ answers commonly asked questions about the IPv6 protocol for the Microsoft Windows family of operating systems. Click a question to view its answer. To view all the answers at one time, click Expand all. |
| A. | For an in-depth discussion of IPv6 concepts and protocols, see the
Understanding IPv6, Third Edition book from Microsoft Press. For additional information about IPv6 in Microsoft Windows, see the
Microsoft IPv6 TechNet webpage. |
| A. | Yes. You can access IPv6 online help through the table of contents, the index, or the full text search of Windows 7, Windows Server 2008 R2, Windows Vista, or Windows Server 2008 Help and Support. IPv6 online help can contain information on IPv6 concepts, features, procedures, configurations, and troubleshooting. To access IPv6 help content in Windows 7 or Windows Vista, click Start, click Help and Support, type IPv6, and then press ENTER. |
| A. | Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Vista, and Windows Server 2008 provide an IPv6 protocol stack and system-side IPv6 support for built-in applications and system services. The IPv6 protocol stack in these versions of Windows is an integrated IPv4 and IPv6 implementation known as the Next Generation TCP/IP stack. For more information, see
Next Generation TCP/IP Stack in Windows VistaandWindows Server 2008. Microsoft also provides a supported IPv6 protocol stack for Windows Server 2003, Windows XP with Service Pack 1 (SP1) or later, and Windows CE .NET 4.1 or later. However, these operating systems have very limited IPv6 support for built-in applications and system services and are not recommended for an IPv6 deployment. |
| A. | No. Microsoft has no plans to provide supported IPv6 protocol implementations for Windows 2000, Windows 98, and older versions of Windows. |
| A. | It is unfortunate that some organizations disable IPv6 on their computers running Windows 7, Windows Vista, Windows Server 2008 R2, or Windows Server 2008, where it is installed and enabled by default. Many disable IPv6-based on the assumption that they are not running any applications or services that use it. Others might disable it because of a misperception that having both IPv4 and IPv6 enabled effectively doubles their DNS and Web traffic. This is not true. From Microsoft's perspective, IPv6 is a mandatory part of the Windows operating system and it is enabled and included in standard Windows service and application testing during the operating system development process. Because Windows was designed specifically with IPv6 present, Microsoft does not perform any testing to determine the effects of disabling IPv6. If IPv6 is disabled on Windows 7, Windows Vista, Windows Server 2008 R2, or Windows Server 2008, or later versions, some components will not function. Moreover, applications that you might not think are using IPv6—such as Remote Assistance, HomeGroup, DirectAccess, and Windows Mail—could be. Therefore, Microsoft recommends that you leave IPv6 enabled, even if you do not have an IPv6-enabled network, either native or tunneled. By leaving IPv6 enabled, you do not disable IPv6-only applications and services (for example, HomeGroup in Windows 7 and DirectAccess in Windows 7 and Windows Server 2008 R2 are IPv6-only) and your hosts can take advantage of IPv6-enhanced connectivity. |
| A. | The changes to IPv6 in Windows 8 and Windows Server 2012 are the following:
For detailed information, see
IPv6 - Technology Overview. |
| A. | The changes to IPv6 in Windows 7 and Windows Server 2008 R2 are the following:
For detailed information, see
Support for IPv6 in Windows Server 2008 R2 and Windows 7. |
| A. | The changes to IPv6 in Windows Vista and Windows Server 2008 are the following:
For detailed information, see
Changes to IPv6 in Windows Vista and Windows Server 2008. |
| A. | Unlike Windows XP and Windows Server 2003, IPv6 in Windows Vista and Windows Server 2008 cannot be uninstalled. However, you can disable IPv6 in Windows Vista and Windows Server 2008 by doing one of the following:
|
| A. | The IPv6 protocol for these versions of Windows is installed and enabled by default. It appears as the Internet Protocol Version 6 (TCP/IP) component on the Configure tab when you obtain the properties of a connection or adapter in the Network Connections folder (available from the Network and Sharing Center). |
| A. | To install the IPv6 protocol for Windows Server 2003, perform the following steps:
Alternately, from the Windows Server 2003 desktop, click Start, point to Programs, point to Accessories, and then click Command Prompt. At the command prompt, type netsh interface ipv6 install. |
| A. | To install the IPv6 protocol for Windows XP with SP2 or later, do the following:
Alternately, from the Windows XP desktop, click Start, point to Programs, point to Accessories, and then click Command Prompt. At the command prompt, type netsh interface ipv6 install.
Alternately, from the Windows XP desktop, click Start, point to Programs, point to Accessories, and then click Command Prompt. At the command prompt, type netsh interface ipv6 install.
Regardless of the version of Windows XP, to use RPC applications over IPv6, you must first restart the computer. |
| A. | The installation of the IPv6 Protocol for Windows XP with no service packs installed does not use the standard procedure for protocol installation in the Network Connections folder. Therefore, it is not visible as an installed protocol. To determine whether IPv6 is installed, type ipv6 if at a command prompt. If IPv6 is installed, you will see a display of your IPv6 interfaces and their configuration. Otherwise, the Ipv6.exe tool will indicate that IPv6 is not installed. |
| A. | For the IPv6 protocol for Windows XP with SP1 or later or Windows Server 2003, do the following:
Alternately, from the Windows XP or Windows Server 2003 desktop, click Start, point to Programs, point to Accessories, and then click Command Prompt. At the command prompt, type netsh interface ipv6 uninstall.
Unlike Windows XP and Windows Server 2003, IPv6 in Windows Vista and Windows Server 2008 cannot be uninstalled. However, you can disable IPv6 in Windows Vista and Windows Server 2008 by doing one of the following:
|
| A. | By default, IPv6 configures link-local IPv6 addresses for each IPv6 interface. Link-local addresses have the prefix FE80::/64. Additional global or unique local addresses might also be configured depending on whether you have routers that are sending Router Advertisement messages.
You can also use the netsh interface ipv6 show address command to view your IPv6 addresses. Here is an example:
For more information about IPv6 configuration, see
Using Windows Tools to Obtain IPv6 Configuration Information. |
| A. | There are three types of unicast IPv6 addresses.
Link-local addresses are automatically configured for each interface. Global and unique local addresses are automatically configured based on the receipt of a Router Advertisement (RA) message that contains Prefix Information options. IPv6 routers send RA messages. |
| A. | The link-local address is a combination of the link local prefix FE80::/64 and a 64-bit IPv6 interface identifier (ID). In Windows XP and Windows Server 2003, the IPv6 interface ID is derived from the Extended Unique Identifier (EUI)-64 address. The EUI-64 address is either assigned to a network adapter or derived from the 48-bit media access control (MAC) address of a network adapter. To create the EUI-64 address from the 48-bit (6-byte) Ethernet MAC address, the hex digits 0xff-fe are inserted between the third and fourth bytes of the Ethernet MAC address. For example, for the MAC address 00-60-08-52-f9-d8, the hex digits 0xff-fe are inserted between 0x08 (the third byte) and 0x52 (the fourth byte) of the MAC address, forming the EUI-64 address 00-60-08-ff-fe-52-f9-d8. To obtain an IPv6 interface identifier from an EUI-64 address, the Universal/Local bit, the second low-order bit of the first byte of the EUI-64 address, is complemented (if it is a 1, it is turned to 0, and if it is a 0, it is turned to 1). For example, for the EUI-64 address of 00-60-08-ff-fe-52-f9-d8, the second low-order bit of 0x00 is 0, which, when complemented, becomes a 1. The result is that for the first byte, 0x00 becomes 0x02. Therefore, the IPv6 interface identifier corresponding to the EUI-64 address of 00-60-08-ff-fe-52-f9-d8 (corresponding to the Ethernet media access control address of 00-60-08-52-f9-d8) is 02-60-08-ff-fe-52-f9-d8. Because the link-local address is the combination of the prefix FE80::/64 and the 64-bit interface identifier expressed in IPv6 colon-hexadecimal notation, the link-local address of this example node, with the prefix FE80::/64 and the interface identifier 02-60-08-ff-fe-52-f9-d8, is fe80::260:8ff:fe52:f9d8. In later versions of Windows, the interface ID by default is randomly derived, rather than based on the EUI-64 address. You can disable random interface IDs with the netsh interface ipv6 set global randomizeidentifiers=disabled command or enable random interface IDs with the netsh interface ipv6 set global randomizeidentifiers=enabled command |
| A. | When you type the netsh interface ipv6 show interface command for Windows Server 2003, Windows XP with SP2, or Windows XP with SP1, you see a list of all of the IPv6 interfaces:
With the exception of the Loopback Pseudo-Interface, your interfaces might be different. The link-local address of a LAN interface uses the IPv6 interface identifier derived from the Ethernet MAC address, as described in the "How is the link-local address derived?" question in this article. |
| A. | IPv6 in Windows XP and Windows Server 2003 uses the "Automatic Tunneling Pseudo-Interface" for encapsulating IPv6 packets with an IPv4 header so that they can be sent across an IPv4 network. By default, IPv6 configures a link-local Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) address on the Automatic Tunneling Pseudo-Interface. The link-local ISATAP address has the form fe80::200:5efe:w.x.y.x or fe80::5efe:w.x.y.x, in which w.x.y.x is an IPv4 address assigned to the computer. |
| A. | For most hosts, you do not need to manually configure IPv6 addresses. In addition to auto-configuring link-local addresses for all Ethernet interfaces, the IPv6 protocol for Windows participates in router discovery to discover the presence of local IPv6 or ISATAP routers and autoconfigure additional IPv6 addresses. Router discovery requires a properly configured IPv6 router on your network segment or an ISATAP router. Without an IPv6 or ISATAP router, you can manually configure additional IPv6 addresses on interfaces using the netsh interface ipv6 add address command on computers running Windows. This command allows you to specify the interface, the address, the preferred and valid lifetimes, and whether the address is unicast or anycast. Manually configured addresses must be reachable to communicate with other IPv6 nodes. For more information and examples, see Manual Configuration for IPv6. |
| A. | To enable IPv6 routing, you must use the netsh interface ipv6 set interface command to enable forwarding and advertising on the appropriate interfaces, and then use the netsh interface ipv6 add routes command to configure subnet prefixes to publish. To have an IPv6 router running Windows advertise itself as a default router, you must configure a default route and publish it. For more information and examples, see Manual Configuration for IPv6. |
| A. | Link-local addresses can be reused. Link-local addresses are reused on each link. Because of this address reuse capability, link-local addresses are ambiguous. To specify which link on which the destination is located or within which site the destination is located, an additional identifier is needed. This additional identifier is a zone identifier (ID), also known as a scope ID, which identifies a connected portion of a network that has a specified scope. The syntax specified in RFC 4007 for identifying the zone associated with a link-local address is Address%zone_ID in which Address is a link-local address and zone_ID is an integer value representing the zone. The values of the zone ID are defined relative to the sending host. Therefore, different hosts might determine different zone ID values for the same physical zone. For example, Host A might choose 3 to represent the zone of an attached link and host B might choose 4 to represent the same link. |
| A. | The IPv6 protocol for Windows Server 2003 and Windows XP with SP1 or later includes an IPv6-capable Ping.exe tool. The new Ping sends ICMPv6 Echo Request messages to the specified destination and displays round-trip time statistics on the corresponding Echo Reply messages. To ping using an IPv6 address, the Ping.exe syntax is the following: ping IPv6Address [%ZoneID] The ZoneID option specifies the scope or zone of the destination for the ICMPv6 Echo Request messages. For link-local addresses, the zone identifier (ID) is typically equal to the interface index, as displayed in the output of the netsh interface ipv6 show interface command. For site-local addresses, the zone ID is equal to the site number, as displayed in the output of the netsh interface ipv6 show interface level=verbose command. If multiple sites are not being used, a zone ID for site-local addresses is not required. You can also obtain the zone ID from the display of the Ipconfig command. The number after the "%" character in the display of an address indicates the zone ID. The zone ID is not needed when the destination is a global address. For example, to send Echo Request messages to the link-local address FE80::260:97FF:FE02:6EA5 using zone ID 4 (the interface index of an installed Ethernet adapter), use the following command: ping fe80::260:97ff:fe02:6ea5%4Because the zone ID is locally defined, the zone ID of the sending host may not be the same as the zone ID of the destination host for the same zone. For example, for Host A and Host B connected the same link, Host A's zone ID for the link is 4 and Host B's zone ID for the link is 3. When Host A pings Host B, the zone ID used in the ping command is 4. When Host B pings Host A, the zone ID used in the ping command is 3. |
| A. | No. There is no mechanism to indicate the zone ID for an IPv6 address in an entry in the Hosts file. Therefore, you should not have entries in the Hosts file for link-local addresses. You should use the Hosts file only for site-local addresses (if you are only using one site) or global addresses. |
| A. | You can send IPv6 traffic over the IPv4 portion of the Internet by using the 6to4 or Teredo transition technologies. For more information about 6to4 and Teredo, see the
IPv6 Transition Technologies white paper. |
| A. | Without an IPv6 router, you can send traffic between two hosts on the same subnet (or link) using their link-local addresses. To send IPv4-encapsulated IPv6 traffic between hosts on different subnets over an existing IPv4 routing infrastructure, you can use the Intra-Site Automatic Tunnel Addressing Protocol (ISATAP). For more information, see the IPv6 Transition Technologies white paper. |
| A. | To reach the IPv6 Internet from behind a network address translator (NAT) using the Teredo client included with Windows, there must be an operational Teredo relay attached to the IPv4 and IPv6 Internets. At this time, Microsoft is not providing any operational Teredo relays for reachability to locations on the IPv6 Internet for Windows-based Teredo clients. |
| A. | To create an IPv6 reverse lookup zone, do the following:
|
| A. | Yes. The IPv6 protocol for Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Vista, and Windows Server 2008 has full support for IPsec.
|
| A. | The IPv6 protocol for Windows XP and Windows Server 2003 provides correspondent node support as described in version 13 of the Internet draft titled "Mobility Support in IPv6" (now RFC 6275). The IPv6 protocol for Windows does not provide support mobile node or home agent support. By default, the correspondent node functionality is disabled and binding updates are required to use the IPsec Authentication Header (AH) for authentication. To enable the correspondent node functionality, use the netsh interface ipv6 set mobility correspondentnode=enabled command. The IPv6 protocol for Windows 8, Windows Server 2012, Windows 7, Windows Vista, Windows Server 2008 R2, and Windows Server 2008 does not support Mobile IPv6. For more information about Mobile IPv6, see Introduction to Mobile IPv6. |
| A. | Windows includes an IPv6-enabled version of the Ping.exe tool. When you ping a link-local address with the Ping.exe tools, you might need to include a zone identifier (ID), which specifies the interface over which the ICMPv6 Echo Request messages are sent. For link-local addresses, the zone ID is typically equal to the interface index, as displayed in the output of the netsh interface ipv6 show interface command. The zone ID is not needed when the destination is a global address. For example, to send ICMPv6 Echo Request messages to the link-local address fe80::260:97ff:fe02:6ea5 using zone ID 4 (the interface index of an installed Ethernet adapter), use the following command: ping fe80::260:97ff:fe02:6ea5%4 |
| A. | Yes. The IPv6 protocol for Windows supports DNS in the following ways:
For more information about IPv6 support in the DNS Server service of Windows Server 2008, see
DNS Enhancements in Windows Server 2008. |
| A. | The Internet extensions DLL, Wininet.dll, enables Web browsers to access IPv6-enabled Web servers. For example, Wininet.dll is used by Microsoft Internet Explorer to make connections with a Web server to view Web pages. Internet Explorer uses IPv6 to download Web pages when the Domain Name System (DNS) query (or Hosts file) for the name of the Web server in the URL returns an IPv6 address. You can then connect to names that resolve only to IPv6. To verify that the DNS query returns IPv6 addresses, try to ping the Web server domain name using the Ping.exe tool. URLs that use the format for literal IPv6 addresses described in RFC 3896 are not supported by the version of Internet Explorer provided with Windows Server 2003 or Windows XP. For applications other than Internet Explorer, connect using a literal IPv6 address. Internet Explorer in Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Vista, and Windows Server 2008 supports URLs that use the format for literal IPv6 addresses, as described in RFC 3896. Note: Internet Explorer cannot browse IPv6 Web sites if it is configured to use a proxy server. When Internet Explorer is configured to use a proxy server, all name resolution requests for Web sites are forwarded to the proxy server. Until the proxy server is IPv6-enabled, proxy-based requests for local or remote IPv6 Web pages are unsuccessful. For information about how to configure Internet Explorer to operate without the use of a proxy server, see Internet Explorer Help. |
| A. | The DNS server does not support AAAA (IPv6 address) resource records and incorrectly responds with an authoritative response that returns NXDOMAIN or NAME_ERROR (Response Code, or RCODE, 3). For more information, see
Microsoft Knowledge Base Article - 815768. |
| A. | Windows 8, Windows Server 2012, Windows 7, and Windows Server 2008 R2 include full support for operation over IPv6 in all of its included networking applications and services. Windows Server 2008 includes full support for operation over IPv6 in all of its included networking applications and services, except for the File Transfer Protocol (FTP) Publishing service and the Simple Mail Transfer Protocol (SMTP) Server service in Internet Information Services (IIS). The SMTP feature of Microsoft Exchange Server 2007 with Service Pack 1 includes an IPv6-capable SMTP service. Windows Vista includes full support for operation over IPv6 in all of its included networking applications and services, except for the File Transfer Protocol (FTP) Publishing service in Internet Information Services (IIS).
Windows XP does not include IPv6 support for file and printer sharing or the IPHelper or DCOM APIs. |
| A. | The IPv6 protocol for Windows XP with no service packs installed was provided as a developer preview. The IPv6 protocol for Windows Server 2003, Windows XP with SP1, and Windows XP with SP2 is a production-capable and supported protocol.
Windows Server 2003 Service Pack 1 or later and Windows XP SP2 or later includes support for Teredo and the Windows Firewall. |
| A. | URLs that use the format for literal IPv6 addresses described in RFC 3896 are not supported by the Internet extensions DLL, Wininet.dll, provided with Windows XP and Windows Server 2003. Wininet.dll does support IPv6 to access Web services when name resolution for the name of the Web server in the URL returns an IPv6 address. Internet Explorer and Wininet.dll in Windows 8, Windows Server 2012, Windows 7, Windows Vista, Windows Server 2008 R2, and Windows Server 2008 support URLs that use the format for literal IPv6 addresses, as described in RFC 3896. Note: Internet Explorer cannot browse IPv6 Web sites if it is configured to use a proxy server. When Internet Explorer is configured to use a proxy server, all name resolution requests for Web sites are forwarded to the proxy server. Until the proxy server is IPv6-enabled, proxy-based requests for local or remote IPv6 Web pages are unsuccessful. For information about how to configure Internet Explorer to operate without the use of a proxy server, see Internet Explorer Help. |
| A. | To capture IPv6 packets, use any software- or hardware-based protocol analyzer (also known as a network sniffer) that parses IPv6 headers. For example, you can use the version of Network Monitor included with Windows Server 2003 or
Network Monitor 3.1 or later.
|
| A. | Changes to existing Sockets functions are documented in Request for Comments (RFC) 3493, "Basic Socket Interface Extensions for IPv6." For the details of Windows Sockets support in the IPv6 protocol for Windows Server, see the
IPv6 Guide for Windows Sockets Applications. |
| A. | For Winsock IPv6 application development, you will need the following:?
|
| A. | The Windows Platform SDK includes a tool called Checkv4.exe. Checkv4.exe scans source code files to identify code that needs to be changed to support IPv6. Checkv4 displays the line number and a message recommending how the code should be changed. Here is an example of Checkv4.exe output:
For more information, see
Using the Checkv4.exe Utility. |
| A. | This version of the IPv6 protocol for Windows features dynamic linking support that allows IPv6/IPv4 applications to still run on platforms that do not support IPv6. The dynamic linking support is enabled by default and contained in the file Wspiapi.h in the Platform SDK. You should not include this file in your project directly. In future versions of Windows, you may choose to save space in your IPv6-enabled applications and eliminate additional OS support by having _WIN32_WINNT defined larger than 0x0500. For more information on the _WIN32_WINNT macro, consult your Platform SDK documentation. |