With a growing Internet population, a limited IPv4 address space, issues with NAT and an Internet of Everything, the time has come to begin the transition to IPv6. But due to the size of the Internet, it is not possible to migrate IPv4 addresses to IPv6 addresses in a synchronized manner. Because some IPv4 addresses may never change. Therefore, IPv6 and IPv4 will coexist on the internet. The transition is estimated to take years. The IETF has created several protocols and tools to help network administrators migrate their networks to IPv6. The migration techniques can be divided into three categories. One is dual stack, where your network hardware runs IPv4 and IPv6 at the same time. Next is when you “tunnel” one protocol within another. Generally, this means taking IPv6 packets and encapsulating them in IPv4 packets. The last one is Network Address Translation-Protocol Translation (NAT-PT) also known as RFC-2766. This works just like the name says, software or a device translates IPv6 packets into IPv4 packets. Following is the detail of these methods.
With the dual stack solution, all networking device, router, switch server and firewall in a network will be configured with both IPv4 and IPv6 connectivity capabilities. All devices must understand both IPv4 and IPv6 packets and must be allow processing of IPv4 and IPv6 data traffic simultaneously. Dual stack allows IPv4 and IPv6 to coexist on the same network segment. Dual stack devices run both IPv4 and IPv6 protocol stacks simultaneously. Figure-1 illustrates the Dual-Stack process.
As shown in Figure 2. Tunneling is a method of transporting an IPv6 packet over an IPv4 network. The IPv6 packet is encapsulated inside an IPv4 packet, similar to other types of data. By using tunneling method, you can communicate with isolated IPv6 networks without upgrading the IPv4 infrastructure between them. Tunnels can be configured between border routers or between a border router and a host; however, both tunnel endpoints must support both the IPv4 and IPv6 protocol stacks. IPv6 supports the following types of tunneling mechanisms
- Generic routing encapsulation (GRE)
- Intrasite Automatic Tunnel Addressing Protocol (ISATAP)
As shown in Figure 3.Network Address Translation 64 (NAT64) allows IPv6-enabled devices to communicate with IPv4-enabled devices using a translation technique similar to NAT for IPv4. An IPv6 packet is translated to an IPv4 packet and vice versa.
NAT64 allows IPv6-only clients to communicate IPv4 servers using unicast UDP, TCP, or ICMP. One or more public IPv4 addresses assigned to a NAT64 translator are shared among several IPv6-only clients.