The IP address lookup problem is one of the major bottlenecks in high performance routers. Previous solutions to this problem first describe it in the general terms of longest prefix matching and, then, are experimented on real routing tables T. In this paper, we follow the opposite direction. We start out from the experimental analysis of real data and, based upon our findings, we provide a new and simple solution to the IP address lookup problem. More precisely, our solution for m-bit IP addresses is a reasonable trade-off between performing a binary search on T with O(log |T|) accesses, where |T| is the number of entries in T, and executing a single access on a table of 2m entries obtained by fully expanding T. While the previous results start out from space-efficient data structures and aim at lowering the O(log |T|) access cost, we start out from the expanded table with 2m entries and aim at compressing it without an excessive increase in the number of accesses. Our algorithm takes exactly three memory accesses and occupies O(2^m/2 + |T|^2) space in the worst case. Experiments on real routing tables for m = 32 show that the space bound is overly pessimistic. Our solution occupies approximately one megabyte for the MaeEast routing table (which has |T| ≈ 44; 000 and requires approximately 250 KB) and, thus, takes three cache accesses on any processor with 1MB of L2 cache. According to the measurement obtained by the VTune tool on a Pentium II processor, each lookup requires 3 additional clock cycles besides the ones needed for the memory accesses. Assuming a clock cycle of 3.33 nanoseconds and an L2 cache latency of 15 nanoseconds, search of MaeEast can be estimated in 55 nanoseconds or, equivalently, our method performs 18 millions of lookups per second.

IP ADDRESS LOOKUP MADE FAST AND SIMPLE / P. CRESCENZI; L. DARDINI; R. GROSSI. - STAMPA. - (1999), pp. 65-76. (Intervento presentato al convegno 7TH ANNUAL EUROPEAN SYMPOSIUM ON ALGORITHMS) [10.1007/3-540-48481-7_7].

IP ADDRESS LOOKUP MADE FAST AND SIMPLE

CRESCENZI, PIERLUIGI;
1999

Abstract

The IP address lookup problem is one of the major bottlenecks in high performance routers. Previous solutions to this problem first describe it in the general terms of longest prefix matching and, then, are experimented on real routing tables T. In this paper, we follow the opposite direction. We start out from the experimental analysis of real data and, based upon our findings, we provide a new and simple solution to the IP address lookup problem. More precisely, our solution for m-bit IP addresses is a reasonable trade-off between performing a binary search on T with O(log |T|) accesses, where |T| is the number of entries in T, and executing a single access on a table of 2m entries obtained by fully expanding T. While the previous results start out from space-efficient data structures and aim at lowering the O(log |T|) access cost, we start out from the expanded table with 2m entries and aim at compressing it without an excessive increase in the number of accesses. Our algorithm takes exactly three memory accesses and occupies O(2^m/2 + |T|^2) space in the worst case. Experiments on real routing tables for m = 32 show that the space bound is overly pessimistic. Our solution occupies approximately one megabyte for the MaeEast routing table (which has |T| ≈ 44; 000 and requires approximately 250 KB) and, thus, takes three cache accesses on any processor with 1MB of L2 cache. According to the measurement obtained by the VTune tool on a Pentium II processor, each lookup requires 3 additional clock cycles besides the ones needed for the memory accesses. Assuming a clock cycle of 3.33 nanoseconds and an L2 cache latency of 15 nanoseconds, search of MaeEast can be estimated in 55 nanoseconds or, equivalently, our method performs 18 millions of lookups per second.
1999
Algorithms - ESA’ 99
7TH ANNUAL EUROPEAN SYMPOSIUM ON ALGORITHMS
P. CRESCENZI; L. DARDINI; R. GROSSI
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in FLORE sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificatore per citare o creare un link a questa risorsa: https://hdl.handle.net/2158/237683
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 27
  • ???jsp.display-item.citation.isi??? 17
social impact