| K. Sklower. A tree-based routing table for Berkeley Unix. Technical report, University of California, Berkeley, 1993. |
....bytes is read, then accessing two different bytes in the 32 byte line is counted as part of the same memory reference. III. PREVIOUS WORK AND OUR CONTRIBUTIONS In this section, we review previous work on the longest matching prefix problem. The current NetBSD implementation of IP lookup [13] [14] uses a Patricia trie, which processes an address one bit at a time. On a 200 MHz Pentium with about 38 000 entries in the routing table, this takes 1.5 2.5 s on average. Many authors have proposed tries of high radix [15] but only for exact matching of addresses. OSI address lookups are done ....
....binary trees (into which insertion deletion is cheap) E. Comparing Six Way Search to Other Algorithms So far, we have been using the Patricia trie code extracted from NetBSD as a baseline comparison. However, this is not really a fair comparison for the following reasons. First, the NetBSD code [14] uses backtracking, which slows down the code, and can be removed by simple optimizations. Second, the NetBSD code performs other functions besides basic IP lookup, which may increase lookup times and increase memory usage. However, in the last two years, there have been a number of other ....
K. Sklower, "A tree-based routing table for Berkeley unix," presented at the 1991 Winter Usenix Conf., Dallas, TX.
....searching [12] are not applicable, as their performance would not scale. Fortunately, the third characteristic means that specialized data structures can be designed with the desired performance levels. There are many papers in the literature proposing schemes to solve the IP routing problem [7, 8, 9, 10, 11, 20, 24, 27, 28] with various tradeoffs based on memory consumption or memory hierarchies. We are not aware of any published work that generalizes to bounded strings such as telephone numbers, however. Work on routing Internet packets [20] exploits a simple relationship between IP prefixes and nested intervals ....
....based on one alphabet can also be used for strings based on another. Thus, under the right conditions, the data structures invented for IP routing can be used for general LPM. Retries are in the general class of multi level table look up schemes used for both hardware [14, 17, 22] and software [8, 9, 24, 27, 28] implementations for IP routing. Since modern machines use memory hierarchies with sometimes dramatically different performance levels, some of these works attempt to build data structures conforming to the memory hierarchies at hand. Both the LC trie scheme of Nilsson and Karlsson [24] and the ....
K. Sklower. A tree-based routing table for Berkeley UNIX. In Proc. USENIX Winter 1991.
....information about host router changes made in one part of the Internet need not be propagated throughout the Internet. Several solutions for the IP lookup problem (i.e. finding the longest matching prefix) have been proposed. IP lookup in the BSD kernel is done using the Patricia data structure [17], which is a variant of a compressed binary trie [8] This scheme requires O(W) memory accesses per lookup. We note that the lookup complexity of longest prefix matching algorithms is generally measured by the number of accesses made to main memory (equivalently, the number of cache misses) ....
K. Sklower, A tree-based routing table for Berkeley Unix, Technical Report, University of California, Berkeley, 1993.
....9.1.2. Forwarding Tables Once the correct forwarding table has been selected, FIRE follows the standard IP forwarding mechanism and finds a best matching prefix for the destination address. Due to the additional performance cost of filtering, we replaced the standard BSD radix trie lookup tables [32] (O(W ) performance, where W is the length of an address) with the ETH WASHU lookup algorithm [35] This algorithm both reduces the worst case lookup to O(log 2 W ) and is more space efficient than the BSD algorithm. We note that in kernel packet filtering itself is not new, and is used for ....
K. SKLOWER, "A tree-based routing table for Berkeley Unix," Technical report, UC Berkeley (1993).
....of average case lookup cost) than extensible hashing. Evidence relating to scalability issues are presented as well. A. Related Research The literature on efficient implementation of IP routing is impressively varied. The classical implementation of IP routing for the BSD kernel is described in [1]. True to the spirit of UNIX, simplicity is not sacrificed for performance. In [2] 3] 4] hardware and cache based solutions are proposed. Hardware solutions tend to become expensive and outdated, while cache based solutions do not avoid the central issue of prefix matching. A similar argument ....
K. Sklower, "A Tree-Based Routing Table for Berkeley Unix", Proceedings of the 1991 Winter Usenix Conference.
....possible length of a prefix. In IPv4, W = 32 and in IPv6, W = 128. Ruiz Sanchez, Biersack, and Dabbous [11] review data structures for static LMPTs and Sahni, Kim, and Lu [17] review data structures for both static and dynamic LMPTs. Several trie based data structures for LMPTs have been proposed [18, 1, 2, 10, 19, 12, 13]. Structures such as that of [18] perform each of the dynamic router table operations (lookup, insert, delete) in O(W) time. Others (e.g. 1, 2, 10, 19, 12, 13] attempt to optimize lookup time and memory requirement through an expensive preprocessing step. These structures, while providing very ....
....W = 128. Ruiz Sanchez, Biersack, and Dabbous [11] review data structures for static LMPTs and Sahni, Kim, and Lu [17] review data structures for both static and dynamic LMPTs. Several trie based data structures for LMPTs have been proposed [18, 1, 2, 10, 19, 12, 13] Structures such as that of [18] perform each of the dynamic router table operations (lookup, insert, delete) in O(W) time. Others (e.g. 1, 2, 10, 19, 12, 13] attempt to optimize lookup time and memory requirement through an expensive preprocessing step. These structures, while providing very fast lookup capability, have a ....
K. Sklower, A tree-based routing table for Berkeley Unix, Technical Report, University of California, Berkeley, 1993. 26
....information about host router changes made in one part of the Internet need not be propagated throughout the Internet. Several solutions for the IP lookup problem (i.e. finding the longest matching prefix) have been proposed. IP lookup in the BSD kernel is done using the Patricia data structure [15], which is a variant of a compressed binary trie [7] This scheme requires O(W) memory accesses per lookup. We note that the lookup complexity of longest prefix matching algorithms is generally measured by the number of accesses made to main memory (equivalently, the number of cache misses) ....
K. Sklower, A tree-based routing table for Berkeley Unix, Technical Report, University of California, Berkeley, 1993.
....A.2 Forwarding tables Once the correct forwarding table has been selected, FIRE follows the standard IP forwarding mechanism and finds a best matching prefix for the destination address. Due to the additional performance cost of filtering, we replaced the standard BSD radix trie lookup tables [40] (O(W ) performance, where W is the length of an address) with the ETH WASHU lookup algorithm [47] This algorithm both reduces the worst case lookup to O(log W ) and is more space efficient than the BSD algorithm. B. Sandboxing Each algorithm or applet is run in its own Java Virtual Machine ....
K. Sklower. A tree-based routing table for Berkeley Unix. Technical report, University of California, Berkeley, 1993.
....in the early 1990s to curtail the growth of routing table entries. It required the longest prefix match of routing table entries to determine the next hop. This has turned out be the most compute expensive part of forwarding. Initial implementations of longest prefix match used radix tries [29]. Modifications to Content Addressable Memory (CAM) were made in [18] to solve the problem in hardware. Caching has been shown to improve the lookup performance in [24] Recently [13] used an innovative data structure to collapse the routing table into a very small forwarding table. The forwarding ....
Keith Skowler, "A tree-based routing table for Berkeley Unix", Technical Report, University of California, Berkeley, 1993.
....algorithms. For the rest of this paper, we use BMP as a shorthand for Best Matching Prefix and W for the length of an address (32 for v4, and 128 for v6) 3 Classical Schemes: The most commonly available IP lookup implementation is found in the BSD kernel, and is a radix trie implementation [Skl] If W is the length of an address, the worst case time in the basic implementation can be shown to be O(W ) Thus the implementation can require up to 32 or 128 worst case costly memory accesses (for IPv4 or IPv6, respectively) Even in the best case, with binary branching and 40,000 prefixes, a ....
Keith Sklower. A tree-based routing table for berkeley unix. Technical report, University of California, Berkeley.
....are given in Section 7. 2 Related work Speeding up IP lookups is an important topic that has received considerable attention in recent years. Three major directions were taken: 1) Better implementations of the data structures and search techniques in the router, mostly software based, [23, 19, 26, 6, 11], 2) Hardware approaches to enable fast lookups with parallelism in the hardware, 12, 13] and (3) Avoiding the lookup process by adding indexing keys, such as labels, and flow identifiers in the packet headers [16, 2, 21, 1] Data structures and algorithms: The standard IP lookup algorithm ....
.... parallelism in the hardware, 12, 13] and (3) Avoiding the lookup process by adding indexing keys, such as labels, and flow identifiers in the packet headers [16, 2, 21, 1] Data structures and algorithms: The standard IP lookup algorithm currently in use is based on radix trie (or Patricia) [22, 23]. In this implementation the prefixes are efficiently represented in a Trie (see Subsection 3.1 for definition) Each address lookup is performed by scanning the address bit by bit and matching it along a path in the trie. The worse case cost of an IP lookup is thus O(W ) where W is the address ....
[Article contains additional citation context not shown here]
Sklower, K. A tree-based routing table for berkeley unix. Tech. rep., 1992.
.... domain falls roughly into two categories: i) system approaches where static data structures and algorithms have been designed and tested for a typical set of prefixes at a typical router [14] 15] and, ii) dynamic optimizations where the performance is enhanced by the particulars of a prefix set [16], 17] 18] Clearly prefix set dependent optimizations benefit from data dependent information that is not exploited by data independent techniques, and thus if the dynamic optimizations are not too costly, we should perform such optimizations. Our work falls into the latter category, but ....
Keith Sklower, "A Tree-based Routing Table for Berkeley UNIX". Technical Report, University of California, Berkeley.
....are given in Section 7. 2 Related work Speeding up IP lookups is an important topic that has received considerable attention in recent years. Three major directions were taken: 1) Better implementations of the data structures and search techniques in the router, mostly software based, [6, 7, 8, 9, 10], 2) Hardware approaches to enable fast lookups with parallelism in the hardware, 11, 12] and (3) Avoiding the lookup process by adding indexing keys, such as labels, and flow identifiers in the packet headers [2, 5, 3, 4] Data structures and algorithms: The standard IP lookup algorithm ....
.... with parallelism in the hardware, 11, 12] and (3) Avoiding the lookup process by adding indexing keys, such as labels, and flow identifiers in the packet headers [2, 5, 3, 4] Data structures and algorithms: The standard IP lookup algorithm currently in use is based on radix trie (or Patricia) [13, 6]. In this implementation the prefixes are efficiently represented in a Trie (see Subsection 3.1 for definition) Each address lookup is performed by scanning the address bit by bit and matching it along a path in the trie. The worse case cost of an IP lookup is thus O(W ) where W is the address ....
[Article contains additional citation context not shown here]
K. Sklower, "A tree-based routing table for berkeley unix," tech. rep., 1992.
....the route that matches the longest prefix of the destination address is chosen very fast algorithms that implement this rule are not at all obvious nor are they straightforward to implement. In light of this, a growing body of work has addressed the problem of fast IP route lookup [1] 2] [4], 5] 6] 7] 4] is an early well known implementation of address lookup, which uses PATRICIA Tree [11] 6] discussed a hardware implementation of address lookup. 7] proposed a novel adaptation of binary search for address lookup. The other papers discussed implementations of address lookup ....
....the longest prefix of the destination address is chosen very fast algorithms that implement this rule are not at all obvious nor are they straightforward to implement. In light of this, a growing body of work has addressed the problem of fast IP route lookup [1] 2] 4] 5] 6] 7] [4] is an early well known implementation of address lookup, which uses PATRICIA Tree [11] 6] discussed a hardware implementation of address lookup. 7] proposed a novel adaptation of binary search for address lookup. The other papers discussed implementations of address lookup that use lookup ....
[Article contains additional citation context not shown here]
Keith Sklower, "A Tree-based Routing Table for Berkeley UNIX". Technical Report, University of California, Berkeley.
....Work and Our Contributions [MTW95] uses content addressable memories(CAMs) for implementing best matching prefix. Their scheme uses a separate CAM for each possible prefix length. For IPv4 this can require 32 CAMs and 128 CAMs for IPv6, which is expensive. The current NetBSD implementation [SW95, Skl] uses a Patricia Trie which processes an address one bit at a time. On a 200 MHz pentium, with about 33,000 entries in the routing table, this takes 1.5 to 2.5 s on the average. These numbers will worsen with larger databases. Skl] mentions that the expected number of bit tests for the patricia ....
....which is expensive. The current NetBSD implementation [SW95, Skl] uses a Patricia Trie which processes an address one bit at a time. On a 200 MHz pentium, with about 33,000 entries in the routing table, this takes 1.5 to 2.5 s on the average. These numbers will worsen with larger databases. [Skl] mentions that the expected number of bit tests for the patricia tree is 1.44 log N, where N is the 2 number of entries in the table. For N=32000, this is over 21 bit tests. With memory accesses being very slow for modern CPUs, 21 memory accesses is excessive. Patricia tries also use skip counts ....
Keith Sklower. A Tree-Based Routing Table for Berkeley Unix. Technical report, University of California, Berkeley.
....recent algorithms. For the rest of this paper, we use BMP as a shorthand for Best Matching Prefix and W for the length of an address (32 for v4, and 128 for v6) Classical Schemes: The most commonly available IP lookup implementation is found in the BSD kernel, and is a radix trie implementation [Sklower 1991]. If W is the length of an address, the worst case time in the basic implementation can be shown to be O(W ) Thus the implementation can require up to 32 or 128 worst case costly memory accesses for IPv4 and IPv6 respectively. Even in the best case, with binary branching and 40,000 prefixes, ....
....[Wilkinson et al. 1998] In this technique, trie nodes with only one pointer are removed and substituted with an equivalent bit string. Path compression differs slightly from the more standard technique for compressing one way branches using a skip count, is described in [Knuth 1973] and used in [Sklower 1991]. An important advantage of path compression over skip count compression is that path compression does not require backtracking [Sklower 1991; Stevens 1994] during search. Using path compression, the number of trie nodes used to store n prefixes can be shown to be no more than 2n. Path compression ....
[Article contains additional citation context not shown here]
Sklower, K. 1991. A Tree-Based Routing Table for Berkeley Unix. Proceedings of the 1991 Winter Usenix Conference.
....Thus, as in the software case, it pays to align data structures, so that memory references are made to adjacent locations. 3 Previous Work and Our Contributions In this section, we review previous work on the longest matching prefix problem. The current NetBSD implementation of IP lookup [25, 23] uses a Patricia Trie which processes an address one bit at a time. On a 200 MHz pentium, with about 33,000 entries in the routing table, this takes 1.5 to 2.5 microseconds on the average. These numbers will worsen with larger databases. 23] mentions that the expected number of bit tests for the ....
....The current NetBSD implementation of IP lookup [25, 23] uses a Patricia Trie which processes an address one bit at a time. On a 200 MHz pentium, with about 33,000 entries in the routing table, this takes 1.5 to 2.5 microseconds on the average. These numbers will worsen with larger databases. [23] mentions that the expected number of bit tests for the patricia tree is 1.44 log N, where N is the number of entries in the table. For N=32000, this is over 21 bit tests. With memory accesses being very slow for modern CPUs, 21 memory accesses is excessive. Patricia tries also use skip counts to ....
[Article contains additional citation context not shown here]
Keith Sklower. A Tree-Based Routing Table for Berkeley Unix. Technical report, University of California, Berkeley.
....address of a given packet. Longest prefix matching was introduced as a consequence of the requirement for increasing the number of networks addressed through Classless Inter Domain Routing (CIDR) 21] The first approaches for longest prefix matching used radix trees or modified Patricia trees [45], 19] combined with hash tables. These look up algorithms have complexity proportional to the number of address bits which, for IPv4 is only 32. Hence, even with these algorithms, a route look up can complete in less than a microsecond using 30ns memories resulting in a forwarding rate of 1 ....
K. Sklower. A tree-based routing table for Berkeley Unix. Technical report, University of California, Berkeley, 1993.
....to degrade to 1.7 s which is still acceptable. 6.3 Packet Classification The DAG scheme uses a best matching prefix (BMP) algorithm for address lookups, and simple indexing for port numbers and the protocol field. Recently, several new BMP algorithms have been proposed to replace the PATRICIA [23] algorithm found in many of today s BSD based routing engines: Binary search on prefix lengths (BSPL, 25] Multiway and Multicolumn search (MMS, 14] and Controlled Prefix Expansion (CPE, 24] to name just a few. Most of these schemes are optimized for one lookup table which they usually try ....
Sklower, K., "A tree-based routing table for Berkeley Unix", Technical report, University of California, Berkley, 1993
....solution for exact matching, a natural question is: Why can t we modify hashing to do best matching prefix. However, for several years now, it was considered not to be apparent how to accommodate hierarchies while using hashing, other than rehashing for each level of hierarchy possible [Skl93] Our paper describes a novel algorithmic solution to longest prefix match, using binary search over hash tables organized by the length of the prefix. Our solution requires a worst case complexity 3 of O(log 2 W ) with W being the length of the address in bits. Thus, for the current Internet ....
....table sizes, the worst case would be 17 data lookups, each requiring at least one costly memory access. As with any binary search scheme, the average number of accesses is log 2 (2N) Gamma 1. A second classical solution would be to reapply any exact match scheme for each possible prefix length [Skl93] This is even more expensive, requiring W iterations of the exact match scheme used (e.g. W = 128 for IPv6) 3 This assumes assuming O(1) for hashing, which can be achieved using perfect hashing, although limited collisions do not affect performance significantly. Trie Based Schemes The most ....
[Article contains additional citation context not shown here]
Keith Sklower. A tree-based routing table for Berkeley Unix. Technical report, University of California, Berkeley, 1993.
No context found.
K. Sklower. A tree-based routing table for Berkeley Unix. Technical report, University of California, Berkeley, 1993.
No context found.
K. Sklower, "A Tree-Based Routing Table for Berkeley Unix," in Technical Report, (University of California, Berkeley).
No context found.
K. Sklower. A tree-based routing table for Berkeley Unix. Technical report, University of California, Berkeley, 1993.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC