How do I Transition to IPv6?

No D day!

 

During the conception of IPv6, it was clear that some transition mechanisms would be required. One thing was for sure, transition would not happen overnight, and no D day would ever mark the abandonment of IPv4 in favor of IPv6 all over the planet. In fact, transition to IPv6 has already started on the 6bone1 and will take several years. People are talking about a 10 years period at the end of which some machines will still very happily run IPv4.

What is transition all about?

 

Transition is about the introduction of IPv6 in existing networks as well as creating new networks using IPv6 from the beginning. Building those networks, there are two questions that one has to answer:

a) How do two IPv6 machines (or networks) communicate when they are separated by an IPv4 world?

b) How does an IPv4 client application communicate with an IPv6 server? An IPv6 client with an IPv4 server?

The IETF NGtrans2 working group has developed a set of mechanisms to address these two issues.

Dual stack nodes

 

In the dual stack model, nodes will have an IP stack that implements both versions of the protocol. Nodes will behave like a bilingual person: talking IPv4 to their IPv4 peers and IPv6 to their IPv6 peers. On such nodes, applications usually support both protocols, so users do not have to have explicit knowledge of the protocol used at the network layer.

Connecting IPv6 islands with tunnels

 

An IPv6 island is a network made of IPv6 links directly connected by IPv6 routers. In the early days of IPv6 deployment, there are many IPv6 islands. IPv6 in IPv4 tunnels are used to connect those islands together. In each island, one (or more) dual stack routers are designated to encapsulate and decapsulate IPv6 packets within IPv4 packets. Different mechanisms have been developed to manage tunnels: automatic tunnels3, configured tunnels3, tunnel brokers3, 6over43, 6to43,...

Communication with IPv4 machines

 

To have IPv6 applications talk to IPv4 applications, several mechanisms are currently defined:

IP translators: SIIT3 and NAT-PT3

 

These mechanisms translate IPv6 into IPv4 packets and vice versa. They need to keep state of the current communications.

TCP relays3

 

This mechanisms translates packets at the TCP layer. It intercepts packets somewhere in the network and creates a mapping between IPv4 and IPv6 addresses.

Application Level Gateways

 

Those mechanisms translate packets at the application level. They require the client applications to be configured to talk to the proxies.

Temporary allocation of IPv4 address: DSTM3

 

This mechanism allows a dual stack host with only its IPv6 stack configured to temporarily query a dynamic IPv4 address.

 

References:

 

1. Information on the 6bone:

http://www.6bone.net

2. Information on the NGtrans working group:

http://www.6bone.net/ngtrans

3. Status of NGtrans mechanisms:

http://www.6bone.net/ngtrans/ngtrans_project-status.html