6over4, also known as IPv4 multicast tunneling, is a host-to-host, host-to-router, and router-to-host automatic tunneling technology that is used to provide unicast and multicast IPv6 connectivity between IPv6 nodes across an IPv4 intranet. 6over4 is described in RFC 2529. 6over4 hosts use a valid 64-bit prefix for unicast addresses and the interface identifier ::WWXX:YYZZ, where WWXX:YYZZ is the colon hexadecimal representation of an IPv4 address (w.x.y.z) assigned to the host. By default, 6over4 hosts automatically configure the link-local address FE80::WWXX:YYZZ on each 6over4 interface.
6over4 treats an IPv4 infrastructure as a single link with multicast capabilities. This means that ND processes, such as address resolution and router discovery, work as they do over a physical link with multicast capabilities. To emulate a multicast-capable link, the IPv4 infrastructure must be IPv4 multicast-enabled. Figure 11-7 shows a 6over4 configuration.
Figure 11-7. A 6over4 configuration
To facilitate IPv6 multicast communications over an IPv4 multicast-enabled infrastructure, RFC 2529 defines the following mapping to translate an IPv6 multicast address to an IPv4 multicast address:
239.192.[second to last byte of IPv6 address].[last byte of IPv6 address]
The following are example mappings for IPv6 multicast addresses:
When 6over4 is enabled, the IPv4 layer uses IGMP messages to inform local IPv4 routers of its interest in receiving IPv4 multicast traffic that is sent to the mapped IPv4 multicast addresses. 6over4-enabled hosts also register additional multicast MAC addresses with their network adapters that correspond to the mapped IPv4 multicast addresses. For example, for an Ethernet adapter:
Because the IPv4 infrastructure acts as a multicast-capable link, hosts can use Neighbor Solicitation and Neighbor Advertisement messages to resolve each other's link-layer addresses. The embedded IPv4 addresses in the interface identifier portion of 6over4 addresses are the tunnel endpoints. Hosts and routers can use Router Solicitation and Router Advertisement messages for router, prefix, and parameter discovery. To facilitate ND messages, RFC 2529 defines the format for the Source and Target Link-Layer Address options as shown in Figure 11-8.
Figure 11-8. Source and Target Link-LayerAddress options for 6over4
For example, when Host A (with the public IPv4 address of 18.104.22.168 and corresponding link-local 6over4 address of FE80::9D3C:5B7B) sends traffic to Host B (with the public IPv4 address of 22.214.171.124 and corresponding link-local 6over4 address of FE80::836B:D231), the addresses in the IPv6 and IPv4 headers are as listed in Table 11-2.
Table 11-2. Example 6over4 Addresses
IPv6 Source Address
IPv6 Destination Address
IPv4 Source Address
IPv4 Destination Address
The IPv6 protocol for Windows XP and the Windows .NET Server 2003 family supports 6over4, but it is disabled by default. To enable 6over4, use the netsh interface ipv6 set state 6over4=enabled command. This command creates a new 6over4 tunneling pseudo-interface for each IPv4 address assigned to the node. If router advertisements are received over a 6over4 tunneling interface (via the multicast mapping mechanism described earlier), appropriate addresses and routes are configured automatically. When you enable 6over4 with the netsh interface ipv6 set state 6over4=enabled command, it creates a 6over4 tunneling interface with a globally unique identifier (GUID)-based name. To create a 6over4 tunneling interface with a friendlier name, use the netsh interface ipv6 add 6over4tunnel command instead.
Communication to 6over4 addresses is facilitated by routes and 6over4 tunneling pseudo-interfaces. For example, a host has a 6over4 interface named "6over4 Tunneling Interface" with the interface index of 5. A router advertisement from a router with the 6over4 address of FE80::C0A8:1501 is received. The router advertisement is advertising the router as a default router and contains the auto-configuration prefix FEC0:0:0:21A8::/64. For this example, the host will have the following 6over4-related routes in the routing table:
Publish Type Met Prefix Idx Gateway/Interface Name ------- -------- --- -------------------- --- ------------------------ no Autoconf 8 fec0:0:0:21a8::/64 5 6over4 Tunneling Interface no Autoconf 256 ::/0 5 fe80::c0a8:1501
A packet addressed to a destination matching the prefix FEC0:0:0:21A8::/64 is sent to the next-hop address of the destination by using the 6over4 Tunneling Interface. The 6over4 Tunneling Interface uses address resolution for the destination address to determine the source and destination link-layer addresses (and corresponding IPv4 addresses) to use when sending the IPv4-encapsulated IPv6 packet.
A packet addressed to a destination matching the default route is sent to the next-hop address of FE80::C0A8:1501 using the 6over4 Tunneling Interface. The 6over4 Tunneling Interface uses address resolution for the next-hop address to determine the source and destination link-layer addresses (and corresponding IPv4 addresses) to use when sending the IPv4-encapsulated IPv6 packet.
To test connectivity using 6over4 addresses, use the ping command. In the example in Table 11-2, Host A would use the following command to ping Host B by using Host B's link-local 6over4 address:
Because the destination of the ping command is a link-local address, the %ZoneID portion of the command is used to specify the interface index of the interface from which traffic is sent. In this case, %5 specifies interface 5, which is the interface index assigned to the 6over4 tunneling interface in this example.
Because 6over4 requires an IPv4 multicast infrastructure to work properly, it is not widely used.