Small forwarding tables for fast routing lookups
Author(s) -
Mikael Degermark,
Andrej Brodnik,
Svante Carlsson,
Stephen Pink
Publication year - 1997
Publication title -
acm sigcomm computer communication review
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.542
H-Index - 170
eISSN - 1943-5819
pISSN - 0146-4833
DOI - 10.1145/263109.263133
Subject(s) - computer science , routing table , virtual routing and forwarding , ip forwarding , computer network , packet forwarding , routing (electronic design automation) , equal cost multi path routing , forwarding plane , table (database) , source routing , network packet , parallel computing , routing protocol , database
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.Godkänd; 1997; 20080312 (ysko
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom