Name resolution support for the IPv6 protocol for the Windows .NET Server 2003 family consists of the following:
Although DNS queries may result in records for both IPv4 and IPv6 addresses, all DNS traffic is sent as IPv4 packets.
Unlike the IPv4 protocol for the Windows .NET Server 2003 family, IPv6 does not support the Network Basic Input Output System (NetBIOS). Therefore, all of the methods associated with NetBIOS name resolution (the NetBIOS name cache, Windows Internet Name Service [WINS], NetBIOS name broadcasts, and entries in the Lmhosts file) result only in IPv4 addresses.
For more information on the IPv6 protocol for the Windows .NET Server 2003 family and Windows XP support for DNS, see Chapter 2, "IPv6 Protocol for the Windows .NET Server 2003 family and Windows XP."
The Hosts file stored in the SystemRoot\System32\Drivers\Etc folder now supports static entries for IPv6 addresses. Each entry must be of the form
where address is an IPv6 address and name is a name associated with the address. The address and name are not case sensitive and must be separated by at least one space or tab character.
The following is an example entry:
By default, the Hosts file is checked before name resolution using DNS is attempted.
The DNS Server service in the Windows .NET Server 2003 family and in Windows 2000 Server supports the manual creation of AAAA static records and DNS dynamic update of AAAA records. For DNS dynamic update, the zones in which records are dynamically updated by DNS clients must be configured to allow dynamic updates. For the Windows 2000 DNS Server service, you must manually configure the zone to allow DNS updates from the General tab from the properties of the zone in the DNS snap-in. For the Windows .NET Server 2003 family DNS Server service, you can enable dynamic updates when the zone file is created with the New Zone Wizard.
To manually create an AAAA record for the Windows 2000 Server DNS Server service, you must select Other New Records when creating a new DNS record in the DNS snap-in. In the Resource Record Type dialog box, click IPv6 Host as the resource record type, and then click Create Record. You must type the IPv6 address as eight separate text blocks corresponding to the eight hexadecimal blocks of an uncompressed IPv6 address. You cannot use double-colon (::) to compress a block of zeros.
To manually create an AAAA record for the Windows .NET Server 2003 family DNS Server service, you must select Other New Records when creating a new DNS record in the DNS snap-in. In the Resource Record Type dialog box, click IPv6 Host (AAAA) as the resource record type, and then click Create Record. You can type the IPv6 address as a single string and use double-colon to compress a block of zeros.
The Windows .NET Server DNS Server service supports DNS traffic over IPv6, including name queries and dynamic updates.
The DNS resolver, the DNS client on each host that queries for DNS names and processes the result of DNS queries, now supports the parsing of both A and AAAA records in DNS query responses. The DNS resolver supports queries and responses over IPv6. DNS queries by default are sent using the well-known site-local IPv6 addresses of FEC0:0:0:FFFF::1, FEC0:0:0:FFFF::2, and FEC0:0:0:FFFF::3. You can also manually configure the addresses of your IPv6-enabled DNS servers by using the netsh interface ipv6 add dns command.
The IPv6 protocol for the Windows .NET Server 2003 family supports DNS dynamic update to automatically register AAAA records over either IPv4 or IPv6 for the following addresses:
Global addresses with randomly derived interface identifiers (temporary addresses), 6to4 addresses assigned to the 6to4 Tunneling Pseudo-Interface, the loopback address, and link-local addresses are not registered with DNS.
DNS dynamic update for LAN connections for IPv4 and IPv6 is controlled by the Register this connection's address in DNS check box on the DNS tab from the advanced settings of the Internet Protocol (TCP/IP) protocol in the Network Connections folder. This check box is enabled by default.
PTR records for host names in the IP6.INT reverse domain are not registered automatically. You can configure them manually for the Windows .NET Server 2003 family or Windows 2000 DNS Server service by adding PTR records to the appropriate zone file(s) using the DNS snap-in.
After the querying node obtains the set of addresses corresponding to the name by using DNS, the node must determine the set of addresses to choose as the source and destination for subsequent communication. This is typically not an issue in today's prevalent IPv4-only environment. However, in an environment in which IPv4 and IPv6 coexist, the set of addresses returned in a DNS query might contain multiple IPv4 and IPv6 addresses. The querying host is configured with at least one IPv4 address and (typically) multiple IPv6 addresses. Deciding which type of address (IPv4 vs. IPv6), and then the scope of the address (public vs. private for IPv4 and link-local vs. site-local vs. global vs. coexistence for IPv6), for both the source and the destination addresses is not an easy task. Default address selection rules are being investigated and are described in the Internet draft titled "Default Address Selection for IPv6."
By default, the address selection rules for the IPv6 protocol for the Windows .NET Server 2003 family favor the use of IPv6 addresses over IPv4 addresses. You can view the default address selection rules for the IPv6 protocol for the Windows .NET Server 2003 family by using the netsh interface ipv6 show prefixpolicy command to display the prefix policy table. You can modify the entries in the prefix policy table by using the netsh interface ipv6 add/set/delete prefixpolicy commands. For information on how to set the precedence, the source address label, and the destination address label, see the Internet draft titled "Default Address Selection for IPv6."