Abstract

Internet (IP) packet forwarding is typically done by finding the longest prefix in a router table that matches the packet's destination address. Although significant effort has been devoted to the development of data structures for static and dynamic router-tables for random packet-access-patterns, considerably less effort has been expended in the development of such structures for bursty access-patterns (i.e., streams of packets in which destination addresses repeat frequently within localized windows of packets). In this paper, we first formulate a variant, ACRBT (alternative collection of red-black trees), of the CRBT (collection of red-black trees) data structure proposed earlier for dynamic router-tables. By replacing the red-black trees used in the ACRBT with splay trees, we obtain the CST (collection of splay trees) structure in which search, insert, and delete take O( log n) amortized time per operation, where n is the number of prefixes in the router table. By replacing the front end of the CST with biased skip lists, we obtain the BSLPT (biased skip lists with prefix trees) structure in which search, insert, and delete take O( log n) expected time. The CST and BSLPT structures are designed so as to perform much better when the access pattern is bursty than when it is not. Experimental results using real IPv4 routing databases and synthetically generated search sequences as well as trace sequences are presented. For extremely bursty access patterns, the CST structure is best. Otherwise, the ACRBT is recommended. Our experiments also indicate that a supernode implementation of the ACRBT usually has better search performance than does the traditional one-element-per-node implementation.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call