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.
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.
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 :
fe80:0000:0000:0000:0000:0000
, or fe80::
for short,For example, host 192.0.2.142
would use fe80:0000:0000:0000:0000:0000:c000:028e
as its link-local IPv6 address (192.0.2.142
is c000028e
in hexadecimal notation). A shortened notation would be fe80::c000:028e
.
To perform ICMPv6 Neighbor Discovery, multicast must be used. Any IPv6 multicast packet gets encapsulated in an IPv4 multicast packet with destination 239.192.x.y
, where x
and y
are the penultimate and last bytes of the IPv6 multicast address respectively.
All-Nodes Multicast (ff02::1) - 239.192.0.1
All-Routers Multicast (ff02::2) - 239.192.0.2
Solicited Node Multicast for fe80::c000:028e (the link-local address of 192.0.2.142) - 239.192.2.142
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.
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.