Single subnet with link-local addresses
Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2
Single subnet with link-local addresses
This configuration requires only the installation of the IPv6 protocol on at least two nodes on the same network segment (also known as a link or subnet) with no intermediate routers.
The following illustration shows the configuration of two nodes on a single subnet using link-local addresses.
By default, the IPv6 protocol for the Windows Server 2003 family and Windows XP configures link-local addresses for each interface that corresponds to installed Ethernet network adapters. Link-local addresses have the prefix of FE80::/64. The last 64 bits of the IPv6 address is known as the interface identifier. It is derived from the 48-bit MAC address of the network adapter. For more information, see IPv6 interface identifiers.
To create the IPv6 interface identifier from the 48-bit (6-byte) Ethernet MAC address:
The hexadecimal digits 0xFF-FE are inserted between the third and fourth bytes of the MAC address.
The Universal/Local bit (the second low-order bit of the first byte of the MAC address) is complemented. If it is a 1, it is set to 0; and if it is a 0, it is set to 1.
For example, for the MAC address of 00-60-08-52-F9-D8:
The hexadecimal digits 0xFF-FE are inserted between 0x08 (the third byte) and 0x52 (the fourth byte) of the MAC address, forming the 64-bit address of 00-60-08-FF-FE-52-F9-D8.
The Universal/Local bit, the second low-order bit of 0x00 (the first byte) of the MAC address, is complemented. The second low-order bit of 0x00 is 0 which, when complemented, becomes 1. The result is that for the first byte, 0x00 becomes 0x02.
As a result, the IPv6 interface identifier that corresponds to the Ethernet MAC address of 00-60-08-52-F9-D8 is 02-60-08-FF-FE-52-F9-D8.
The link-local address of a node is the combination of the prefix FE80::/64 and the 64-bit interface identifier expressed in colon-hexadecimal notation. As a result, the link-local address of this example node, with the prefix of FE80::/64 and the interface identifier 02-60-08-FF-FE-52-F9-D8, is FE80::260:8FF:FE52:F9D8.
You can view your link local address by using netsh interface ipv6 show interface. When you run this command without any additional parameters, a simple list is provided as output:
Idx Met MTU State Name
--- ---- ----- ------------ -----
5 0 1500 Connected Local Area Connection
4 0 1500 Connected Local Area Connection 2
3 1 1280 Connected 6to4 Tunneling Pseudo-Interface
2 1 1280 Connected Automatic Tunneling Pseudo-Interface
1 0 1500 Connected Loopback Pseudo-Interface
For more detailed output, you can designate a connection name as a command parameter (for example, netsh interface ipv6 show interface "Local Area Connection 2"). Using the interface parameter (with either an interface name or an interface index number) results in the following output, which includes the link local address for the connection:
Interface 4: Local Area Connection 2
Addr Type DAD State Valid Life Pref. Life Address
--------- ---------- ------------ ------------ -----------------------------
Temporary Preferred 6d4h41m33s 4h38m46s 3ffe:2900:d005:f282:4063:32a8:5c81:62f2
Temporary Deprecated 5d4h44m24s 0s 3ffe:2900:d005:f282:cd74:3dd7:857b:b57
Temporary Deprecated 4d4h47m16s 0s 3ffe:2900:d005:f282:d880:d193:f2dd:d929
Temporary Deprecated 3d4h50m7s 0s 3ffe:2900:d005:f282:7482:2f05:8129:54ba
Temporary Deprecated 2d4h52m59s 0s 3ffe:2900:d005:f282:d530:25de:57b:7ee0
Temporary Deprecated 1d4h55m50s 0s 3ffe:2900:d005:f282:c58c:4290:22c6:7b3b
Temporary Deprecated 4h58m42s 0s 3ffe:2900:d005:f282:8464:acf0:8393:cf6
Public Preferred 29d23h57m19s 6d23h57m19s fec0::f282:2c0:4fff:fe19:bad3
Public Preferred 29d23h57m19s 6d23h57m19s 3ffe:2900:d005:f282:2c0:4fff:fe19:bad3
Link Preferred infinite infinite fe80::2c0:4fff:fe19:bad3
Connection Name : Local Area Connection 2
GUID : {433F15CA-E3FD-4DE4-B3FF-7EF4B30CA4E7}
State : Connected
Metric : 0
Link MTU : 1500 bytes
True Link MTU : 1500 bytes
Current Hop Limit : 64
Reachable Time : 4h43m20s
Base Reachable Time : 8h20m
Retransmission Interval : 16m40s
DAD Transmits : 1
DNS Suffix : example.microsoft.com
Zone ID for Link : 4
Zone ID for Site : 1
Uses Neighbor Discovery : Yes
Sends RA's : No
Forwards Packets : No
Link-Layer Address : 00-c0-4f-19-ba-d3
Interface 4 is an interface that corresponds to an installed Ethernet adapter with a link-local address of FE80::2C0:4FFF:FE19:BAD3.
Testing connectivity between two link-local hosts
You can perform a simple ping (an exchange of ICMPv6 Echo Request and Echo Reply messages) with IPv6 between two link-local hosts by completing the following steps:
Install IPv6 on two computers. For more information, see Install IPv6.
Use netsh interface ipv6 show interface on Host A to obtain the link-local address and the interface index for the Ethernet interface.
For example, the link-local address of Host A is FE80::210:5AFF:FEAA:20A2, and the interface index of the Ethernet interface is 4.
Use netsh interface ipv6 show interface on Host B to obtain the link-local address and the interface index for the Ethernet interface.
For example, the link-local address of Host B is FE80::260:97FF:FE02:6EA5, and the interface index for the Ethernet interface is 3.
From Host A, use Ping.exe to ping Host B.
For example, ping FE80::260:97FF:FE02:6EA5%4
When you specify a link-local or site-local destination address, you can specify the zone ID to make the zone (an area of the network of a specific scope) of the traffic specific.
For example, on a computer with multiple Ethernet adapters that are connected to separate links, each Ethernet adapter is assigned a link-local address. Destination link-local addresses in this configuration are ambiguous because a specific link-local address can be assigned to multiple nodes located on the links that are reachable from all of the installed Ethernet adapters. To define the area of the network for which the destination is intended, the zone ID is used to indicate the Ethernet adapter over which traffic is sent and received. In the IPv6 protocol, the zone ID for link-local addresses is typically the interface index from the display of the netsh interface ipv6 show interface command. The interface index is defined locally on each IPv6 host. Because of this, the interface index used by Host A to reach Host B might not be the same as the interface index used by Host B to reach Host A.
When using site-local addresses, it is possible to be connected to multiple sites. In this case, each site is assigned a site identifier. To define the area of the network for which the destination is intended, the zone ID is used to indicate the site identifier. In the IPv6 protocol, the zone ID is the Zone ID for Site from the display of the netsh interface ipv6 show interface level=verbose command. If you are connected only to a single site, the default site identifier is 1 and the zone ID does not have to be specified. The site identifier is defined locally on each IPv6 host. Because of this, the site identifier used by Host A to reach Host B might not be the same as the site identifier used by Host B to reach Host A.
The notation that is used to specify the zone ID with an address is Address**%**ZoneID.
For additional information about configurations, see IPv6 Configurations.
For information about using IPv6 in a test lab, see Setting up an IPv6 Test Lab.
For more information about the netsh interface ipv6 show interface command, see Netsh commands for Interface IPv6.