IPv6 traffic between nodes in different sites across the Internet (6to4)
6to4 is a tunneling technique that is described in RFC 3056. When 6to4 is used, IPv6 traffic is encapsulated with an IPv4 header before it is sent over an IPv4 internetwork, such as the Internet.
6to4 uses the global address prefix of 2002:WWXX:YYZZ::/48, where WWXX:YYZZ is both the Next Level Aggregator (NLA) portion of a global address and the colon-hexadecimal representation of a public IPv4 address (w.x.y.z) that is assigned to the site or host. The complete 6to4 address of a 6to4 host is 2002:WWXX:YYZZ:[SLA ID]:[Interface ID].
RFC 3056 defines the following terms:
An IPv6 host that is configured with at least one 6to4 address.
An IPv4/IPv6 router that forwards 6to4-addressed traffic between the 6to4 hosts within a site and other 6to4 routers or 6to4 relay routers on an IPv4 internetwork, such as the Internet.
6to4 relay router
An IPv4/IPv6 router that forwards 6to4-addressed traffic between 6to4 routers on the Internet and hosts on the 6bone.
When you use 6to4 hosts, an IPv6 routing infrastructure within 6to4 sites, a 6to4 router at site boundaries, and a 6to4 relay router, the following types of communication are possible:
A 6to4 host can communicate with another 6to4 host within the same site.
This type of communication is available through the IPv6 routing infrastructure, which provides reachability to all hosts within the site.
A 6to4 host can communicate with 6to4 hosts in other sites across the IPv4 Internet.
This type of communication occurs when a 6to4 host forwards IPv6 traffic that is destined to a 6to4 host in another site to the local site 6to4 router. The local site 6to4 router encapsulates the IPv6 traffic with an IPv4 header and sends it to the 6to4 router at the destination site on the Internet. The 6to4 router at the destination site removes the IPv4 header and forwards the IPv6 packet to the appropriate 6to4 host by using the IPv6 routing infrastructure of the destination site.
A 6to4 host can communicate with hosts on the 6bone.
This type of communication occurs when a 6to4 host forwards IPv6 traffic that is destined for a 6bone host to the local site 6to4 router. The local site 6to4 router encapsulates the IPv6 traffic with an IPv4 header and sends it to a 6to4 relay router that is connected to both the IPv4 Internet and the 6bone. The 6to4 relay router removes the IPv4 header and forwards the IPv6 packet to the appropriate 6bone host by using the IPv6 routing infrastructure of the 6bone.
All of these types of communication use IPv6 traffic without the requirement of obtaining either a direct connection to the 6bone or an IPv6 global address prefix from an Internet service provider (ISP).
Support for 6to4 hosts and routers is provided in the 6to4 service that is included with the IPv6 protocol for Windows. The 6to4 service:
Automatically configures 6to4 addresses on the interface that is named 6to4 Tunneling Pseudo-Interface (interface ID 3) for all public IPv4 addresses that are assigned to interfaces on the computer. For an example, see the sample output of the ipv6 if command in the topic Single subnet with link-local addresses
Automatically creates a 2002::/16 route that forwards all 6to4 traffic with the 6to4 Tunneling Pseudo-Interface (interface ID 3). All traffic forwarded by this host to 6to4 destinations is encapsulated with an IPv4 header.
Automatically performs a Domain Name System (DNS) query for the name 6to4.ipv6.microsoft.com to obtain the IPv4 address of the Microsoft 6to4 relay router on the Internet. You can use the netsh interface ipv6 6to4 set relay command to specify the DNS name to query. For more information, see IPv6 utilities
By using automatic 6to4 service configuration, any host that is running the IPv6 protocol for Windows and is configured with an IPv4 public address is automatically configured as a 6to4 host. A 6to4 host can perform its own tunneling to reach 6to4 hosts in other sites or hosts on the 6bone.
For more information about connecting to the 6bone, see Connecting to the 6bone
If Internet Connection Sharing (ICS) is enabled on an interface that is assigned a public IPv4 address, the 6to4 service:
Enables routing on the private interface.
Sends Router Advertisements that contain 6to4 address prefixes that are based on the public IPv4 address of the public interface. The SLA ID in the 6to4 address prefix is set to the interface ID of the interface on which the advertisements are sent.
By enabling ICS, you can use a computer running the IPv6 protocol for Windows as a 6to4 router, which is capable of both encapsulating and forwarding 6to4 traffic to other 6to4 hosts or sites on the Internet, and forwarding 6bone traffic to a 6to4 relay router on the Internet.
The following illustration shows how 6to4 is used to communicate between two 6to4 sites.
Each site uses a computer running Windows with ICS enabled on the public interface to create a 6to4 router. Host computers running Windows on the private network segments receive the Router Advertisement that is sent by their site's 6to4 router and contains a 6to4 address prefix. As the result, two 6to4 hosts can communicate by using 6to4 addresses over the Internet.
For additional information about configurations, see IPv6 configurations
For information about using IPv6 in a test lab, see Setting up an IPv6 test lab