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

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.

Nodes on 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.

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:

  1. Install IPv6 on two computers. For more information, see Install IPv6.

  2. 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.

  3. 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.

  4. 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.