Benchmarking the New IP for Successful Integration
The process of integrating the new Internet Protocol version 6 has already started in the infrastructure designs or in the operational networks of multiple service providers and enterprises worldwide. Whether driven by mandates, as in the case of US defense and civilian government agencies, by IPv4 address space constraints, as in the case of large MSOs, or by application requirements, as in the case of upcoming Microsoft Vista and Longhorn, the IPv6 adoption is becoming a near future target that requires careful planning for its optimal and cost-effective deployment. Deployment planning starts with identifying the architecture of the future network and of supported IPv6 services. This architecture translates into a set of functionality and performance requirements for each element of the network, requirements used to determine the IPv6 readiness of existent or “to be procured” equipment. While most of these requirements and their implications are well understood due to strong similarities with IPv4, there is a small but critically important subset that is IPv6 specific, and it requires a good understanding of the new protocol set. Insufficient coverage of IPv6 specific requirements could lead to operational challenges down the road. Benchmarking IPv6 network element performance becomes an essential guide to requirements definition and to equipment evaluation. The value, benefits and importance of consistent benchmarking has been demonstrated in the case of IPv4. RFC 2544 standardizes the key IP performance metrics and the methodology to measure them. It provides guidelines for defining requirements and facilitates apple-to-apple comparison of performance data between various platforms. Benchmarks such as: Throughput, Latency, Frame Loss Rate, System Recovery and Reset are clearly defined, while detailed test procedures highlight the importance of evaluating these benchmarks under relevant operational conditions, such as routers with traffic filters applied. RFC 2544 is the de facto standard for IPv4 benchmarking. What about IPv6? Why Is RFC 2544 insufficient for benchmarking IPv6? For the most part, RFC 2544 is IP version agnostic, and its recommendations and methodologies apply equally to IPv4 and to IPv6. Certain aspects of IPv6 must of course be taken into consideration when executing tests and interpreting the data. IPv6 address length is four times larger than the IPv4 one, and even though prefix assignment policies and recommendations might reduce the number of relevant bits, it has an impact on lookup processes. The fixed 40 bytes long IPv6 header is 20 bytes longer than the typical IPv4 header. This size difference typically makes the IP packet per second (pps) throughput rates smaller for IPv6 than for IPv4, a phenomenon most evident at lower packet sizes, where the header represents a significant percentage of the total packet. These are examples of simple considerations that should naturally accompany the analysis of IPv6 performance data obtained through RFC 2544 based tests. More interesting and important, however, is to look at the less obvious aspects of IPv6, aspects that could have a significant impact on performance. A router’s handling of these protocol features would indicate whether or not it was designed with IPv6 in mind. One of the significant changes in the new version of IP is the packet header structure and the rules for processing various headers. Along with the main header, which contains information most commonly used in packet forwarding, a set of extension headers was defined that could carry, in a structured way, additional information. These headers are a strong advantage for IPv6, since they provide protocol extensibility. Processing rules for extension headers are designed to improve forwarding, however, under certain conditions, they can have an impact on performance. These are reasonable concerns, since extension headers are commonly used in cases such as: Fragmentation, Mobile IP and Authentication or Encryption of packets. As far as the router is concerned, extension headers (EH) are part of the packet payload. Routers will not process EH unless certain functions, such as support of Mobile IP, require that operation. Only one extension header must be processed by each hop in the path of the packet, the Hop-by-Hop EH. Since the structure of the Hop-by-Hop header may vary, it is difficult to implement the processing of all its options in hardware. For this reason, traffic with the Hop-by-Hop EH typically is handled by the CPU, and it can have a performance impact on the router. It is thus important to understand a router’s capabilities in processing Hop-by-Hop EH, and the availability of tools to throttle traffic with this extension header type, which is legitimately used in support of Router Alert (for example in the case of Multicast Listener Discovery), and for RSVP or potentially IP Jumbograms, in case of data link layers supporting more than a 64K data payload. Another important case to consider is that of traffic with a chain of extension headers going through a router’s interface that has packet filtering (also called access lists) applied to it. If upper layer information, such as TCP or UDP ports, is filtered, then the router must hop from one EH to the other until it gets to it. This level of processing can impact the forwarding performance, particularly in the case of hardware assisted platforms. Network elements that were not designed with IPv6 in mind will be unable to process the EH chain in hardware and push the traffic in the slow path in order to have the upper layer protocol information extracted, or, even worse, they may have to drop the packet if unable to handle this case. Extension headers are an integral part of the protocol, and they are in use, so it is important to include them in the process of evaluating IPv6 performance. A complete protocol benchmarking is essential to the success of IPv6 deployments. We should not forget that IPv6 is likely to be deployed in existing operational infrastructures, so benchmarking its co-existence with IPv4 is equally important. RFC 2544 remains the primary guideline for this process, however, in recognition of the need for additional IPv6 specifics and co-existence test methodology, work is currently being done on this topic within the IETF. The Benchmarking and IPv6 Operations Working Groups have contributed to “IPv6 Benchmarking Methodology” ( http://tools.ietf.org/wg/bmwg/draft-popoviciu-bmwg-ipv6benchmarking-01.txt ), an IPv6 complement to RFC 2544. Together, these two documents will enable you to thoroughly evaluate the IPv6 performance of a router. |