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, select the View all answers check box.
| Information about IPv6 | |
| IPv6 in Windows Vista and Windows Server 2008 | |
| Installation, Configuration, and Use | |
| IPv6 Features | |
| IPv6 Application Development |
| Q. | Where can I get information on basic IPv6 concepts? |
| A. | For a first look at IPv6 concepts, see Help and Support for Windows Vista, Windows Server 2008, Windows XP, or Windows Server 2003. For an in-depth discussion of IPv6 concepts and protocols, see the Introduction to IPv6 white paper or the Introduction to IPv6 Webcast. For additional information about IPv6 in Microsoft Windows, see the Microsoft Windows IPv6 Web site. |
| Q. | Where can I get information about the advantages of using IPv6? |
| A. | See the Development and Deployment of IPv6: Good for Internet, Technology article. |
| Q. | Is there online help for the IPv6 protocol for Windows? |
| A. | Yes. You can access IPv6 online help through the table of contents, the index, or the full text search of Windows Vista, Windows Server 2008, or Windows XP Help and Support. IPv6 online help contains extensive information on IPv6 concepts, features, procedures, configurations, and troubleshooting. To access IPv6 help content in Windows Vista, click Start, click Help and Support, type IPv6, and then press ENTER. |
| Q. | What versions of Windows provide support for IPv6? |
| A. | Windows Vista and Windows Server 2008 support 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 Vista and Windows Server 2008. Microsoft provides supported IPv6 implementations for Windows Server 2003, Windows XP with Service Pack 1 (SP1) or later, and Windows CE .NET 4.1 or later. |
| Q. | Is IPv6 supported in Windows 2000 or Windows 98? |
| A. | No. Microsoft has no plans to provide supported IPv6 protocol implementations for Windows 2000, Windows 98, and older versions of Windows. |
| Q. | What is new about IPv6 support in Windows Vista and Windows Server 2008? | ||||||||||||||||||||||
| 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. | ||||||||||||||||||||||
| Q. | How do I disable 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:
For additional information about the DisabledComponents registry value, see Configuring IPv6 with Windows Vista. If you disable IPv6, you will not be able to use Windows Meeting Space or any application that relies on the Windows Peer-to-Peer Networking platform or the Teredo transition technology. | ||||||||||||||||||||||
| Q. | If Windows Vista and Windows Server 2008 have IPv6 enabled by default, what is the impact to the Domain Name System (DNS)? | ||||||||||||||||||||||
| A. | For a detailed answer, see Domain Name System Client Behavior in Windows Vista. | ||||||||||||||||||||||
| Q. | How do I install the IPv6 protocol for Windows Vista or Windows Server 2008? | ||||||||||||||||||||||||||||||||||
| A. | The IPv6 protocol for Windows Vista and Windows Server 2008 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). | ||||||||||||||||||||||||||||||||||
| Q. | How do I install the IPv6 protocol for Windows Server 2003? | ||||||||||||||||||||||||||||||||||
| 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. To use Remote Procedure Call (RPC) applications over IPv6, you must first restart the computer. | ||||||||||||||||||||||||||||||||||
| Q. | How do I install the IPv6 protocol for Windows XP? | ||||||||||||||||||||||||||||||||||
| 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. For the IPv6 protocol for Windows XP with SP1, 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. To install the IPv6 protocol for Windows XP with no service packs installed:
Regardless of the version of Windows XP, to use RPC applications over IPv6, you must first restart the computer. | ||||||||||||||||||||||||||||||||||
| Q. | How can I tell if the IPv6 protocol is installed for Windows XP with no service packs installed? It does not appear in the list of protocols in Network Connections. | ||||||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||||||
| Q. | Why does the IPv6 protocol for Windows XP with SP1 display as "Microsoft IPv6 Developer Edition"? | ||||||||||||||||||||||||||||||||||
| A. | Despite the displayed name, the IPv6 protocol for Windows XP with SP1 is a production-capable and supported protocol in the same way as the IPv6 protocol for Windows XP with SP2 and Windows Server 2003. Microsoft developers were unable to change the name of the protocol in Windows XP SP1 due to the impact of the change for localized versions of Windows XP. In Windows XP with SP2, the name of the IPv6 protocol has been changed to "Microsoft TCP/IP version 6." | ||||||||||||||||||||||||||||||||||
| Q. | How do I uninstall the IPv6 protocol for Windows XP with SP1 or later or Windows Server 2003? | ||||||||||||||||||||||||||||||||||
| 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. To remove the IPv6 protocol for Windows XP with no service packs installed, do the following:
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:
| ||||||||||||||||||||||||||||||||||
| Q. | What is my IPv6 address? | ||||||||||||||||||||||||||||||||||
| 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. For Windows Vista, Windows Server 2008, Windows Server 2003, Windows XP with SP2, and Windows XP with SP1, you can use the ipconfig command to view your IPv6 addresses. Here is an example:
c:\>ipconfig
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : wcoast.corp.example.com
IP Address. . . . . . . . . . . . : 157.54.139.57
Subnet Mask . . . . . . . . . . . : 255.255.252.0
IP Address. . . . . . . . . . . . : 2001:db8:8311:f282:1460:5260:c9b1:fda6
IP Address. . . . . . . . . . . . : 2001:db8:8311:f282:b973:4db8:97e2:e978
IP Address. . . . . . . . . . . . : 2001:db8:8311:f282:200:39ff:fe0e:fc35
IP Address. . . . . . . . . . . . : fec0::f282:200:39ff:fe0e:fc35%1
IP Address. . . . . . . . . . . . : fe80::200:39ff:fe0e:fc35%4
Default Gateway . . . . . . . . . : 157.54.136.1
fe80::210:ffff:fed6:58c0%4
Tunnel adapter 6to4 Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . : wcoast.corp.example.com
IP Address. . . . . . . . . . . . : 2002:9d3b:8b39::9d3b:8b39
Default Gateway . . . . . . . . . :
Tunnel adapter Automatic Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . : wcoast.corp.example.com
IP Address. . . . . . . . . . . . : fec0::f70f:0:5efe:157.54.139.57%1
IP Address. . . . . . . . . . . . : 2001:db8:8311:f70f:0:5efe:157.54.139.57
IP Address. . . . . . . . . . . . : fe80::5efe:157.54.139.57%2
Default Gateway . . . . . . . . . : fe80::5efe:157.56.253.8%2
For Windows Vista, Windows Server 2008, Windows Server 2003, Windows XP with SP2, and Windows XP with SP1, you can also use the netsh interface ipv6 show address command to view your IPv6 addresses. Here is an example: Interface 4: Ethernet Addr Type DAD State Valid Life Pref. Life Address --------- ---------- ---------- ---------- ----------------------------------- Anonymous Preferred 596758 78191 2001:db8:8311:f282:1460:5260:c9b1:fda6 Anonymous Deprecated 510530 0 2001:db8:8311:f282:b973:4db8:97e2:e978 Public Preferred 2591874 604674 2001:db8:8311:f282:200:39ff:fe0e:fc35 Public Preferred 2591874 604674 fec0::f282:200:39ff:fe0e:fc35 Link Preferred 4294967295 4294967295 fe80::200:39ff:fe0e:fc35 Interface 3: 6to4 Tunneling Pseudo-Interface Addr Type DAD State Valid Life Pref. Life Address --------- ---------- ---------- ---------- ----------------------------------- Other Preferred 4294967295 4294967295 2002:9d3b:8b39::9d3b:8b39 Interface 2: Automatic Tunneling Pseudo-Interface Addr Type DAD State Valid Life Pref. Life Address --------- ---------- ---------- ---------- ----------------------------------- Public Preferred 2591700 604500 fec0::f70f:0:5efe:157.54.139.57 Public Preferred 2591700 604500 2001:db8:8311:f70f:0:5efe:157.54.139.57 Link Preferred 4294967295 4294967295 fe80::5efe:157.54.139.57 Interface 1: Loopback Pseudo-Interface Addr Type DAD State Valid Life Pref. Life Address --------- ---------- ---------- ---------- ----------------------------------- Loopback Preferred 4294967295 4294967295 ::1 Link Preferred 4294967295 4294967295 fe80::1 For more information about IPv6 configuration, see Using Windows Tools to Obtain IPv6 Configuration Information. | ||||||||||||||||||||||||||||||||||
| Q. | How are IPv6 addresses determined? | ||||||||||||||||||||||||||||||||||
| A. | There are four types of unicast IPv6 addresses.
Link-local addresses are automatically configured for each interface. Global, site-local, and 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. For more information about IPv6 address autoconfiguration, see the Introduction to IPv6 white paper. | ||||||||||||||||||||||||||||||||||
| Q. | How is the link-local address derived? | ||||||||||||||||||||||||||||||||||
| 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 Windows Vista and Windows Server 2008, 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. | ||||||||||||||||||||||||||||||||||
| Q. | Why do I have multiple interfaces? | ||||||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||||||
| Q. | Why do I have an "Automatic Tunneling Pseudo-Interface" interface? | ||||||||||||||||||||||||||||||||||
| 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.xor fe80::5efe:w.x.y.x, in which w.x.y.x is an IPv4 address assigned to the computer. | ||||||||||||||||||||||||||||||||||
| Q. | How do I manually configure an IPv6 address? | ||||||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||||||
| Q. | How do I enable IPv6 routing? | ||||||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||||||
| Q. | What is the zone ID and why is it needed? | ||||||||||||||||||||||||||||||||||
| A. | Link-local and site-local addresses can be reused. Link-local addresses are reused on each link. Site-local addresses can be reused within each site of an organization. Because of this address reuse capability, link-local and site-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 or site-local address is Address%zone_ID in which Address is a link-local or site-local unicast IPv6 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. | ||||||||||||||||||||||||||||||||||
| Q. | Why can't I ping an address that begins with FE80? | ||||||||||||||||||||||||||||||||||
| 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%4 Because 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. | ||||||||||||||||||||||||||||||||||
| Q. | Do entries in the Hosts file recognize zone IDs? | ||||||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||||||
| Q. | I have scripts that contain Ipv6.exe commands. How do I change them to use the new Netsh commands? | ||||||||||||||||||||||||||||||||||
| A. | The Migrating IPv6.exe Commands to Netsh Commands Web page contains a list of the Ipv6.exe commands and their Netsh equivalents. | ||||||||||||||||||||||||||||||||||
| Q. | How do I send IPv6 traffic over the Internet? | ||||||||||||||||||||||||||||||||||
| A. | You can send IPv6 traffic over the IPv4 portion of the Internet by using the 6to4 or Teredo transition technologies. 6to4 is supported by all versions of Windows XP. Teredo is supported by Windows Server 2003 with Service Pack 1, Windows XP with SP2 or later, and Windows XP with SP1 and the Advanced Networking Pack for Windows XP. For more information about 6to4 and Teredo, see the IPv6 Transition Technologies white paper. | ||||||||||||||||||||||||||||||||||
| Q. | How do I send IPv6 traffic without an IPv6 router? | ||||||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||||||
| Q. | Why can't I reach locations on the IPv6 Internet using the Teredo client in Windows? | ||||||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||||||
| Q. | How do I configure IPv6 reverse lookups for the DNS Server service in Windows Server 2003? | ||||||||||||||||||||||||||||||||||
| A. | To create an IPv6 reverse lookup zone, do the following:
In the console tree, you should see the new zone listed. IPv6-based Windows DNS clients do not register their IPv6 reverse lookup records with DNS dynamic update. To manually add an IPv6 pointer (PTR) record, do the following:
| ||||||||||||||||||||||||||||||||||
| Q. | Does the IPv6 protocol for Windows support Internet Protocol security (IPsec)? | ||||||||||||
| A. | IPsec for the IPv6 protocol for Windows Vista and Windows Server 2008 has full support for IPsec. IPsec for the IPv6 protocol for Windows Server 2003 and Windows XP is supported, with the following limitations:
| ||||||||||||
| Q. | Does the IPv6 protocol for Windows support Mobile IPv6? | ||||||||||||
| 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 3775). 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 Vista and Windows Server 2008 does not support Mobile IPv6. For more information about Mobile IPv6, see Introduction to Mobile IPv6. | ||||||||||||
| Q. | What is the Mobile IPv6 Technology Preview? | ||||||||||||
| A. | The Mobile IPv6 Technology Preview was developed by Microsoft Research and supports full RFC 3775-compliant correspondent node, mobile node, and home agent functionality for computers running various versions of Windows. However, the Mobile IPv6 Technology Preview is not currently available. Microsoft will consider making a version of Mobile IPv6 available for use in the future if there is sufficient customer demand. | ||||||||||||
| Q. | How do I ping? | ||||||||||||
| A. | Windows Vista, Windows Server 2008, Windows XP with SP1 or later, and Windows Server 2003 include an IPv6-enabled version of the Ping.exe tool. When you ping a link-local address with the Ping.exe tools, you must 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 or 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. 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 | ||||||||||||
| Q. | Does the IPv6 protocol for Windows support the Domain Name System (DNS)? | ||||||||||||
| A. | Yes. The IPv6 protocol for Windows supports DNS in the following ways:
For more information of IPv6 support in the DNS Server service of Windows Server 2008, see DNS Enhancements in Windows Server 2008. | ||||||||||||
| Q. | How can I force my Web browser to use IPv6? | ||||||||||||
| A. | The new 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 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. | ||||||||||||
| Q. | Why can't applications, such as Microsoft Internet Explorer, resolve domain names to IPv6 addresses for some DNS servers? | ||||||||||||
| 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. | ||||||||||||
| Q. | What tools, applications, components, and application programming interfaces (APIs) in Windows are IPv6-enabled? | ||||||||||||
| A. | 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 Server 2003 contains the following:
Windows XP does not include IPv6 support for file and printer sharing or the IPHelper or DCOM APIs. | ||||||||||||
| Q. | What are the differences between the IPv6 protocol for Windows Server 2003, Windows XP with Service Pack 2 (SP2), Windows XP with Service Pack 1 (SP1), and Windows XP with no service packs installed? | ||||||||||||
| 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. All versions of Windows XP do not include IPv6 support for file and print sharing or the IPHelper and DCOM APIs. All versions of Windows XP include the following tools that are not provided in Windows Server 2003:
Windows Server 2003 Service Pack 1 or later and Windows XP SP2 or later includes support for Teredo and the new Windows Firewall. | ||||||||||||
| Q. | Does Internet Explorer support uniform resource locators (URLs) with IPv6 string literals? | ||||||||||||
| 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 Vista 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. | ||||||||||||
| Q. | How can I capture and view IPv6 traffic? | ||||||||||||
| 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. To install the version of Microsoft Network Monitor included with Windows Server 2003, do the following:
| ||||||||||||
| Q. | Where are the changes to existing Sockets functions documented? | ||||||
| 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. | ||||||
| Q. | What tools are required for IPv6 application development? | ||||||
| A. | For Winsock IPv6 application development, you will need the following:
| ||||||
| Q. | How does my existing Windows Sockets for IPv4 code need to be modified to support IPv6? | ||||||
| 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: test.c(35) : gethostbyname : use getaddrinfo instead test.c(40) : gethostbyaddr : use getnameinfo instead test.c(48) : SOCKADDR_IN : use SOCKADDR_STORAGE instead, or use SOCKADDR_IN6 in addition for IPv6 support test.c(57) : AF_INET : use AF_INET6 in addition for IPv6 support test.c(89) : inet_addr : use WSAStringToAddress or getaddrinfo with AI_NUMERICHOST instead For more information, see Using the Checkv4.exe Utility. For detailed information about modifying your applications to work over both IPv4 and IPv6, see the IPv6 Guide for Windows Sockets Applications. | ||||||
| Q. | How can I make my IPv6/IPv4 application run on Windows 95 and above and Microsoft Windows NT version 4.0? Why is there no .LIB file in this release? What is Wspiapi.h, and how do I use it? | ||||||
| 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. | ||||||