Publication | Closed Access
IP lookups using multiway and multicolumn search
239
Citations
17
References
1999
Year
EngineeringComputer ArchitectureNetwork AnalysisComputational ComplexityString-searching AlgorithmInformation RetrievalData ScienceData MiningString ProcessingIntelligent SearchingParallel ComputingCombinatorial OptimizationSearch TechnologyKnowledge DiscoveryComputer EngineeringHash FunctionComputer ScienceCryptographyIp LookupsNaive Binary SearchExternal-memory AlgorithmComputational ScienceNetwork ScienceBinary SearchCombinatorial Pattern MatchingParallel ProgrammingSearch TechniqueIp Address Lookup
IP address lookup is becoming critical because of increasing routing table sizes, speed, and traffic in the Internet. Given a set S of prefixes and an IP address D, the IP address lookup problem is to find the longest matching prefix of D in set S. This paper shows how binary search can be adapted for solving the best-matching prefix problem. Next, we show how to improve the performance of any best-matching prefix scheme using an initial array indexed by the first X bits of the address. We then describe how to take advantage of cache line size to do a multiway search with six-way branching. Finally, we show how to extend the binary search solution and the multiway search solution for IPv6. For a database of N prefixes with address length W, naive binary search would take O(W*log N); we show how to reduce this to O(W+log N) using multiple-column binary search. Measurements using a practical (Mae-East) database of 38000 entries yield a worst-case lookup time of 490 ns, five times faster than the Patricia trie scheme used in BSD UNIX. Our scheme is attractive for IPv6 because of its small storage requirement (2N nodes) and speed (estimated worst case of 7 cache line reads per lookup).
| Year | Citations | |
|---|---|---|
Page 1
Page 1