Fast address lookups using controlled prefix expansion

被引:254
作者
Srinivasan, V [1 ]
Varghese, G [1 ]
机构
[1] Washington Univ, Dept Comp Sci, Comp & Commun Res Ctr, St Louis, MO 63130 USA
来源
ACM TRANSACTIONS ON COMPUTER SYSTEMS | 1999年 / 17卷 / 01期
关键词
Binary Search on Levels; controlled prefix expansion; expanded tries; Internet address lookup; longest-prefix match; multibit tries; router performance;
D O I
10.1145/296502.296503
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Internet (IP) address lookup is a major bottleneck in high-performance routers. IP address lookup is challenging because it requires a longest matching prefix lookup. It is compounded by increasing routing table sizes, increased traffic, higher-speed links, and the migration to 128-bit IPv6 addresses. We describe how IP lockups and updates can be made faster using a set of transformation techniques. Our main technique, controlled prefix expansion, transforms a set of prefixes into an equivalent set with fewer prefix lengths, In addition, we use optimization techniques based on dynamic programming, and local transformations of data structures to improve cache behavior. When applied to trie search, our techniques provide a range of algorithms (Expanded Tries) whose performance can be tuned. For example, using a processor with 1MB of L2 cache, search of the MaeEast database containing 38000 prefixes can be done in 3 L2 cache accesses. On a 300MHz Pentium II which takes 4 cycles for accessing the first word of the L2 cacheline, this algorithm has a worst-case search time of 180 nsec., a worst-case insert/delete time of 2.5 msec., and an average insert/delete time of 4 usec. Expanded tries provide faster search and faster insert/delete times than earlier lookup algorithms. When applied to Binary Search on Levels, our techniques improve worst-case search times by nearly a factor of 2 (using twice as much storage) for the MaeEast database. Our approach to algorithm design is based on measurements using the VTune tool on a Pentium to obtain dynamic clock cycle counts. Our techniques also apply to similar address lookup problems in other network protocols.
引用
收藏
页码:1 / 40
页数:40
相关论文
共 2 条
[1]   Trading packet headers for packet processing [J].
Chandranmenon, GP ;
Varghese, G .
IEEE-ACM TRANSACTIONS ON NETWORKING, 1996, 4 (02) :141-152
[2]  
[No title captured]