The Experts below are selected from a list of 2250 Experts worldwide ranked by ideXlab platform
Paolo Penna - One of the best experts on this subject based on the ideXlab platform.
-
Theory of Computing Systems © 2005 Springer Science+Business Media, Inc. XOR-Based Schemes for Fast Parallel IP Lookups ∗
2013Co-Authors: Giancarlo Bongiovanni, Paolo PennaAbstract:Abstract. An IP router must forward packets at gigabit speed in order to guarantee a good quality of service. Two important factors make this task a challenging problem: (i) for each packet, the longest Matching Prefix in the forwarding table must be quickly computed; (ii) the routing tables contain several thousands of entries and their size grows significantly every year. Because of this, parallel routers have been developed which use several processors to forward packets. In this work we present a novel algorithmic technique which, for the first time, exploits the parallelism of the router also to reduce the size of the routing table. Our method is scalable and requires only minimal additional hardware. Indeed, we prove that any IP routing table T can be split into two subtables T1 and T2 such that: (a) |T1| can be any positive integer k ≤|T | and |T2 | ≤|T |−k + 1; (b) the two routing tables can be used separately by two processors so that the IP lookup on T is obtained by simply XOR-ing the IP lookup on the two tables. Our method is independent of the data structure used to implement the lookup search and it allows for a better use of the processors L2 cache. For real routers routing tables, we also show how to achieve simultaneously: (a) |T1 | is roughly 7 % of the original table T; (b) the lookup on table T2 does not require the best Matching Prefix computation
-
XOR-based schemes for fast parallel IP lookups
'Springer Science and Business Media LLC', 2005Co-Authors: Giancarlo Bongiovanni, Paolo PennaAbstract:An IP router must forward packets at gigabit speed in order to guarantee a good quality of service. Two important factors make this task a challenging problem: (i) for each packet, the longest Matching Prefix in the forwarding table must be quickly computed; (ii) the routing tables contain several thousands of entries and their size grows significantly every year. Because of this, parallel routers have been developed which use several processors to forward packets. In this work we present a novel algorithmic technique which, for the first time, exploits the parallelism of the router also to reduce the size of the routing table. Our method is scalable and requires only minimal additional hardware. Indeed, we prove that any IP routing table T can be split into two subtables T-1 and T-2 such that: ( a) | T-1| can be any positive integer k < | T | and | T-2|
-
XOR-based schemes for fast parallel IP lookups
2003Co-Authors: Giancarlo Bongiovanni, Paolo PennaAbstract:Abstract. An IP router must forward packets at gigabit speed in order to guarantee a good QoS. Two important factors make this task a challenging problem: (i) for each packet, the longest Matching Prefix in the forwarding table must be computed; (ii) the routing tables contain several thousands of entries and their size grows significantlyeveryyear. Because of this, parallel routers have been developed which use several processors to forward packets. In this work, we present a novel algorithmic technique which, for the first time, exploits the parallelism of the router to also reduce the size of the routing table. Our method is scalable and requires onlya minimal additional hardware. Indeed, we prove that anyIP routing table T can be split into two subtables T1 and T2 such that: (a) |T1 | can be anypositive integer k ≤|T | and |T2 | ≤|T |−k; (b) the two routing tables can be used separatelybytwo processors so that the IP lookup on T is obtained bysimplyXOR-ing the IP lookup on the two tables. Our method is independent on the data structure used to implement the lookup search and it allows for a better use of the processors L2 cache. For real routers routing tables, we also show how to achieve simultaneously: (a) |T1 | is roughly7 % of the original table T; (b) the lookup on table T2 does not require the best Matching Prefix computation.
Giancarlo Bongiovanni - One of the best experts on this subject based on the ideXlab platform.
-
Theory of Computing Systems © 2005 Springer Science+Business Media, Inc. XOR-Based Schemes for Fast Parallel IP Lookups ∗
2013Co-Authors: Giancarlo Bongiovanni, Paolo PennaAbstract:Abstract. An IP router must forward packets at gigabit speed in order to guarantee a good quality of service. Two important factors make this task a challenging problem: (i) for each packet, the longest Matching Prefix in the forwarding table must be quickly computed; (ii) the routing tables contain several thousands of entries and their size grows significantly every year. Because of this, parallel routers have been developed which use several processors to forward packets. In this work we present a novel algorithmic technique which, for the first time, exploits the parallelism of the router also to reduce the size of the routing table. Our method is scalable and requires only minimal additional hardware. Indeed, we prove that any IP routing table T can be split into two subtables T1 and T2 such that: (a) |T1| can be any positive integer k ≤|T | and |T2 | ≤|T |−k + 1; (b) the two routing tables can be used separately by two processors so that the IP lookup on T is obtained by simply XOR-ing the IP lookup on the two tables. Our method is independent of the data structure used to implement the lookup search and it allows for a better use of the processors L2 cache. For real routers routing tables, we also show how to achieve simultaneously: (a) |T1 | is roughly 7 % of the original table T; (b) the lookup on table T2 does not require the best Matching Prefix computation
-
XOR-based schemes for fast parallel IP lookups
'Springer Science and Business Media LLC', 2005Co-Authors: Giancarlo Bongiovanni, Paolo PennaAbstract:An IP router must forward packets at gigabit speed in order to guarantee a good quality of service. Two important factors make this task a challenging problem: (i) for each packet, the longest Matching Prefix in the forwarding table must be quickly computed; (ii) the routing tables contain several thousands of entries and their size grows significantly every year. Because of this, parallel routers have been developed which use several processors to forward packets. In this work we present a novel algorithmic technique which, for the first time, exploits the parallelism of the router also to reduce the size of the routing table. Our method is scalable and requires only minimal additional hardware. Indeed, we prove that any IP routing table T can be split into two subtables T-1 and T-2 such that: ( a) | T-1| can be any positive integer k < | T | and | T-2|
-
XOR-based schemes for fast parallel IP lookups
2003Co-Authors: Giancarlo Bongiovanni, Paolo PennaAbstract:Abstract. An IP router must forward packets at gigabit speed in order to guarantee a good QoS. Two important factors make this task a challenging problem: (i) for each packet, the longest Matching Prefix in the forwarding table must be computed; (ii) the routing tables contain several thousands of entries and their size grows significantlyeveryyear. Because of this, parallel routers have been developed which use several processors to forward packets. In this work, we present a novel algorithmic technique which, for the first time, exploits the parallelism of the router to also reduce the size of the routing table. Our method is scalable and requires onlya minimal additional hardware. Indeed, we prove that anyIP routing table T can be split into two subtables T1 and T2 such that: (a) |T1 | can be anypositive integer k ≤|T | and |T2 | ≤|T |−k; (b) the two routing tables can be used separatelybytwo processors so that the IP lookup on T is obtained bysimplyXOR-ing the IP lookup on the two tables. Our method is independent on the data structure used to implement the lookup search and it allows for a better use of the processors L2 cache. For real routers routing tables, we also show how to achieve simultaneously: (a) |T1 | is roughly7 % of the original table T; (b) the lookup on table T2 does not require the best Matching Prefix computation.
George Varghese - One of the best experts on this subject based on the ideXlab platform.
-
scalable high speed Prefix Matching
ACM Transactions on Computer Systems, 2001Co-Authors: Marcel Waldvogel, George Varghese, Jon Turner, Bernhard PlattnerAbstract:Finding the longest Matching Prefix from a database of keywords is an old problem with a number of applications, ranging from dictionary searches to advanced memory management to computational geometry. But perhaps today's most frequent best Matching Prefix lookups occur in the Internet, when forwarding packets from router to router. Internet traffic volume and link speeds are rapidly increasing; at the same time, a growing user population is increasing the size of routing tables against which packets must be matched. Both factors make router Prefix Matching extremely performance critical.In this paper, we introduce a taxonomy for Prefix Matching technologies, which we use as a basis for describing, categorizing, and comparing existing approaches. We then present in detail a fast scheme using binary search over hash tables, which is especially suited for Matching long addresses, such as the 128 bit addresses proposed for use in the next generation Internet Protocol, IPv6. We also present optimizations that exploit the structure of existing databases to further improve access time and reduce storage space.
-
ip lookups using multiway and multicolumn search
IEEE ACM Transactions on Networking, 1999Co-Authors: Butler W Lampson, Vikram Srinivasan, George VargheseAbstract: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).
-
scalable best Matching Prefix lookups
Principles of Distributed Computing, 1998Co-Authors: Marcel Waldvogel, George Varghese, Jonathan S Turner, Bernhard PlattnerAbstract:All global routing protocols use hierarchies to allow scaling to a world wide community while keeping the routing database size manageable. Databases of variable length Prefixes are a powerful tool for providing this in a flexible manner, but require a Longest Prefix Matching algorithm. In this paper, we report a fundamentally new solution that is both algorithmically interesting and practical. Our scheme is based on doing binary search on hash tables organized by Prefix lengths, and scales very well as address and routing table sizes increase: independent of the table size, it requires a worst case time of hash lookups. With the current Internet Protocol, which uses 32 bit addresses, at most 5 hash lookups are needed; for the upcoming 128 bit addresses of the next generation Internet Protocol (IPv6), 7 lookups suffice. Several refinements, including specializing the Binary Search with every match, considerably reduce the average number of hash search steps to less than 2. 1 The Lookup Problem Messages on the Internet are ferried by a system of automated post offices, called routers, that are interconnected by communication links. For each message received from any of its input links, the router decides which of its outgoing links it will forward this message to based on the destination address encoded in the packet. Because of the flexible hierarchies needed to avoid database size explosion, this forwarding decision cannot be done by a simple exact match but by Longest Prefix Matching. To keep up with faster links, each lookup should take a few hundred nanoseconds. Internet addresses are 32 bit strings, and each Prefix length can be vary from 1 to 32 bits. Most current implementations are based on bitwise branching tries. Thus, each possible length is tested sequentially, requiring up to the number of address bits memory accesses; this is too slow for high-speed routers. 2 Binary Search on Prefix Lengths Instead of searching for Prefixes one length at a time, the new scheme divides the problem in half at each stage. Instead of asking if the longest Prefix is at length 1, length 2, etc. (the naive way), the new scheme does binary search on the set of possible Prefix lengths. Suppose we could start by asking the question “Given our Prefix database and the current message’s destination address, does the longest Prefix Matching this address have a length in the range from ”. If the answer is no, we know the answer must be in the range ! " ; so we can cut down the range further by asking whether the longest Prefix length is in the range # " . If we continue in the same way, we will do binary search on Prefix lengths and find the correct length Prefix in time that is logarithmic in the address length. However, there are some pitfalls to be avoided. They can be demonstrated using a small database with U.S. destinations organized in Country.State.City format, containing the Prefixes USA.* (which is stored in the length 1 table); USA.CA.* (length 2), and USA.MO.SL (length 3). First, suppose we get a packet destined for USA.CA.LA. We don’t know which length the correct Prefix has, so we start with the middle (length 2) database, extract the first 2 symbols and get a match with USA.CA.*. Thus, we can immediately discard the length 1 table (as we have already found a longer match) but we certainly need to search the length 3 table as it may have a longer match. This gives us a simple rule: we start by looking for a match (using say hashing) in the database corresponding to the middle length of our current set. If we get a match, we try lengths longer than the probe; if we do not, we try shorter Prefixes, halving the range of Prefix lengths with each step. To make this rule work in all cases (e.g. when searching for USA.MO.SL) we need to introduce a signpost at length 2. These are pseudo-Prefixes, pointing the search routine towards the longer Prefixes. Without this signpost (USA.MO.*), no match would be found at length 2, and shorter Prefixes would be searched, missing the USA.MO.SL entry. Second, consider a search for the destination address USA.MO.KC. The new signpost in the length 2 table will lead us to length 3, where we won’t get a match. The real longest Prefix of USA.MO.KC is USA.* in the length 1 table. This problem can be solved without inefficient backtracking by storing a reference to the correct Prefix with the signpost. Still, the final search procedure is simple and fast (extremely small constant factors).
-
faster ip lookups using controlled Prefix expansion
Measurement and Modeling of Computer Systems, 1998Co-Authors: Vikram Srinivasan, George VargheseAbstract: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 lookups can be made faster using a new technique called controlled Prefix expansion. Controlled Prefix expansion, together with optimization techniques based on dynamic programming, can be used to improve the speed of the best known IP lookup algorithms by at least a factor of two. When applied to trie search, our techniques provide a range of algorithms whose performance can be tuned. For example, with 1 MB of L2 cache, trie search of the MaeEast database with 38,000 Prefixes can be done in a worst case search time of 181 nsec, a worst case insert/delete time of 2.5 msec, and an average insert/delete time of 4 usec. Our actual experiments used 512 KB L2 cache to obtain a worst-case search time of 226 nsec, a worst-case worst case insert/delete time of 2.5 msec and an average insert/delete time of 4 usec. We also describe how our techniques can be used to improve the speed of binary search on Prefix lengths to provide a scalable solution for IPv6. Our approach to algorithm design is based on measurements using the VTune tool on a Pentium to obtain dynamic clock cycle counts.
-
ip lookups using multiway and multicolumn search
International Conference on Computer Communications, 1998Co-Authors: Butler W Lampson, Vikram Srinivasan, George VargheseAbstract:IP address lookup is becoming critical because of increasing routing table size, speed, and traffic in the Internet. Our paper shows how binary search can be adapted for best Matching Prefix using two entries per Prefix and by doing precomputation. 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 6-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 scheme would take O(W*logN); we show how to reduce this to O(W+logN) using multiple column binary search. Measurements using a practical (Mae-East) database of 30000 entries yield a worst case lookup time of 490 nanoseconds, five times faster than the Patricia trie scheme used in BSD UNIX. Our scheme is attractive for IPv6 because of small storage requirement (2N nodes) and speed (estimated worst case of 7 cache line reads).
Walid Dabbous - One of the best experts on this subject based on the ideXlab platform.
-
survey and taxonomy of ip address lookup algorithms
IEEE Network, 2001Co-Authors: M A Ruizsanchez, Ernst W Biersack, Walid DabbousAbstract:Due to the rapid growth of traffic in the Internet, backbone links of several gigabits per second are commonly deployed. To handle gigabit-per-second traffic rates, the backbone routers must be able to forward millions of packets per second on each of their ports. Fast IP address lookup in the routers, which uses the packet's destination address to determine for each packet the next hop, is therefore crucial to achieve the packet forwarding rates required. IP address lookup is difficult because it requires a longest Matching Prefix search. In the last couple of years, various algorithms for high-performance IP address lookup have been proposed. We present a survey of state-of-the-art IP address lookup algorithms and compare their performance in terms of lookup speed, scalability, and update overhead.
Pichung Wang - One of the best experts on this subject based on the ideXlab platform.
-
efficient entry reduction algorithm for tcam based ip forwarding engine
IEE Proceedings - Communications, 2005Co-Authors: Pichung Wang, Chiatai Chan, R C Chen, Hungyi ChangAbstract:Ternary content-addressable memory has been widely used to perform fast routing lookups. It is able to accomplish the best Matching Prefix searching in O(1) time without considering the number of Prefixes and their lengths. As compared to the software-based solutions, the ternary content-addressable memory can offer sustained throughput and simple system architecture. However, it also comes with several shortcomings, such as the limited number of entries, enormous cost and power consumption. Accordingly, an efficient algorithm is proposed to reduce the required size of ternary content-addressable memory. The proposed scheme can eliminate 98% of ternary content-addressable memory entries by adding comparatively little DRAM and, thus, is attractive for IPv6 routing lookup.
-
efficient ip forwarding engine with incremental update
Journal of High Speed Networks, 2004Co-Authors: Shuocheng Hu, Chiatai Chan, Hungyi Chang, Pichung WangAbstract:Nowadays, the commonly used table lookup scheme for IP routing is based on the so-called classless interdomain routing (CIDR). With CIDR, routers must find out the best Matching Prefix (BMP) for IP packets forwarding, which complicates the IP lookup. Since the IP lookup performance is a major design issue for the new generation routers, in this article we investigate the properties of the routing table and present a new IP lookup scheme. By using the proposed scheme, the size of the forwarding table can be compressed to 360 Kbytes for a large routing table with 58 000 routing entries. The data structure for the incremental update is also introduced by adding 40p storage. The new data structure, could accomplish a single route update within 100 ns. Even where route flaps impede lookup performance, the performance degrades by only 0.05p with 4000 route updates per second. Furthermore, this scheme is IPv6 scalable.