Longest prefix matching (LPM) is a challenging subject because of the increasing routing table size, the increasing link speed, and the increasing Internet traffic with decreasing packet size. With the advent of IPv6, it requires reconsideration of the previous schemes particularly designed for IPv4. We introduce the first algorithm that we are aware of to employ divide-and-conquer method for IPv6 address 128-bit-long LPM. The algorithm divides an IPv6 address into 8 chunks of 16 bits each and the chunks are reduced recursively through several tunable phases according to the tradeoff between lookup performance and memory consumption. After exhaustive examination of IPv6 address allocation policies and 6 latest global backbone IPv6 BGP routing tables, we put forward some refinements to the basic scheme. The scheme is suitable for both software and hardware implementation. In measurements performed on a 1.1 GHz AMD Athlon machine using the real world IPv6 BGP routing tables, we can forward over several million IPv6 packets per second. When implemented in hardware adopting parallel chunk lookup and pipeline phase lookup architecture, the proposed scheme can achieve one IPv6 LPM lookup per memory access
Published in:
High Performance Switching and Routing, 2006 Workshop on
Date of Conference: 0-0 0