Authorized reprint by author zhushigeng (Vinsoney)
Currently, IPv4 is still primarily used for IP networks. IPv6 networks are deployed and put into commercial use in a small scale. Therefore, IPv4 and IPv6 networks must coexist for a long time. In this case, you need to consider the policies and technologies for IPv4/IPv6 coexistence.
IPv4-to-IPv6 transition requires a long process because it involves political, economic, business, technology, method, and policy factors. In this process, we have to consider transition policies and methods. Three common coexistence policies and transition technologies are as follows:
1. Dual-stack
Dual-stack means that a host or network device supports both IPv4 and IPv6 . If a node supports dual-stack, it can use both IPv4 and IPv6 protocol stacks and process both IPv4 and IPv6 data. On a dual-stack device, the upper-layer applications preferentially selects the IPv6 protocol stack rather than IPv4. For example, if an application request that supports both IPv4 and IPv6 addresses requests an address from the DNS server, an AAAA record is requested first. If such as record is unavailable, an A record is requested. IPv4/IPv6 dual-stack is the basis of IPv4/IPv6 coexistence and IPv6 transition technologies.
As shown in the preceding figure, the router is a dual-stack device. By default, the router supports IPv4, and the interface is configured with an IPv4 address. The router can normally forward IPv4 packets. Then, the IPv6 data forwarding capability of the router is activated, and an IPv6 unicast address is allocated to the interface. So the interface has the IPv6 data forwarding capability. In this case, the IPv4 and IPv6 protocol stacks do not interfere with each other and work independently.
2. Tunneling Technology
The tunneling technology is a very classic solution, which is applied in various scenarios to solve data communication issues. The core idea is to set up a point-to-point virtual channel between two communication islands so that they can communicate through the intermediate network over this point-to-point tunnel.
As shown in the preceding figure, R1 and R2 are connected to the same IPv4 network and to different IPv6 networks. R1 and R2 are dual-stack routers. These two IPv6 networks are isolated from each other and cannot communicate with each other because the intermediate network is an IPv4 network and cannot identify IPv6 data.
This scenario is common in today's networks. After all, IP networks are mainly IPv4 networks, and there are few IPv6 sites. How to implement communication between IPv6 sites?
The tunneling technology can be used to establish a point-to-point channel between R1 and R2. The virtual channel traverses the intermediate IPv4 network so that the two information silos can communicate with each other. In fact, IPv6 traffic between isolated islands is forwarded through the intermediate IPv4 network. However, a new IPv4 header is added to the forwarded IPv6 packets. This header is called the tunnel header, which is the IPv4 header of the tunnel. In this way, IPv6 packets can be transmitted over the IPv4 network.
3. NAT64
NAT64 is a protocol translation technology that can flexibly convert packets between IPv4 and IPv6. A node on an IPv4 network cannot directly communicate with a node on an IPv6 network, because the two protocol stacks are not compatible. However, if a device is used to implement the conversion between IPv6 and IPv4, the preceding communication requirements can be met.
In fact, there are many IPv4/IPv6 coexistence policies and IPv6 transition technologies, which are not covered here.