| IPv4/IPv6 Dual Stack Support
There are three different networking philosophies for IPv4/IPv6 transitional mechanisms. Each has its own unique benefits and offsetting shortcomings. These are summarized below: 1. Translation: This transitional solution inserts a separate translation device between the IPv4 and IPv6 networks. The translator will convert IPv6 packets and addresses to IPv4 and vice versa.
2. Tunnels: There are a handful of different proposals for ways to tunnel IPv6 traffic over (or through) IPv4 networks, and even some strategies for tunneling IPv4 traffic across an IPv6 network. In fact, the old 6Bone experimental network was based upon tunneling. Some proposals are based upon manually configured tunnels (an arduous process, I’m sure) and others advocate constructing the tunnels automatically. Tunnel brokers or servers are even suggested for some solutions.
3. Dual Stacks: This option is based upon enabling network resources such as hosts, servers, routers and switches to support both versions of the Internet Protocol simultaneously.
IPv6 may be an optimal long-term communications solution, but all of the short-term transitional alternatives, as indicated above, are far from perfect. So far, the market forces have mostly rejected the translation option due to its security and performance challenges. Many industry pundits advocate tunneling, but they cannot seem to agree on any particular tunneling mechanism. Therefore, this general option gets lots of wordplay and socialization, but very few actual tunneling implementations can be found in production networks. Instead, the vast majority of today’s mixed IPv4/IPv6 networks are based upon dual stack support. Dual stacks typically reside in the network elements – routers and switches. Some servers also operate in dual stack modes, but those only tend to exist under exceptional circumstances. Dual stacks provide a lot of flexibility for network configurations since each version of IP operates independently. However, the downside to this solution is that the routers and switches are required to support two protocols instead of one. This directly impacts their CPU utilization, memory and forwarding capacity. In other words, there may be some severe performance implications associated with dual stack operations. The first assumption that network administrators typically make when enabling dual stack support on their routers is that all protocols will be treated equally. This becomes their first mistake! Router vendors have had two decades to debug, optimize and accelerate IPv4 packet processing algorithms. Furthermore, all of their real-world trials and tribulations have been based upon IPv4. IPv6, on the other hand, is still in its infancy. Real-word experiences and protocol optimization are extremely limited. The chart below compares the forwarding performance of a midrange edge
router running dual stacks. The histograms indicate the frequency of a
specific packet latency measurement. The upper graph clearly indicates
that IPv4 latency is consistently measured at 200 microseconds. On the
other hand, the lower graph shows that IPv6 packet latency (for identical
packet sizes, types and distribution) is considerably greater and entirely
unpredictable.
Dual stack support provides a convenient interim solution that can help networks migrate from IPv4 to IPv6. However, it is accompanied by a hefty price. Routers, switches and servers are forced to perform double duties as they try to process two protocols instead of one. The performance tax associated with dual stack operations can be severe. In fact, the additional overhead can impact IPv4 traffic and applications as well as IPv6. The bottom line is that any IPv6 migration strategy, especially dual
stack support, must be tested in your environment, with your applications
and real network traffic. Extensive testing must be conducted prior to
deploying a dual stack solution. Otherwise, your help desk will be overwhelmed
by dissatisfied network users. |