Nowadays, the lack of IP addresses has become a global matter of some urgency with the imminent exhaustion of available IPv4 (Internet Protocol Version 4) addresses. Though IPv6 (Internet Protocol Version 6) with a much longer header appeared some years ago which allows for a great many more IP addresses enough for future uses, however, its application and promotion are not easy and may have a long way to go. "Is it possible to use IPv4 and IPv6 at the same time?" To answer these questions, we are going to introduce some IPv4 and IPv6 coexistence methods, that is, dual stack and MPLS (Multi-Protocol Label Switching) tunnel.
In general, the main reason of using IPv4 and IPv6 at the same time is compatibility issues. Actually, IPv4 and IPv6 aren't compatible with each other, which means devices cannot communicate directly. Today, IPv4 is still dominant in IP network, while IPv6 network has only a small range of deployment and commercial use. Thus, lack of real backward compatibility with IPv4 can be a critical failure for wide application of IPv6, and total conversion to IPv6 is a way off. Internet Service Providers (ISPs) need to provide their customers with both IPv4 and IPv6 services, resulting in difficulties for users too.
IPv4-IPv6 coexistence can be achieved by mainly three techniques. One is dual stack, where your network hardware runs IPv4 and IPv6 simultaneously. The second one is tunnel, meaning encapsulating IPv6 packets within IPv4 packets. And the last method is called Network Address Translation (NAT) by which a device translates IPv6 packets into IPv4 packets or vice versa. As NAT is mainly used by ISPs, here the first two techniques are introduced.
Dual stack is the most basic and direct strategy to achieve IPv4 and IPv6 coexistence. With this solution, every networking device, including using IPv4 or IPv6 switches, in an ISP's network will be configured with the capabilities to run IPv4 and IPv6 simultaneously. Usually, IPv4 communication uses the IPv4 protocol stack, and IPv6 communication uses the IPv6 protocol stack. Whether to use IPv4 or IPv6 is based on the response to Domain Name System (DNS) requests, but usually, IPv6 protocol stack will be be given priority over IPv4. As dual stack allows hosts to simultaneously reach existing IPv4 and IPv6 contents, it serves as a very flexible coexistence strategy. But keep in mind that if you are going to dual stack all of your network devices, the precondition is that the interfaces need both an IPv6 and an IPv4 address. This means IPv6 needs to be available all the way to your devices and sufficient IPv4 address space is required.
Figure 1: IPv4 and IPv6 Coexistence via Dual Stack.
Advantages & Disadvantages of Dual Stack
Dual stack is a relatively cost-effective and simple IPv6 transition technology. It avoids the need for translating between the two protocol stacks, which enables high processing efficiency and no information loss. Although translation is a valid mechanism, it also introduces operational complexity and lower performance. Another advantage is once services are on IPv6, IPv4 can simply be discontinued, which makes IP network easier to entirely convert to IPv6 in the future. However, dual stack is not a long-term solution as it requires both IPv4 and IPv6 while the available IPv4 address is limited. This may be the biggest difficulty. What's more, dual stack has higher requirements with related devices also due to the need for both IPv4 and IPv6. Thus internal network upgrading and rebuilding is a heavy task which takes much longer time.
Tunnel is also a typical mechanism frequently used in the IPv4/IPv6 transition, which means encapsulating one type of protocol traffic within another protocol packets for transmission. And there are many different tunnel techniques, including 6to4 (IPv6 over IPv4 Tunnel), ISATAP (Intra Sita Automatic Tunnel Addressing Protocol), Teredo, 6PE (IPv6 Provider Edge), 6VPE (IPv6 VPN Provider Edge), and MPLS. MPLS was deployed by service providers in their IPv4 networks to improve forwarding speed. Compared with the traditional IP routing method, MPLS only analyzes the IP packet headers at the edge of the network instead of at every hop when forwarding the data, thus saving the processing time. MPLS tunnel connects IPv6 network via Label Switching Path (LSP) in IPv4 network. It provides better performances and optimized routing compared with other tunnel methods. MPLS tunnel can be implemented in several ways, in which 6PE over MPLS is a commonly-used one. 6PE allows running IPv6 over an IPv4-only MPLS core where we use dual stack PE routers.
Figure 2: IPv4 and IPv6 Coexistence via MPLS Tunnel.
Advantages & Disadvantages of MPLS Tunnel
6PE over MPLS can be a convenient tunnel method. Its main benefit is no impact on the MPLS core devices, thus the existing core network can be fully utilized without the need of upgrading or rebuilding which can save costs and configuration. The interfaces on the 6PE devices connecting to the CE (Customer Edge) devices can be configured to forward IPv6 traffic, IPv4 traffic, or both of them depending on the customer requirements, while these PE devices in the core network are not aware that they are switching IPv6 packets. However, the MPLS tunnel requires encapsulation and de-encapsulation which lower the forwarding efficiency. It increases the computational complexity of the entrance and exit, which is not conducive to large-scale applications. What's more, due to the coming exhaustion of IPv4 addresses also mentioned in dual stack, this tunnel method may encounter similar difficulties in the future.
Even though there are many strategies to achieve IPv4 and IPv6 coexistence, you should always keep in mind that this kind of coexistence is only a transition of some certain period of time, and deployment of IPv6 can be a long term strategy. On the other hand, IPv4 is currently dominant in IP network, and this may last for a relatively long time due to the difficulties in the promotion of IPv6. Thus it would be better for you to choose a suitable method that can be easier to deal with compatibility issues, which can help to simplify the configuration of the network and save costs.
Dual stack is a direct method enabling high performances but may have a high costing. While MPLS tunnel can fully utilize the original network but also introduces computational complexity. We recommend choosing the strategy for IPv4 and IPv6 coexistence suitable for the characteristics of your own network according to factors such as expansibility, security, network performance, cost, technical difficulty and convenience of deployment etc.