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 Windows 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 ipv6 if, as demonstrated in the following example:

Interface 4: Ethernet: Local Area Connection
  uses Neighbor Discovery
  link-layer address: 00-b0-d0-23-47-33
    preferred link-local fe80::2b0:d0ff:fe23:4733, life infinite
    multicast interface-local ff01::1, 1 refs, not reportable
    multicast link-local ff02::1, 1 refs, not reportable
    multicast link-local ff02::1:ff23:4733, 1 refs, last reporter, 6 seconds until report
  link MTU 1500 (true link MTU 1500)
  current hop limit 128
  reachable time 36500ms (base 30000ms)
  retransmission interval 1000ms
  DAD transmits 1
Interface 3: 6to4 Tunneling Pseudo-Interface
  does not use Neighbor Discovery
    preferred global 2002:9d3c:89d9::9d3c:89d9, life infinite
  link MTU 1280 (true link MTU 65515)
  current hop limit 128
  reachable time 0ms (base 0ms)
  retransmission interval 0ms
  DAD transmits 0
Interface 2: Automatic Tunneling Pseudo-Interface
  does not use Neighbor Discovery
    preferred link-local fe80::5efe:157.60.137.217, life infinite
    preferred global ::157.60.137.217, life infinite
  link MTU 1280 (true link MTU 65515)
  current hop limit 128
  reachable time 0ms (base 0ms)
  retransmission interval 0ms
  DAD transmits 0
Interface 1: Loopback Pseudo-Interface
  does not use Neighbor Discovery
  link-layer address:
    preferred link-local ::1, life infinite
    preferred link-local fe80::1, life infinite
  link MTU 1500 (true link MTU 1500)
  current hop limit 128
  reachable time 40500ms (base 30000ms)
  retransmission interval 1000ms
  DAD transmits 1

Interface 4 is an interface that corresponds to an installed Ethernet adapter with a link-local address of FE80::2B0:D0FF:FE23:4733.

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:

1.

Use the ipv6 install command at a Command Prompt to install the IPv6 protocol on two host computers running Windows (Host A and Host B) that are on the same link (subnet).

2.

Use ipv6 if on Host A to obtain the link-local address and the interface ID for the Ethernet interface.

For example, the link-local address of Host A is FE80::210:5AFF:FEAA:20A2 and the interface ID of the Ethernet interface is 4.

3.

Use ipv6 if on Host B to obtain the link-local address and the interface ID for the Ethernet interface.

For example, the link-local address of Host B is FE80::260:97FF:FE02:6EA5 and the interface ID for the Ethernet interface is 3.

4.

From Host A, use Ping6.exe to ping Host B.

For example, ping6 FE80::260:97FF:FE02:6EA5%4

When you specify a link-local or site-local destination address, you should specify the scope ID to make the scope (area of the network) 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 scope ID is used to indicate the Ethernet adapter over which traffic is sent and received. In the IPv6 protocol for Windows, the scope ID is the interface identifier from the display of the ipv6 if command. The interface identifier is defined locally on each IPv6 host. Because of this, the interface identifier used by Host A to reach Host B might not be the same as the interface identifier 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 scope ID is used to indicate the site identifier. In the IPv6 protocol for Windows, the scope ID is the site ID from the display of the ipv6 if command. If you are connected only to a single site, the default site identifier is 1 and the scope 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 scope ID with an address is Address%ScopeID.

For additional information about configurations, see IPv6 configurations

For information about using IPv6 in a test lab, see Setting up an IPv6 test lab


Top of pageTop of page