What Causes IPV6 To Be Used Instead Of IPV4?

Windows implements RFC 3484 and uses a prefix table to determine which address to use when multiple addresses are available for a name.

By default, it favors IPv6 global unicast addresses over IPv4 addresses.

You can view/change the prefix policy through netsh:

// Open an elevated command prompt
// Enter the IPv6 context
> netsh int ipv6

// Then use one of the following commands
show prefixpolicies
set prefixpolicy

IPv6 should always take precedence if it is capable of doing so.

Off hand there are a couple things this could be - either the workstation does not have IPv6 enabled or it is using a different category of IPv6 address than the servers - global vs site local vs link local.

http://www.tcpipguide.com/free/t_IPv6SpecialAddressesReservedPrivateLinkLocalSiteLo-3.htm


My immediate guess is that server1 and server2 both have 6to4 enabled, and your Windows 7 desktop does not. (Do any of the machines have globally routeable IPv6? I'm suspecting not.) Left to its own devices in an AD environment, Windows will registered any 6to4 IPs it has in DNS (as I imagine at least server2 did, based on the host selection from server1).

If your Windows 7 machine has (or should have) working IPv6, there are a few other possibilities that could be causing it to choose IPv4.