IP-address lookup using LC-tries. - Nilsson, S.
There has been a notable interest in the organization of routing information to enable fast lookup of IP addresses. The interest is primarily motivated by the goal of building multigigabit routers for the Internet, without having to rely on multilayer switching techniques. We address this problem by using an LC-trie, a trie structure with combined path and level compression. This data structure enables us to build efficient, compact, and easily searchable implementations of an IP-routing table. The structure can store both unicast and multicast addresses with the same average search times. The search depth increases as Θ(log log n) with the number of entries in the table for a large class of distributions, and it is independent of the length of the addresses. A node in the trie can be coded with four bytes. Only the size of the base vector, which contains the search strings, grows linearly with the length of the addresses when extended from 4 to 16 bytes, as mandated by the shift from IP version 4 to IP version 6. We present the basic structure as well as an adaptive version that roughly doubles the number of lookups/s. More general classifications of packets that are needed for link sharing, quality-of-service provisioning, and multicast and multipath routing are also discussed. Our experimental results compare favorably with those reported previously in the research literature
Keywords: IP-address lookup; IP-routing table; Internet; Internet protocol; LC-tries.; Adaptive version; Base vector; Classifications; Data structure; Level compression; Link sharing; Multicast addresses; Multicast routing; Multigigabit routers; Multipath routing; Packets; Path compression; Quality-of-service provisioning; Routing; Search depth; Search strings; Trie structure; Unicast addresses