6over4

6over4 is an IPv6 transition mechanism meant to transmit IPv6 packets between dual-stack nodes on top of a multicast-enabled IPv4 network. IPv4 is used as a virtual data link layer (virtual Ethernet) on which IPv6 can be run.

How 6over4 works
6over4 defines a trivial method for generating a link-local IPv6 address from an IPv4 address, and a mechanism to perform Neighbor Discovery on top of IPv4.

Link-local address generation
Any host wishing to participate in 6over4 over a given IPv4 network can set up a virtual IPv6 network interface. The link-local address is determined as follows :
 * it starts with, or   for short,
 * the lower-order 32 bits to the binary value must be that of the IPv4 address of the host.

For example, host  would use   as its link-local IPv6 address (  is   in hexadecimal notation). A shortened notation would be.

Multicast Address Mapping
To perform ICMPv6 Neighbor Discovery, multicast must be used. Any IPv6 multicast packet gets encapsulated in an IPv4 multicast packet with destination, where   and   are the penultimate and last bytes of the IPv6 multicast address respectively.

Examples
All-Nodes Multicast (ff02::1) -

All-Routers Multicast (ff02::2) -

Solicited Node Multicast for fe80::c000:028e (the link-local address of 192.0.2.142) -

Neighbor Discovery
Given a link-local address and a multicast addresses mapping, a host can use ICMPv6 to discover its on-link neighbors and routers, and usually perform stateless autoconfiguration, as it would do on top of, e.g. Ethernet.

Limit of 6over4
6over4 relies on IPv4 multicast availability which is not very widely supported by IPv4 networking infrastructure. 6over4 is of limited practical use, and is not supported by the most common operating systems. To connect IPv6 hosts on different physical links, IPv4 multicast routing must be enabled on the routers connecting the links.

ISATAP is a more complex alternative to 6over4 which does not rely on IPv4 multicast.