6Sense: Generating New Possibilities in the New Internet.
Produced by: IPv6 Summit, Inc.

IPv6 Performance
Myths, Rumors and Facts

By Bill Kine
Product Manager
Spirent Communications

Bill Kine
Spirent Communications

There are many valid reasons to upgrade to IPv6. These include auto-configuration, the vastly expanded address space, improved security and simplified support for mobility. Another frequently mentioned benefit of IPv6 is the performance. In fact, many people claim that "IPv6 will be faster than IPv4." While a very clear case can be made for the benefits associated with the larger address space, the performance improvements are not so obvious. In fact, this an extremely imprecise issue – it is not even certain that a network's performance will necessarily improve once IPv6 is enabled. Documented below are some facts that will both confirm and refute various aspects of the myths and rumors regarding IPv6 performance.

The Good News:
IPv6 does provide some facilities that definitely streamline communications processes. To start with, the vast majority of all IPv6 packet headers are set to a fixed length of exactly 40 bytes. (Of course there are some exceptions to this rule, but this should be the case for 99% of the packets.) The fact that the headers have a consistent fixed length, as opposed to the variable sizes of IPv4 headers, greatly simplifies packet processing and forwarding. This also allows hardware vendors to implement straightforward silicon-based routing and switching algorithms that read the first 40 bytes of a packet and then make a forwarding decision.

Another significant change between IPv4 and IPv6 is the elimination of the header checksum calculation. When IPv4 was conceived over two decades ago, wide area transmission lines suffered from frequent quality problems such as noise, cross-talk, signal degradation and even outright failures. Therefore the integrity of the data carried over these lines often was questionable. Hence it was important to implement a series of checks throughout the communications process. This was accomplished with a complex mathematical checksum. Today, communications links are much more dependable. Furthermore, both the lower layer protocols such as Ethernet, along with the upper layer applications already have their own built-in checksums. Additional checksums are both unnecessary and redundant. These calculations are rather complicated and add latency to the packet processing operations, so the removal of the IP header checksums helps to further optimize IPv6 communications.

The two performance improvements mentioned above are based upon the modifications to the packet header; these are both designed to reduce the latency associated with processing an individual packet. Each of these enhancements should lead to minor reductions in the transmission delays associated with an individual switch or router. A much more significant performance improvement is likely to come from the use of the IPv6 flow label. The appropriate infrastructure already exists to support flow labels, but they have not yet been fully implemented by the IETF or hardware vendors.

The flow label is designed to allow network administrators to identify, label and optimize an end-to-end communications stream. In theory, an entire data stream – which could encompass a particular application, source/destination pair, location, or any other criteria – would be assigned a unique end-to-end flow label, located near the beginning of the IPv6 header. All of the intermediate switches and routers would then identify the packets associated with this flow based upon the value of this label. The network equipment would then know the specific forwarding, quality of service, and possibly even security characteristics associated with that particular flow. The packets can then be categorized and forwarded without any further address or application processing.

The Bad News:
Unfortunately, the IPv6 performance story is not as rosy as people think. There are some significant tradeoffs that must take place. For starters, as my colleagues Philip Joung and Ankur Chadda point out in their 6Sense article, "Does Size Matter?", IPv6 headers may be fixed at a size of 40 bytes, but that is considerably larger than most typical IPv4 headers. The additional header size (primarily due to the fact that the source and destination addresses both quadrupled in size) detracts from the data capacity of the physical media. Depending upon the packet sizes, this can impact data throughput by as much as 18%.

The next consideration is that the larger addresses will incur additional latency as they are parsed by a router in order to determine the destination network prefix. In other words, it takes longer to read and process 128-bits than 32-bits. And for that matter, the developers of the IPv6 protocol have promised that it will support truly humongous networks. This leads to much larger forwarding information bases (FIBs) within the routers. The flip side of this massive scalability is that additional latency will be necessary as the extremely large routing databases are searched for the "longest prefix" match so that the appropriate forwarding decision can be made.

IPv4 may be more than 20 years old (an eternity in Internet years!), but during that time it has been optimized quite efficiently by most equipment manufacturers. In fact, many routers and switches can now forward IPv4 traffic at the maximum speed of the media (also known as "wire rate" forwarding). This means that there is no room for improvement! IPv6 can only hope to match this data rate, and it really cannot even do that, since the address size directly impacts the throughput. Most IPv6 vendors have not had enough real world experience to be able to fully optimize their protocol implementations, so for the time being, IPv4 may enjoy a significant performance advantage.

All of these performance challenges can be summed up in one simple word – physics. Physical limits state that only a finite quantity of bits can fit on a wire, and IPv6 cannot alter that fact. And if all other variables remain unchanged, it is not possible to process more information (or longer addresses) in less time.

Your Mileage May Vary:
The performance of an IPv6 network will depend upon many factors. These include the equipment types, packet sizes, table sizes and even the applications. Users will expect the performance to be at least as good as that of IPv4, and many users will also expect to see a significant performance improvement. Network administrators should characterize the performance, based upon their unique parameters, in a lab environment before deploying IPv6. This is the only way to address the myths and rumors concerning the anticipated IPv6 performance levels. Then, and only then, can facts and results be used to set the proper expectations amongst the users.