Publication | Open Access
Small forwarding tables for fast routing lookups
194
Citations
7
References
1997
Year
Cluster ComputingEngineeringNetwork RoutingComputer ArchitectureNetwork AnalysisHardware SecurityHigh-performance ArchitectureRouter DesignScalable RoutingParallel ComputingCombinatorial OptimizationMhz Alpha 21164Router ArchitectureComputer EngineeringRoutingHigh-speed NetworkingComputer ScienceNetwork Routing AlgorithmHardware AccelerationEdge ComputingCloud ComputingSmall Forwarding TablesParallel ProgrammingLongest Matching PrefixFull Routing Lookup
For some time, the networking community has assumed that IP routing lookups cannot be performed in software fast enough for gigabit speeds, yet they must find the longest matching prefix at millions of lookups per second, a task traditionally thought to require hardware support. This work introduces a forwarding table data structure designed to enable quick routing lookups in software. The forwarding tables are small enough to fit entirely in the cache of a conventional general‑purpose processor. The compact forwarding tables fit in cache and enable a 200 MHz Pentium Pro or 333 MHz Alpha 21164 to perform several million lookups per second, making gigabit‑speed per‑packet routing feasible without special hardware, with a 40,000‑entry table compressed to 150–160 KB and each lookup requiring fewer than 100 instructions and 14 bytes of memory.
For some time, the networking community has assumed that it is impossible to do IP routing lookups in software fast enough to support gigabit speeds. IP routing lookups must find the routing entry with the longest matching prefix, a task that has been thought to require hardware support at lookup frequencies of millions per second.We present a forwarding table data structure designed for quick routing lookups. Forwarding tables are small enough to fit in the cache of a conventional general purpose processor. With the table in cache, a 200 MHz Pentium Pro or a 333 MHz Alpha 21164 can perform a few million lookups per second. This means that it is feasible to do a full routing lookup for each IP packet at gigabit speeds without special hardware.The forwarding tables are very small, a large routing table with 40,000 routing entries can be compacted to a forwarding table of 150-160 Kbytes. A lookup typically requires less than 100 instructions on an Alpha, using eight memory references accessing a total of 14 bytes.
| Year | Citations | |
|---|---|---|
Page 1
Page 1