Microsoft released the first research IPv6 stack in 1998. It runs on Windows NT 4.0 and Windows 2000. Since Windows XP with Service Pack 1, a fully functional and productive IPv6 stack is implemented. The .NET and Windows 2003 Server Family also come with good IPv6 support. The research stack on Windows NT and Windows 2000 will never reach production status; there is no further development. Other IPv6-capable platforms are Windows CE, Windows XP Embedded, and Windows Mobile for SmartPhones.
12.5.1. Windows .NET Server 2003
The IPv6 protocol for the Windows .NET 2003 Server Family in the current version includes the following features:
The Basic IPv6 Support also includes Mobility Support for correspondent nodes. In DNS, you can add AAAA Records, send DNS requests over IPv6, or use the dynamic DNS registering function, which gives you the possibility to resolve hosts with dynamic IPv6 addresses.
The following utilities and components come with IPv6 Support: Internet Explorer, FTP Client, Telnet Client, Internet Information Services (IIS) Version 6, file and print sharing (CIFS, SMB), Windows Media Services, Network Monitor, and SNMP MIB Support.
The configuration of the IPv6 Stack is usually done via netsh, a console command. Here are some examples:
12.5.2. Windows XP
Microsoft Windows XP (prior to SP1) included a developer-release version of the IPv6 protocol. Microsoft Windows XP SP1 includes a production-quality version of the IPv6 protocol. In order to use IPv6 on Windows XP with full functionality, you have to install the Advanced Networking Pack in addition to SP1. With Service Pack 2, the Advanced Networking Pack isn't required anymore, because it's already included.
The IPv6 stack for Windows XP in the current version (SP2) includes the following features:
The IPv6 protocol for all versions of Windows XP does not include IPv6 support for file and print sharing or IPv6 support for the WinInet, IPHelper, and DCOM APIs. The Windows XP DNS resolver can request AAAA records but only communicates over IPv4.
18.104.22.168. Installation and configuration
To install IPv6 on Windows XP, simply open a command prompt and enter ipv6 install. If you want to verify that IPv6 is installed on an XP host, type netsh interface ipv6 show interface at the command line. You may also use ipconfig /all to display interface information. Alternatively, since SP2 you can install IPv6 via the GUI, where you configure other interfaces or protocols; IPv6 appears in the list of available protocols to be installed and, after installation, shows up in the list of installed protocols.
The netsh command can be used to configure IPv6. It is designed to replace ipv6.exe, the utility that was included in the Windows NT IPv6 research stack. ipv6.exe is indeed still integrated in Windows XP, but it should not be used anymore. Like ipv6.exe, netsh can be used to change or view your network configuration or to display all sorts of statistics. Interesting for network administration is the scripting possibility in netsh, which allows you to run a set of commands in batch mode to automate your network setup. netsh runs only on the command line. For each task, a special context has to be specified to use or analyze functions in it. It can be compared to specifying the actual directory path for file access, e.g., c:\windows\system32. Use help to show a list of subcontexts and commands of the actual context. Available contexts and commands depend on installed network components. Figure 12-4 shows the output of the help command in the IPv6 context.
Figure 12-4. The netsh command
In the command prompt, enter netsh to start the utility. Now change to the desired context. You can do that step-by-step by first entering interface to change the context to interface; after that, enter ipv6. You can also change directly to the desired context by entering interface ipv6. Use help to show context-specific commands. By the way, analogous to the filesystem, you can use .. to change to the parent context.
Figure 12-5 shows the output of two options that might be helpful when troubleshooting.
Figure 12-5. Using netsh for IP and interface information
The show global command shows the standard configuration parameters; show interface lists all interfaces and their options, such as MTU size, connection name, etc., as well as pseudointerfaces (Teredo, 6to4, ISATAP).
Besides netsh, there are a set of IPv6 tools such as ipv6.exe, ping6.exe, tracert6.exe, ipsec6.exe. I do not discuss them in detail here, because the online documentation in Windows XP is well done and shows all possible options for every command. On the command prompt, you can also enter any command with the /? parameter. This lists all options available for the command. More great information can be found by searching for "IPv6" in Windows XP help. There you get any relevant information, such as an overview of IPv6 utilities and configuration possibilities regarding netsh. The help topics include detailed manuals about the different transition mechanisms such as Teredo, ISATAP, and 6to4. By default, all mechanisms are enabled as soon as the IPv6 stack is activated.
12.5.3. Microsoft's Roadmap
Microsoft plans to continue to deliver significant enhancements to IPv6 in future releases of their products. The next release of the Windows operating system, named Windows Vista, and Windows Server "Longhorn" will both natively support IPv6. A single networking stack for both protocols, IPv4 and IPv6, will replace the current dual-stack architecture. IPv6 will be installed and enabled by default and will be the preferred protocol. The entire suite of networking services, including DNS, DHCP, Point-to-Point Protocol (PPP), and Internet Protocol security (IPsec), will be IPv6-capable.
Microsoft is also currently conducting Technology Previews for Mobile IPv6 and Teredo Server Relay. Additionally, they are working on delivering IPv6 support in their enterprise applications and services along with Longhorn. Products such as SQL Server, Microsoft Office, and others will have IPv6 support in the Longhorn time frame.