ADDRESS LOOKUP SOLUTIONS FOR GIGABIT SWITCH/ROUTER

Size: px
Start display at page:

Download "ADDRESS LOOKUP SOLUTIONS FOR GIGABIT SWITCH/ROUTER"

Transcription

1 ADDRESS LOOKUP SOLUTIONS FOR GIGABIT SWITCH/ROUTER E. Filippi, V. Innocenti and V. Vercellone CSELT (Centro Studi e Laboratori Telecomunicazioni) Via Reiss Romoli 274 Torino, ITALY ABSTRACT The Internet continuous growth and its widespread applications require adequate solutions for scaling routing performance. A number of approaches have been recently proposed by different vendors to prepare for the next generation Internet, and new router architectures, capable of processing millions of packets per second, are starting to appear. The efficient processing of IP addresses in such high performance internetworking equipment is one of the most challenging problems to solve. This paper focuses on the available technological solutions for the implementation of the address lookup unit in new generation IP switches and routers. Address lookup algorithms are discussed, and two fast, cheap and flexible hardware-assisted implementations are proposed and evaluated. INTRODUCTION In the last few years routing technology, pushed by the extraordinary success of the Internet, has been forced to evolve towards definitely higher capacity and per-port packet processing speed. On one hand the traditional, shared-medium based interconnection fabric, that represented a major performance bottleneck, has been generally replaced by a true fast packet switch fabric allowing to linearly scale the aggregate packet transfer rate between input and output ports of the router. Modern switch cores usually adopt a crossbar architecture (commercial examples are the Ascend GFR TM, the Lucent Cajun TM Switch and the Cisco router), or a shared memory architecture (like the Bay Networks Accelar TM 1000 and the Packet Engines Summit48 TM switch-router). This, of course, is not sufficient to implement a full gigabit switch-router, because routing implies a specific processing of incoming packets that requires manipulation on a number of relevant fields of the packet header. In conventional router architectures, a centralized CPU performed this packet-by-packet processing. The performance bottleneck, generated by the need to send each packet to the CPU and back to the interface modules, has been overcome by migrating layer 3 packet-by-packet processing tasks from centralized software implementations towards distributed hardware implementations (fig.1). Modern line cards are highly specialized embedded systems that include a large packet buffer (up to 128 Mbytes) and a powerful microprocessor, plus dedicated circuits implementing critical functions such as buffer management, direct memory access and IP forwarding table lookup. 1 N Line card Line card FE FE Fast packet switch core Route processor Fig. 1: general architecture of a Switch-Router The latter is the single most time-consuming operation that must be performed in layer 3 forwarding today: given a destination address, routing information must be retrieved in a large forwarding table consisting of a dictionary of initial address substrings (i.e. address prefixes). The problem is to find the longest initial substring of the destination address that is included in the forwarding database (longest prefix match). IP longest prefix match is made slow and complex by the fact that IP prefixes have variable length and can be prefixes of each other. Most fast retrieval algorithms and data structures (like hashing) need major modifications to meet these requirements. In addition, the forwarding database is very large (up to some tens of thousand entries) and must be dynamically updated. In the following section, the different IP address lookup strategies adopted in the nodes available today are discussed, and state-of-the-art algorithms compared. IMPLEMENTATION ISSUES In the today Internet, more than 0.5 millions of address lookups are required per Gigabit of traffic. The ability to achieve this forwarding speed is due, on one side, to recent improvements in longest address matching algorithms and, on the other, to the remarkable and continuous progress of silicon integration technologies, that have made possible either software or hardware assisted efficient IP route tables lookups. Conventional software implementations usually adopt a cache-based approach: a small forwarding sub-table containing only the most recent (or frequent) destination addresses is tried first, then the large full address prefix table is searched only if the cache lookup fails. Although cache based approaches are largely used, the achievable improvement in performance is extremely dependent on

2 the highly unpredictable dynamic of network traffic. This is an undesirable behavior, considering that the Internet maturity and its commercial orientation require the ability to manage and predict performance. Thus, modern high-end routers avoid caching and implement the full route table lookups on each line card. In the last two years, research efforts have been focused on new lookup algorithms optimized for fast software implementations. On the other side, due to both cost and performance reasons, special hardware blocks are becoming widely used to implement full IP route lookups. Both custom proprietary ASICs and standard devices (like CAMs) can be utilized for this purpose. The main problem with CAMs is that today they are one order of magnitude smaller and slower then RAMs: as a result, a tree-walking ASIC (implementing a search algorithm on a tree data structure stored in a conventional RAM) may be a viable alternative. This is the solution adopted by the majority of recent commercial routing switches. The main issue with hardware implementations is that they run the risk of being quickly made obsolete by either software technologies running on faster hardware, or changes in the forwarding decision specifications (e.g QoS, filtering), or heavy changes in the traffic profile. In this paper we propose some enhancements to the well-known PATRICIA [2] and TRIE [1] retrieval schemes which make them particularly attractive for hardware assisted IP lookups. CONVENTIONAL IP LOOKUP ALGORITHMS Conventional IP address matching implementations are based on the PATRICIA algorithm, which is essentially a compressed binary tree where only bit positions in the input key which discriminate between paths are considered when traversing the tree. An example is the Radix Tree algorithm in the NetBSD kernel. As described in [2], support for longest matching prefixes is provided by means of a recursive backtracking mechanism, which worsen the search time upper bound to N 2, where N is the maximum length of the stored prefixes. A PATRICIA with a non-recursive backtracking mechanism called dynamic prefix (DP) trie is presented in[3]. In a DP-trie, the search algorithm starts from the root, moves downward to a leaf and then backtracks only once to the first node with a matching prefix. The search time upper bound is proportional to 2N, and maintaining the data structure is very easy (random insertion and deletion operations are possible with a cost comparable to those of searching operations). RECENT IP LOOKUP ALGORITHMS PATRICIA (as well as any other search scheme based on binary prefix trees) requires O(N) memory references, where N is the maximum prefix length. With current memory and microprocessor technologies, the lookup time for both software and hardware implementations falls in the range of the microseconds. Hence, significant performance improvements can only be achieved with multiple-bit-at-a-time search algorithms. Some interesting algorithms have recently been proposed, which have demonstrated the feasibility of fast software IP lookups, and will be quickly described in the following. Binary search on hash tables: the algorithm described in [4] is based on binary search on a series of hash tables organized by prefix length. Due to the longest match problem, markers have to be added in the hash tables to ensure that a search operation requires at most log(n) hash lookups, where N is the address length. A number of refinements to the basic scheme are also proposed. No details are given on the hashing scheme used (which should be a perfect scheme if high performance is required): this may be a critical point especially for long and/or frequent prefix lengths. Also, building and maintaining the whole data structure is slow and complex (the paper suggests to batch a number of changes and do a complete build of the search structure). Degenmark s algorithm: another interesting algorithm is proposed in [5]. Here the forwarding table is represented as a tree with three levels. Prefixes are restructured in order to obtain a complete tree in which each prefix uniquely defines an interval of addresses, then the lookup problem is considered as a interval set membership problem, for which very compact data structure are known. Each sub-tree requires up to four memory accesses and about fifty instructions to be searched. The typical number of memory accesses required in a search operation is 8, the maximum 12. The resulting forwarding table size is around Kbytes for the largest tried routing table (containing 33K entries), small enough to almost entirely fit into the secondary cache of actual microprocessors with great benefits for the overall performance. As for the previous algorithm, insertions and deletions require a complete build of the search structure. Modified tries: after this work was done, a number of other works proposing compressed/multibit TRIEs has appeared in the literature [6,7,8]. The main similarities and differences with the search schemes proposed here will be signalled in the following section. THE PROPOSED IMPLEMENTATIONS Our interest is focused on IP lookup techniques well suited for fast and low cost implementation of the forwarding engines that forward packets at each line card (fig. 1). The requirements that we identified are briefly listed in the following: 1. The algorithm should be implementable with simple control logic and low cost standard memories. The algorithm data structure should be regular enough to allow easy memory allocation. 2. The algorithm should be general enough to efficiently support both longest matching and exact matching on the same hardware. Its performance should not be the result of tuning on a specific IP route table or prefix distribution.

3 3. Incremental, local updates should be allowed. 4. Performance must be predictable. Both a low average and a low standard deviation are required for the search time. In other words, we were interested in implementing a low cost hardware module emulating a configurable ternary/binary CAM, with the additional capability of solving multiple matches (normal CAM usually can only detect multiple matches). A survey of existing algorithms (see the previous sections) showed that none of them meets all our requirements: for example, [4,5] assume quasi-static forwarding database; [5,6,7] use some form of in place optimization; efficient memory allocation is hard in [5,6], performance of [3] is not adequate. THE hwdp-trie First of all, we decided to optimize the DP-trie proposed in [3], exploiting the natural concurrent behavior of a hardware implementation. In our implementation: Backtracking is avoided, resulting in a better worstcase bound (N instead of 2N, where N is the address length). The additional comparisons required during the forwarding phase have no impact on hardware implementations. Only one half (one cell) of a basic data row must be retrieved at each step. This means that our implementation requires one half of the memory throughput required, for instance, by [3]. Like in the DP-trie case, the maximum storage complexity is directly proportional to the number of entries, insert and delete operations have strictly local effects, and the resulting data structure is invariant to the particular sequence of insert/delete operations. Each row in the data structure (fig. 2) is composed of two cells addressed by a single bit of the key and containing: a next row pointer, the next significant bit of the key (skip), a target information and the address prefix stored in the cell. Cell 0 Cell 1 prow next_row skip target mask dest next_row skip target mask Prefix cell 0 Fig. 2: basic row of the data structure dest Prefix cell 1 The search algorithm immediately stops when a key comparison fails. This is particularly useful if the default route is present. The pseudo-code for the search algorithm is reported in fig.3 (where is the prefix operator and << the left shift operator). To add or delete an entry, a search is performed in order to find the correct insert/delete point, then a corresponding row is added/deleted. This second step involves updating only one row, plus possibly its parent and children, requiring a fixed time not depending on the size of the table. Hence, the add/delete operation complexity is the same as for a search operation. dest dest_input prow 0 /* search always begin on the first row */ target DEFAULT_TARGET while bit 0 if Patricia[prow][dest<n-1>].dest dest_input then bit bit - Patricia[prow][dest<n-1>].skip dest dest << Patricia[prow][dest<n-1>].skip prow Patricia[prow][dest<n-1>].next_row if Patricia[prow][dest<n-1>].target NULL then target Patricia[prow][dest<n-1>].target else bit 0 Fig.3: search algorithm for the hwdp-trie Search performance can be improved by using a frontend hash table (built with the L most significant bits of the input key) giving direct access to a row in the level L+1 of the hwdp-trie. This requires some prefix expansion up to level L, and an auxiliary table is required to recover the older less-specific targets when an overlapping prefix is deleted; alternatively, the first L levels of the hwdp-trie can be kept in memory and used for maintenance purposes only. When direct access to level L+1 is used, the resulting search time upper bound is O(N-L). As L increases, the amount of memory needed to store the hash table increases, while the amount of memory needed to store the residual trie levels decreases: then, an optimal value for L exists which maximizes performance without any additional memory cost. If L is small enough, memory usage and prefix expansion management are not a major concern and the identity hash function can be used (the L-MSBs of the key directly address a table containing a pointer to the correct row). Otherwise, a more sophisticated perfect hashing function has to be used to map the L-bit strings into a smaller set of compressed addresses. One-level perfect minimal hashing tables are hard to find. Instead, in the following section a multilevel perfect hash table based on a modified multibit trie (the Longest Match Trie) is proposed. The LM-trie itself is a good standalone lookup algorithm for large and dense routing tables (or sub-tables). The LM-TRIE In a basic non-binary trie, the N-bit addresses in the forwarding database are partitioned into a number of sections, each of length K bits, and each section is used to address a different level of a 2 k -ary search tree. The tree is stored as a matrix, where each row represents a node and contains exactly 2 k cells containing pointers to subsequent rows (that represent valid children of that node). The lookup time has an upper bound proportional to N/K and can be reduced by increasing K, which in turns increases the storage complexity. The time-space tradeoff is extensively analyzed in [1]. Memory usage for a specific table may be reduced if a variable number

4 of bits are used to address each level or node in the trie, as suggested in [6]. Multibit tries (K>1) require some extensions if they must be used with variable length overlapping prefixes (as it is the case for IP lookups). A systematic prefix expansion is required to deal with prefixes that are not multiple of K and some mechanism must be added to deal with multiple targets on the same path. Both problems may be solved a priori by strongly restructuring the prefix set before building the forwarding table, as proposed for example in [5,7] and partially in [6]. In this case (named leaf pushing by [6]) only the leaves of the tree can store target information, simplifying the lookup algorithms at the cost of slow, complex table updates. In our implementation 1, we choose to avoid leaf pushing and we use an original strategy to store the target information necessary for both the use and the maintenance of the forwarding table. The data structure: like in the basic tries, the data structure is a two-dimensional matrix. Each row is composed of 2 K cells (addressed by K bit of the input key), plus an additional cell containing target information that is common to all the cells in the row. Each cell contains two flags and either a next row pointer or target information (not both), depending on the value of the two flags: - if the go flag is set, then it contains a next row pointer; - if the target flag is set and the go flag is zero, then it contains target information; - if both flags are set, then it contains a next row pointer, and the associated target information is stored in the additional cell of the row addressed by the next row pointer. Note that when this structure is used under exact match conditions, additional cells don t need to be allocated (the two flags cannot be both set in the same cell). Target data includes: a next hop pointer (the field value), a mask field that (used to identify the length of the corresponding prefix during insertion/deletion operations) and a backup next hop value t_p (used to quickly recover older less-specific targets when a prefix is deleted). In fact, from a logical point of view, a row in a K-bit trie represents a chunk of length K in the equivalent binary tree: then, up to 2 2K -2 different prefixes may be stored into it. Among them, 2 K correspond to leaves of the binary sub-tree and cannot be overlapped by any longer prefixes into the same row. The next hop information of the remaining 2 K -2 prefixes may be associated to the 2 K cell with a simple function that guarantees that: 1. each prefix is assigned to a different cell in the row 2. each prefix is assigned to a cell for which it is a valid target. This implies that only cells carrying target information need to store a backup next hop value t_p. If the number of rows is much larger than the number of distinct next hops, then there is enough space in each cell to store both the primary next hop and the backup next hop. Otherwise, a separate data structure may be used to store t_p (and/or mask). As will be shown below, this methodology for storing data needed to support deletion is more efficient (in terms of memory requirements and deletion speed) than using auxiliary 1- bit tries. The number of rows that are required to store a given routing table is highly dependent on the prefix distribution. According to [1], the maximum number of rows required to store 2 E prefixes of length N with a K- bit trie is (assuming N>E>K): E K K E N E 2 1 R u = 2 + K K K 2 1 This bound is very pessimistic. Anyway, it may be useful to dimension the size of the basic cell when designing a custom ASIC. For example, 3 bytes are enough to store pointers for any Ipv4 table with more than one million prefixes and up to 512 different next hops (if K>2). Search: The search always starts in row 0, follows a path along the trie (under the guidance of the next-row pointers and of the input key bits) collecting the encountered targets, and immediately stops when go=0. A search operation requires up to (N/K + 1) memory references. The pseudo-code for the search algorithm is reported in fig. 4. next_row = 0; target = NULL; target_pnt = 0; continue = TRUE; while ( continue ) index = route_dest >> ( N - K ); continue = Trie[prow, index].go; if ( continue ) if (Trie[prow, index].target) target_pnt = Trie[prow, index].data; prow = Trie[prow, index].data; route_dest = route_dest << K; else if (Trie[prow, index].target) target = Trie[prow, index].data; endwhile if ( target== NULL) target= Aux [ target_pnt ].data; Fig. 4: the search algorithm for the lm-trie Insertion: to add a new prefix, a search is performed in order to find the correct insertion point. If the insert point falls into an existing row, then all the cells of the row covered by that prefix must be checked and (if needed) updated. Otherwise, if the search ended before the end of the prefix, a pointer to a new row must be set and all the cells of the new row covered by that prefix 1 Patent pending

5 must be initialized. An insertion operation requires at most (N/K+1+2 K ) memory references. Deletion: to delete a prefix, a search is performed in order to find the correct deletion point, then the corresponding target must be removed from all the cells of the row covered by that prefix and a substitute target searched by looking at up to K t_p fields. If a substitute target is not found, and the whole row is empty, it must be deleted. If a list containing the number of active cells in each row is maintained, a deletion operation requires to access at most (N/K + K + 2 K ) cells. PERFORMANCE EVALUATION First, we evaluated the required number of memory references for our lookup schemes, which is a good implementation-independent performance index, which is proportional to the performance of a hardware search engine.. The average number of accesses is computed under the (unrealistic) assumption of uniform probability of accessing each routing entry. This may lead to a pessimistic estimation, because in real traffic mixes more aggregate (shorter) prefixes are likely to be more frequent. We used four different real IPv4 and IPv6 tables. Stella (523 prefixes 2 ) is the IPv4 routing table of the main node of our company Intranet. CseltIP6 (140 prefixes) is the IPv6 routing table of the Cselt 6BONE node. MaeWest (16,249 prefixes) and MaeEast (39,930 prefixes) tables are taken from a public database ( which is commonly used as a benchmark. Table 1 reports the average and maximum number of memory references for the various proposed schemes and for different routing tables. Type of Stella Mae-West Mae-East trie Avg Size Avg Size Avg Size 0-hwdp hwdp hwdp hwdp bit-lm bit-lm Table 1: average number of memory references and memory size (in Kbytes) for different tries It can be seen that the average number of memory references in the hwdp-trie with L=0 tends to increase linearly as a function of log(m), where M is the number of entries in the database (thus approaching binary search behavior). This is also true for the small Cselt IPv6 table: despite the fact that the upper bound in Ipv6 tables is 128, the effective average and maximum number of memory references we achieved with a 0- hwdp-trie are, respectively, 10.2 and 16. This is of course due to the particular distribution of the entries in that Ipv6 table. Anyway, Patricia trees and related algorithms could behave better than expected under 2 At the time we sampled it (the number of entries in an IP routing table is floating over time). IPv6, provided that the utilized prefixes (or clusters of prefixes) will be sufficiently randomly distributed. As one can expect, the effectiveness of flattening the root of trie (L>0) and of using multi-bit tries increases with the size of the routing table. It is also interesting to observe that for L>0 up to a critical value the overall memory complexity decreases. The 4-bit LM-trie seems to provide the best performance/size ratio for both small and large tables. Another advantage of the LM-tries is their deterministic behavior: the search time is almost independent of the table size, and the difference between the worst case and the average performance is significantly smaller than with hwdp-tries. As K increases, the memory increases too, but the search time decreases and allows the use of slower, cheaper memory. As an example, a 8-bit LM-trie with up to 1.5 Mbytes of inexpensive 50ns RAM, requires in the worst case 250ns for a lookup with all the real routing tables we tried. If a 20ns RAM is used, lookup time is guaranteed to be less than 100ns for any incoming packet. Despite the fact that the hwdp-trie and the lm-trie have been optimized for general-purpose, hardware-assisted lookups, they have shown a very good behavior also with software implementations. Table 2 and 3 report the average lookup time we obtained by running the code of the hwdp-trie and the lm-trie (compiled by using gcc) on a 300 MHz Sparc Ultra. Lookup times have been estimated with the gprof tool. Twenty million lookups have been performed for each experiment. Table 2 reports the average lookup time we obtained for some hwdp-trie. 0-hwdp 8-hwdp 12-hwdp 16-hwdp Stella Mae-West Mae-East Table 2: average search time (in µs) of the hwdp-trie with different values for L on a 300 MHz Ultra Sparc When L=0, the search performance of the hwdp-trie is, of course, similar to that of the classical Patricia, but it requires less memory. If a front-end array is used, the lookup time is good enough for most applications, with a minimal updating complexity and moderate memory complexity (see table 1). 4bit-lm 8bit-lm search insert del search insert del Stella MaeWest MaeEast Ipv Table 3: average search, insert and delete time (in µs) for the 4-bit and 8-bit lm-trie on a 300 MHz UltraSparc On the other side, the lm-tries provide really good and low-cost performance. In all our experiments on Ipv4

6 tables, the worst case lookup time never exceeded 600ns when K=4 and 300ns when K=8. Comparison with other schemes: it is very difficult to compare software implementations, unless a common platform is defined. Anyway, in table 4 we try to summarize and normalize the results presented in the literature for the main algorithms to compare them with our schemes. Reported data are purely indicative. They are referred to a 300 MHz generic microprocessor and to the Mae-East routing table. Data for the Radix Trie and the Binary search on hash tables are taken from [4] and [6]. Data for the Variable-stride trie are taken from [6]. Data for the Degenmark s algorithm are taken from [5]. Data for the LC-trie are taken from [7]. The number of average memory references may be assumed as a performance index for a HW implementation. It is important to note that the comparison is limited to the search performance. It does not take into account other parameters, like insertion/deletion performance, algorithmic complexity, flexibility. Memory references per lookup (average) Memory size (KBytes) Mpps (300 MHz µproc) Radix trie Binary search on hash table Notes (1) 4 (1) supposing minimal perfect hash Degenmark LC-trie level trie w/ controlled expansion (2)(3) 2-6 (2) 16-hwdp bit-lmtrie (2) Depending on the chosen type (3) auxiliary memory excluded Table 4: approximate comparison of different algorithms for the MaeEast table. Mpps are calculated assuming a software implementation running on a 300 MHz processor. FURTHER REMARKS AND CONCLUSIONS Forwarding speed over 1 Mpps per line card (forwarding engine) can now be easily achieved due to both recent improvements in the longest address matching algorithms and to the remarkable and continuous progress of silicon integration technologies. Even if recent works on IP routing lookups algorithms demonstrate the feasibility of IP lookups in software at gigabit speed, hardware-assisted distributed lookups may scale better and provide a better cost/performance ratio. We suggested two lookup schemes based on tries which are well suited for low-cost, highly reusable hardware implementations and, at the same time, can provide both very fast address lookups and fast, incremental table updates. In particular, the LM-trie is general and flexible enough to implement a broad class of different packet classifications or filtering. The search procedure is not aware of the size and semantic of the search key (as well as of the semantic of the target information), which are relevant only for the insertion/deletion procedures. Thus, the search algorithm may be easily implemented with a simple and fast FSM accessing a memory maintained by flexible software algorithms running on a microprocessor. Different types of addresses may share the same tree-walking ASIC. Additional fields (e.g. for QoS differentiation or firewall filtering) may be attached to the destination address forming a set of extended flow identifier (the classification filters) without any change in the search ASIC. In this case the next hop pointers returned by the search algorithm must be seen as a (possibly large) set of compressed identifiers. REFERENCES [1] Pei e C. Zukowski: Putting Routing Tables in Silicon, IEEE Network Magazine, Jan 1992 [2] Wright, W.R. Stevens: TCP/IP illustrated, vol.2 - The implementation, Addison Wesley Publishing Co., 1995 [3] Doeringer et al., "Routing on longest-matching prefix" IEEE trans. on Networking, vol.4, no.1, February [4] Waldvogel et al. Scalable high speed IP routing Lookups, Proceedings of ACM SIGCOMM, September [5] Degenmark et al.: Small forwarding tables for fast routing lookups, Proceedings of ACM SIGCOMM, September [6] Srinivasan, Varghese, Faster IP lookups using controlled prefix expansion, Proceedings of ACM SIGMETRICS, May [7] Nilsson, Karlsson, Fast address lookup for Internet Routers, Proceedings of IFIP Workshop on Broadband Communication, April [8] Gupta, Lin, McKeown, Routing lookups in hardware at memory access speeds, Proceeding of IEEE INFOCOM, April 1998.

Introduction. Router Architectures. Introduction. Introduction. Recent advances in routing architecture including

Introduction. Router Architectures. Introduction. Introduction. Recent advances in routing architecture including Introduction Router Architectures Recent advances in routing architecture including specialized hardware switching fabrics efficient and faster lookup algorithms have created routers that are capable of

More information

ECE697AA Lecture 20. Forwarding Tables

ECE697AA Lecture 20. Forwarding Tables ECE697AA Lecture 20 Routers: Prefix Lookup Algorithms Tilman Wolf Department of Electrical and Computer Engineering 11/14/08 Forwarding Tables Routing protocols involve a lot of information Path choices,

More information

Last Lecture: Network Layer

Last Lecture: Network Layer Last Lecture: Network Layer 1. Design goals and issues 2. Basic Routing Algorithms & Protocols 3. Addressing, Fragmentation and reassembly 4. Internet Routing Protocols and Inter-networking 5. Router design

More information

Problem Statement. Algorithm MinDPQ (contd.) Algorithm MinDPQ. Summary of Algorithm MinDPQ. Algorithm MinDPQ: Experimental Results.

Problem Statement. Algorithm MinDPQ (contd.) Algorithm MinDPQ. Summary of Algorithm MinDPQ. Algorithm MinDPQ: Experimental Results. Algorithms for Routing Lookups and Packet Classification October 3, 2000 High Level Outline Part I. Routing Lookups - Two lookup algorithms Part II. Packet Classification - One classification algorithm

More information

Introduction. Introduction. Router Architectures. Introduction. Recent advances in routing architecture including

Introduction. Introduction. Router Architectures. Introduction. Recent advances in routing architecture including Router Architectures By the end of this lecture, you should be able to. Explain the different generations of router architectures Describe the route lookup process Explain the operation of PATRICIA algorithm

More information

CS 268: Route Lookup and Packet Classification

CS 268: Route Lookup and Packet Classification Overview CS 268: Route Lookup and Packet Classification Packet Lookup Packet Classification Ion Stoica March 3, 24 istoica@cs.berkeley.edu 2 Lookup Problem Identify the output interface to forward an incoming

More information

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction. 2. Associative Cache Scheme

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction. 2. Associative Cache Scheme AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING James J. Rooney 1 José G. Delgado-Frias 2 Douglas H. Summerville 1 1 Dept. of Electrical and Computer Engineering. 2 School of Electrical Engr. and Computer

More information

FPGA Implementation of Lookup Algorithms

FPGA Implementation of Lookup Algorithms 2011 IEEE 12th International Conference on High Performance Switching and Routing FPGA Implementation of Lookup Algorithms Zoran Chicha, Luka Milinkovic, Aleksandra Smiljanic Department of Telecommunications

More information

Frugal IP Lookup Based on a Parallel Search

Frugal IP Lookup Based on a Parallel Search Frugal IP Lookup Based on a Parallel Search Zoran Čiča and Aleksandra Smiljanić School of Electrical Engineering, Belgrade University, Serbia Email: cicasyl@etf.rs, aleksandra@etf.rs Abstract Lookup function

More information

Message Switch. Processor(s) 0* 1 100* 6 1* 2 Forwarding Table

Message Switch. Processor(s) 0* 1 100* 6 1* 2 Forwarding Table Recent Results in Best Matching Prex George Varghese October 16, 2001 Router Model InputLink i 100100 B2 Message Switch B3 OutputLink 6 100100 Processor(s) B1 Prefix Output Link 0* 1 100* 6 1* 2 Forwarding

More information

Growth of the Internet Network capacity: A scarce resource Good Service

Growth of the Internet Network capacity: A scarce resource Good Service IP Route Lookups 1 Introduction Growth of the Internet Network capacity: A scarce resource Good Service Large-bandwidth links -> Readily handled (Fiber optic links) High router data throughput -> Readily

More information

CS419: Computer Networks. Lecture 6: March 7, 2005 Fast Address Lookup:

CS419: Computer Networks. Lecture 6: March 7, 2005 Fast Address Lookup: : Computer Networks Lecture 6: March 7, 2005 Fast Address Lookup: Forwarding/Routing Revisited Best-match Longest-prefix forwarding table lookup We looked at the semantics of bestmatch longest-prefix address

More information

IP Address Lookup in Hardware for High-Speed Routing

IP Address Lookup in Hardware for High-Speed Routing IP Address Lookup in Hardware for High-Speed Routing Andreas Moestedt and Peter Sjödin am@sics.se, peter@sics.se Swedish Institute of Computer Science P.O. Box 1263, SE-164 29 KISTA, Sweden Abstract This

More information

Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table

Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table H. Michael Ji, and Ranga Srinivasan Tensilica, Inc. 3255-6 Scott Blvd Santa Clara, CA 95054 Abstract--In this paper we examine

More information

LONGEST prefix matching (LPM) techniques have received

LONGEST prefix matching (LPM) techniques have received IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 14, NO. 2, APRIL 2006 397 Longest Prefix Matching Using Bloom Filters Sarang Dharmapurikar, Praveen Krishnamurthy, and David E. Taylor, Member, IEEE Abstract We

More information

Computer Networks CS 552

Computer Networks CS 552 Computer Networks CS 552 Routers Badri Nath Rutgers University badri@cs.rutgers.edu. High Speed Routers 2. Route lookups Cisco 26: 8 Gbps Cisco 246: 32 Gbps Cisco 286: 28 Gbps Power: 4.2 KW Cost: $5K Juniper

More information

Efficient hardware architecture for fast IP address lookup. Citation Proceedings - IEEE INFOCOM, 2002, v. 2, p

Efficient hardware architecture for fast IP address lookup. Citation Proceedings - IEEE INFOCOM, 2002, v. 2, p Title Efficient hardware architecture for fast IP address lookup Author(s) Pao, D; Liu, C; Wu, A; Yeung, L; Chan, KS Citation Proceedings - IEEE INFOCOM, 2002, v 2, p 555-56 Issued Date 2002 URL http://hdlhandlenet/0722/48458

More information

Forwarding and Routers : Computer Networking. Original IP Route Lookup. Outline

Forwarding and Routers : Computer Networking. Original IP Route Lookup. Outline Forwarding and Routers 15-744: Computer Networking L-9 Router Algorithms IP lookup Longest prefix matching Classification Flow monitoring Readings [EVF3] Bitmap Algorithms for Active Flows on High Speed

More information

Switch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011

Switch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011 // Bottlenecks Memory, memory, 88 - Switch and Router Design Dr. David Hay Ross 8b dhay@cs.huji.ac.il Source: Nick Mckeown, Isaac Keslassy Packet Processing Examples Address Lookup (IP/Ethernet) Where

More information

Routing Lookup Algorithm for IPv6 using Hash Tables

Routing Lookup Algorithm for IPv6 using Hash Tables Routing Lookup Algorithm for IPv6 using Hash Tables Peter Korppoey, John Smith, Department of Electronics Engineering, New Mexico State University-Main Campus Abstract: After analyzing of existing routing

More information

Binary Search Schemes for Fast IP Lookups

Binary Search Schemes for Fast IP Lookups 1 Schemes for Fast IP Lookups Pronita Mehrotra, Paul D. Franzon Abstract IP route look up is the most time consuming operation of a router. Route lookup is becoming a very challenging problem due to the

More information

IP Forwarding. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli

IP Forwarding. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli IP Forwarding CSU CS557, Spring 2018 Instructor: Lorenzo De Carli 1 Sources George Varghese, Network Algorithmics, Morgan Kauffmann, December 2004 L. De Carli, Y. Pan, A. Kumar, C. Estan, K. Sankaralingam,

More information

Tree-Based Minimization of TCAM Entries for Packet Classification

Tree-Based Minimization of TCAM Entries for Packet Classification Tree-Based Minimization of TCAM Entries for Packet Classification YanSunandMinSikKim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington 99164-2752, U.S.A.

More information

IP Address Lookup and Packet Classification Algorithms

IP Address Lookup and Packet Classification Algorithms IP Address Lookup and Packet Classification Algorithms Zhen Xu, Jeff Nie, Xuehong Sun, and Yiqiang Q. Zhao School of Mathematics and Statistics, Carleton University Outline 1. Background 2. Two IP Address

More information

Dynamic Routing Tables Using Simple Balanced. Search Trees

Dynamic Routing Tables Using Simple Balanced. Search Trees Dynamic Routing Tables Using Simple Balanced Search Trees Y.-K. Chang and Y.-C. Lin Department of Computer Science and Information Engineering National Cheng Kung University Tainan, Taiwan R.O.C. ykchang@mail.ncku.edu.tw

More information

Packet Classification Using Dynamically Generated Decision Trees

Packet Classification Using Dynamically Generated Decision Trees 1 Packet Classification Using Dynamically Generated Decision Trees Yu-Chieh Cheng, Pi-Chung Wang Abstract Binary Search on Levels (BSOL) is a decision-tree algorithm for packet classification with superior

More information

IP LOOK-UP WITH TIME OR MEMORY GUARANTEE AND LOW UPDATE TIME 1

IP LOOK-UP WITH TIME OR MEMORY GUARANTEE AND LOW UPDATE TIME 1 2005 IEEE International Symposium on Signal Processing and Information Technology IP LOOK-UP WITH TIME OR MEMORY GUARANTEE AND LOW UPDATE TIME 1 G.T. Kousiouris and D.N. Serpanos Dept. of Electrical and

More information

Review on Tries for IPv6 Lookups

Review on Tries for IPv6 Lookups Available online www.ejaet.com European Journal of Advances in Engineering and Technology, 2016, 3(7): 28-33 Review Article ISSN: 2394-658X Review on Tries for IPv6 Lookups Rohit G Bal Department of Computer

More information

Efficient Construction Of Variable-Stride Multibit Tries For IP Lookup

Efficient Construction Of Variable-Stride Multibit Tries For IP Lookup " Efficient Construction Of Variable-Stride Multibit Tries For IP Lookup Sartaj Sahni & Kun Suk Kim sahni, kskim @ciseufledu Department of Computer and Information Science and Engineering University of

More information

15-744: Computer Networking. Routers

15-744: Computer Networking. Routers 15-744: Computer Networking outers Forwarding and outers Forwarding IP lookup High-speed router architecture eadings [McK97] A Fast Switched Backplane for a Gigabit Switched outer Optional [D+97] Small

More information

Multiway Range Trees: Scalable IP Lookup with Fast Updates

Multiway Range Trees: Scalable IP Lookup with Fast Updates Multiway Range Trees: Scalable IP Lookup with Fast Updates Subhash Suri George Varghese Priyank Ramesh Warkhede Department of Computer Science Washington University St. Louis, MO 63130. Abstract In this

More information

Disjoint Superposition for Reduction of Conjoined Prefixes in IP Lookup for Actual IPv6 Forwarding Tables

Disjoint Superposition for Reduction of Conjoined Prefixes in IP Lookup for Actual IPv6 Forwarding Tables Disjoint Superposition for Reduction of Conjoined Prefixes in IP Lookup for Actual IPv6 Forwarding Tables Roberto Rojas-Cessa, Taweesak Kijkanjanarat, Wara Wangchai, Krutika Patil, Narathip Thirapittayatakul

More information

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING James J Rooney 1 José G Delgado-Frias 2 Douglas H Summerville 1 1 Department of Electrical and Computer Engineering 2 School of Electrical Engineering and Computer

More information

Efficient Packet Classification using Splay Tree Models

Efficient Packet Classification using Splay Tree Models 28 IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.5B, May 2006 Efficient Packet Classification using Splay Tree Models Srinivasan.T, Nivedita.M, Mahadevan.V Sri Venkateswara

More information

Parallel-Search Trie-based Scheme for Fast IP Lookup

Parallel-Search Trie-based Scheme for Fast IP Lookup Parallel-Search Trie-based Scheme for Fast IP Lookup Roberto Rojas-Cessa, Lakshmi Ramesh, Ziqian Dong, Lin Cai, and Nirwan Ansari Department of Electrical and Computer Engineering, New Jersey Institute

More information

Grid of Segment Trees for Packet Classification

Grid of Segment Trees for Packet Classification 2010 24th IEEE International Conference on Advanced Information Networking and Applications Grid of Segment Trees for Packet Classification Yeim-Kuan Chang, Yung-Chieh Lin, and Chen-Yu Lin Department of

More information

Routers: Forwarding EECS 122: Lecture 13

Routers: Forwarding EECS 122: Lecture 13 Input Port Functions Routers: Forwarding EECS 22: Lecture 3 epartment of Electrical Engineering and Computer Sciences University of California Berkeley Physical layer: bit-level reception ata link layer:

More information

Novel Hardware Architecture for Fast Address Lookups

Novel Hardware Architecture for Fast Address Lookups Novel Hardware Architecture for Fast Address Lookups Pronita Mehrotra, Paul D. Franzon ECE Department, North Carolina State University, Box 7911, Raleigh, NC 27695-791 1, USA Ph: +1-919-515-735 1, Fax:

More information

Routers: Forwarding EECS 122: Lecture 13

Routers: Forwarding EECS 122: Lecture 13 Routers: Forwarding EECS 122: Lecture 13 epartment of Electrical Engineering and Computer Sciences University of California Berkeley Router Architecture Overview Two key router functions: run routing algorithms/protocol

More information

A Scalable Approach for Packet Classification Using Rule-Base Partition

A Scalable Approach for Packet Classification Using Rule-Base Partition CNIR Journal, Volume (5), Issue (1), Dec., 2005 A Scalable Approach for Packet Classification Using Rule-Base Partition Mr. S J Wagh 1 and Dr. T. R. Sontakke 2 [1] Assistant Professor in Information Technology,

More information

Fast Packet Classification Algorithms

Fast Packet Classification Algorithms Fast Packet Classification Algorithms Mrudul Dixit, Anuja Kale, Madhavi Narote, Sneha Talwalkar, and B. V. Barbadekar Abstract A packet classifier possesses a set of rules for classifying packets based

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master

More information

A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup

A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup Yan Sun and Min Sik Kim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington

More information

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley,

More information

Router Architectures

Router Architectures Router Architectures Venkat Padmanabhan Microsoft Research 13 April 2001 Venkat Padmanabhan 1 Outline Router architecture overview 50 Gbps multi-gigabit router (Partridge et al.) Technology trends Venkat

More information

IP lookup with low memory requirement and fast update

IP lookup with low memory requirement and fast update Downloaded from orbit.dtu.dk on: Dec 7, 207 IP lookup with low memory requirement and fast update Berger, Michael Stübert Published in: Workshop on High Performance Switching and Routing, 2003, HPSR. Link

More information

An Efficient Parallel IP Lookup Technique for IPv6 Routers Using Multiple Hashing with Ternary marker storage

An Efficient Parallel IP Lookup Technique for IPv6 Routers Using Multiple Hashing with Ternary marker storage An Efficient Parallel IP Lookup Technique for IPv Routers Using Multiple Hashing with Ternary marker storage P. Kiran Sree Dr. Inampudi Ramesh Babu Mr. P.Kiran Sree,Associate Professor, Department of Computer

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Chair for

More information

* I D ~~~ ~ Figure 2: Longest matching prefix.

* I D ~~~ ~ Figure 2: Longest matching prefix. A fast and compact longest match prefix look-up method using pointer cache for very long network address Masanori Uga Kohei Shiomoto "IT Network Service Systems Laboratories Midori 3-9-, Musashino, Tokyo

More information

Data Structures for Packet Classification

Data Structures for Packet Classification Presenter: Patrick Nicholson Department of Computer Science CS840 Topics in Data Structures Outline 1 The Problem 2 Hardware Solutions 3 Data Structures: 1D 4 Trie-Based Solutions Packet Classification

More information

Shape Shifting Tries for Faster IP Route Lookup

Shape Shifting Tries for Faster IP Route Lookup Shape Shifting Tries for Faster IP Route Lookup Haoyu Song, Jonathan Turner, John Lockwood Applied Research Laboratory Washington University in St. Louis Email: {hs1,jst,lockwood}@arl.wustl.edu Abstract

More information

Shape Shifting Tries for Faster IP Route Lookup

Shape Shifting Tries for Faster IP Route Lookup Shape Shifting Tries for Faster IP Route Lookup Haoyu Song, Jonathan Turner, John Lockwood Applied Research Laboratory Washington University in St. Louis Email: {hs1,jst,lockwood}@arl.wustl.edu Abstract

More information

Chapter 12 Digital Search Structures

Chapter 12 Digital Search Structures Chapter Digital Search Structures Digital Search Trees Binary Tries and Patricia Multiway Tries C-C Tsai P. Digital Search Tree A digital search tree is a binary tree in which each node contains one element.

More information

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture Generic Architecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California,

More information

Chapter 12: Indexing and Hashing. Basic Concepts

Chapter 12: Indexing and Hashing. Basic Concepts Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition

More information

Multi-core Implementation of Decomposition-based Packet Classification Algorithms 1

Multi-core Implementation of Decomposition-based Packet Classification Algorithms 1 Multi-core Implementation of Decomposition-based Packet Classification Algorithms 1 Shijie Zhou, Yun R. Qu, and Viktor K. Prasanna Ming Hsieh Department of Electrical Engineering, University of Southern

More information

File Structures and Indexing

File Structures and Indexing File Structures and Indexing CPS352: Database Systems Simon Miner Gordon College Last Revised: 10/11/12 Agenda Check-in Database File Structures Indexing Database Design Tips Check-in Database File Structures

More information

Application of TRIE data structure and corresponding associative algorithms for process optimization in GRID environment

Application of TRIE data structure and corresponding associative algorithms for process optimization in GRID environment Application of TRIE data structure and corresponding associative algorithms for process optimization in GRID environment V. V. Kashansky a, I. L. Kaftannikov b South Ural State University (National Research

More information

Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

More information

Performance Evaluation and Improvement of Algorithmic Approaches for Packet Classification

Performance Evaluation and Improvement of Algorithmic Approaches for Packet Classification Performance Evaluation and Improvement of Algorithmic Approaches for Packet Classification Yaxuan Qi, Jun Li Research Institute of Information Technology (RIIT) Tsinghua University, Beijing, China, 100084

More information

Novel Hardware Architecture for Fast Address Lookups

Novel Hardware Architecture for Fast Address Lookups Novel Hardware Architecture for Fast Address Lookups Pronita Mehrotra Paul D. Franzon Department of Electrical and Computer Engineering North Carolina State University {pmehrot,paulf}@eos.ncsu.edu This

More information

Overview. Implementing Gigabit Routers with NetFPGA. Basic Architectural Components of an IP Router. Per-packet processing in an IP Router

Overview. Implementing Gigabit Routers with NetFPGA. Basic Architectural Components of an IP Router. Per-packet processing in an IP Router Overview Implementing Gigabit Routers with NetFPGA Prof. Sasu Tarkoma The NetFPGA is a low-cost platform for teaching networking hardware and router design, and a tool for networking researchers. The NetFPGA

More information

Packet Classification using Rule Caching

Packet Classification using Rule Caching Packet Classification using Rule Caching Nitesh B. Guinde, Roberto Rojas-Cessa and Sotirios G. Ziavras Electrical and Computer Engineering Department New Jersey Institute Technology Newark, NJ 72, USA

More information

Scalable IP Routing Lookup in Next Generation Network

Scalable IP Routing Lookup in Next Generation Network Scalable IP Routing Lookup in Next Generation Network Chia-Tai Chan 1, Pi-Chung Wang 1,Shuo-ChengHu 2, Chung-Liang Lee 1, and Rong-Chang Chen 3 1 Telecommunication Laboratories, Chunghwa Telecom Co., Ltd.

More information

Performance Improvement of Hardware-Based Packet Classification Algorithm

Performance Improvement of Hardware-Based Packet Classification Algorithm Performance Improvement of Hardware-Based Packet Classification Algorithm Yaw-Chung Chen 1, Pi-Chung Wang 2, Chun-Liang Lee 2, and Chia-Tai Chan 2 1 Department of Computer Science and Information Engineering,

More information

Scalable Packet Classification for IPv6 by Using Limited TCAMs

Scalable Packet Classification for IPv6 by Using Limited TCAMs Scalable Packet Classification for IPv6 by Using Limited TCAMs Chia-Tai Chan 1, Pi-Chung Wang 1,Shuo-ChengHu 2, Chung-Liang Lee 1,and Rong-Chang Chen 3 1 Telecommunication Laboratories, Chunghwa Telecom

More information

Midterm Review. Congestion Mgt, CIDR addresses,tcp processing, TCP close. Routing. hierarchical networks. Routing with OSPF, IS-IS, BGP-4

Midterm Review. Congestion Mgt, CIDR addresses,tcp processing, TCP close. Routing. hierarchical networks. Routing with OSPF, IS-IS, BGP-4 Midterm Review Week 1 Congestion Mgt, CIDR addresses,tcp processing, TCP close Week 2 Routing. hierarchical networks Week 3 Routing with OSPF, IS-IS, BGP-4 Week 4 IBGP, Prefix lookup, Tries, Non-stop routers,

More information

Recursively Partitioned Static IP Router-Tables *

Recursively Partitioned Static IP Router-Tables * Recursively Partitioned Static IP Router-Tables * Wencheng Lu Sartaj Sahni {wlu,sahni}@cise.ufl.edu Department of Computer and Information Science and Engineering University of Florida, Gainesville, FL

More information

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13 Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of California Berkeley Review: Switch Architectures Input Queued

More information

Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers

Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers ABSTRACT Jing Fu KTH, Royal Institute of Technology Stockholm, Sweden jing@kth.se Virtual routers are a promising

More information

Implementation of Boundary Cutting Algorithm Using Packet Classification

Implementation of Boundary Cutting Algorithm Using Packet Classification Implementation of Boundary Cutting Algorithm Using Packet Classification Dasari Mallesh M.Tech Student Department of CSE Vignana Bharathi Institute of Technology, Hyderabad. ABSTRACT: Decision-tree-based

More information

PUSHING THE LIMITS, A PERSPECTIVE ON ROUTER ARCHITECTURE CHALLENGES

PUSHING THE LIMITS, A PERSPECTIVE ON ROUTER ARCHITECTURE CHALLENGES PUSHING THE LIMITS, A PERSPECTIVE ON ROUTER ARCHITECTURE CHALLENGES Greg Hankins APRICOT 2012 2012 Brocade Communications Systems, Inc. 2012/02/28 Lookup Capacity and Forwarding

More information

ITTC High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing

ITTC High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications

More information

Inside Internet Routers

Inside Internet Routers Inside Internet Routers 3035/GZ0 Networked Systems Kyle Jamieson Lecture 9 Department of Computer Science University College London Today Inside internet routers Longest- prefix lookup The Luleå algorithm

More information

An Enhanced Bloom Filter for Longest Prefix Matching

An Enhanced Bloom Filter for Longest Prefix Matching An Enhanced Bloom Filter for Longest Prefix Matching Gahyun Park SUNY-Geneseo Email: park@geneseo.edu Minseok Kwon Rochester Institute of Technology Email: jmk@cs.rit.edu Abstract A Bloom filter is a succinct

More information

Design of a High Speed FPGA-Based Classifier for Efficient Packet Classification

Design of a High Speed FPGA-Based Classifier for Efficient Packet Classification Design of a High Speed FPGA-Based Classifier for Efficient Packet Classification V.S.Pallavi 1, Dr.D.Rukmani Devi 2 PG Scholar 1, Department of ECE, RMK Engineering College, Chennai, Tamil Nadu, India

More information

AN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION

AN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION AN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION Yaxuan Qi 1 and Jun Li 1,2 1 Research Institute of Information Technology (RIIT), Tsinghua University, Beijing, China, 100084 2

More information

Selective Boundary Cutting For Packet Classification SOUMYA. K 1, CHANDRA SEKHAR. M 2

Selective Boundary Cutting For Packet Classification SOUMYA. K 1, CHANDRA SEKHAR. M 2 ISSN 2319-8885 Vol.04,Issue.34, August-2015, Pages:6786-6790 www.ijsetr.com SOUMYA. K 1, CHANDRA SEKHAR. M 2 1 Navodaya Institute of Technology, Raichur, Karnataka, India, E-mail: Keerthisree1112@gmail.com.

More information

Tree, Segment Table, and Route Bucket: A Multistage Algorithm for IPv6 Routing Table Lookup

Tree, Segment Table, and Route Bucket: A Multistage Algorithm for IPv6 Routing Table Lookup Tree, Segment Table, and Route Bucket: A Multistage Algorithm for IPv6 Routing Table Lookup Zhenqiang LI Dongqu ZHENG Yan MA School of Computer Science and Technology Network Information Center Beijing

More information

Dynamic Pipelining: Making IP- Lookup Truly Scalable

Dynamic Pipelining: Making IP- Lookup Truly Scalable Dynamic Pipelining: Making IP- Lookup Truly Scalable Jahangir Hasan T. N. Vijaykumar School of Electrical and Computer Engineering, Purdue University SIGCOMM 05 Rung-Bo-Su 10/26/05 1 0.Abstract IP-lookup

More information

Scalable Enterprise Networks with Inexpensive Switches

Scalable Enterprise Networks with Inexpensive Switches Scalable Enterprise Networks with Inexpensive Switches Minlan Yu minlanyu@cs.princeton.edu Princeton University Joint work with Alex Fabrikant, Mike Freedman, Jennifer Rexford and Jia Wang 1 Enterprises

More information

RED behavior with different packet sizes

RED behavior with different packet sizes RED behavior with different packet sizes Stefaan De Cnodder, Omar Elloumi *, Kenny Pauwels Traffic and Routing Technologies project Alcatel Corporate Research Center, Francis Wellesplein, 1-18 Antwerp,

More information

Towards Effective Packet Classification. J. Li, Y. Qi, and B. Xu Network Security Lab RIIT, Tsinghua University Dec, 2005

Towards Effective Packet Classification. J. Li, Y. Qi, and B. Xu Network Security Lab RIIT, Tsinghua University Dec, 2005 Towards Effective Packet Classification J. Li, Y. Qi, and B. Xu Network Security Lab RIIT, Tsinghua University Dec, 2005 Outline Algorithm Study Understanding Packet Classification Worst-case Complexity

More information

The Adaptive Radix Tree

The Adaptive Radix Tree Department of Informatics, University of Zürich MSc Basismodul The Adaptive Radix Tree Rafael Kallis Matrikelnummer: -708-887 Email: rk@rafaelkallis.com September 8, 08 supervised by Prof. Dr. Michael

More information

IP ROUTING LOOKUP: HARDWARE AND SOFTWARE APPROACH. A Thesis RAVIKUMAR V. CHAKARAVARTHY

IP ROUTING LOOKUP: HARDWARE AND SOFTWARE APPROACH. A Thesis RAVIKUMAR V. CHAKARAVARTHY IP ROUTING LOOKUP: HARDWARE AND SOFTWARE APPROACH A Thesis by RAVIKUMAR V. CHAKARAVARTHY Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for

More information

Fast binary and multiway prefix searches for packet forwarding

Fast binary and multiway prefix searches for packet forwarding Computer Networks 5 (27) 588 65 www.elsevier.com/locate/comnet Fast binary and multiway prefix searches for packet forwarding Yeim-Kuan Chang Department of Computer Science and Information Engineering,

More information

Packet Classification. George Varghese

Packet Classification. George Varghese Packet Classification George Varghese Original Motivation: Firewalls Firewalls use packet filtering to block say ssh and force access to web and mail via proxies. Still part of defense in depth today.

More information

INF5050 Protocols and Routing in Internet (Friday ) Subject: IP-router architecture. Presented by Tor Skeie

INF5050 Protocols and Routing in Internet (Friday ) Subject: IP-router architecture. Presented by Tor Skeie INF5050 Protocols and Routing in Internet (Friday 9.2.2018) Subject: IP-router architecture Presented by Tor Skeie High Performance Switching and Routing Telecom Center Workshop: Sept 4, 1997. This presentation

More information

Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing Chapter 12: Indexing and Hashing Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

More information

Three Different Designs for Packet Classification

Three Different Designs for Packet Classification Three Different Designs for Packet Classification HATAM ABDOLI Computer Department Bu-Ali Sina University Shahid Fahmideh street, Hamadan IRAN abdoli@basu.ac.ir http://www.profs.basu.ac.ir/abdoli Abstract:

More information

A Novel Level-based IPv6 Routing Lookup Algorithm

A Novel Level-based IPv6 Routing Lookup Algorithm A Novel Level-based IPv6 Routing Lookup Algorithm Xiaohong Huang 1 Xiaoyu Zhao 2 Guofeng Zhao 1 Wenjian Jiang 2 Dongqu Zheng 1 Qiong Sun 1 Yan Ma 1,3 1. School of Computer Science and Technology, Beijing

More information

Memory Hierarchy Design for a Multiprocessor Look-up Engine

Memory Hierarchy Design for a Multiprocessor Look-up Engine Memory Hierarchy Design for a Multiprocessor Look-up Engine Jean-Loup Baer, Douglas Low, Patrick Crowley, Neal Sidhwaney Department of Computer Science and Engineering University of Washington baer,douglas,pcrowley

More information

Homework 1 Solutions:

Homework 1 Solutions: Homework 1 Solutions: If we expand the square in the statistic, we get three terms that have to be summed for each i: (ExpectedFrequency[i]), (2ObservedFrequency[i]) and (ObservedFrequency[i])2 / Expected

More information

CSE 123A Computer Networks

CSE 123A Computer Networks CSE 123A Computer Networks Winter 2005 Lecture 8: IP Router Design Many portions courtesy Nick McKeown Overview Router basics Interconnection architecture Input Queuing Output Queuing Virtual output Queuing

More information

Efficient Prefix Cache for Network Processors

Efficient Prefix Cache for Network Processors Efficient Prefix Cache for Network Processors Mohammad J. Akhbarizadeh and Mehrdad Nourani Center for Integrated Circuits & Systems The University of Texas at Dallas Richardson, TX 7583 feazadeh,nouranig@utdallas.edu

More information

Indexing and Searching

Indexing and Searching Indexing and Searching Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University References: 1. Modern Information Retrieval, chapter 9 2. Information Retrieval:

More information

Multiway Range Trees: Scalable IP Lookup with Fast Updates

Multiway Range Trees: Scalable IP Lookup with Fast Updates Washington University in St. Louis Washington University Open Scholarship All Computer Science and Engineering Research Computer Science and Engineering Report Number: WUCS-99-28 1999-01-01 Multiway Range

More information

Chapter 17 Indexing Structures for Files and Physical Database Design

Chapter 17 Indexing Structures for Files and Physical Database Design Chapter 17 Indexing Structures for Files and Physical Database Design We assume that a file already exists with some primary organization unordered, ordered or hash. The index provides alternate ways to

More information

EVERY Internet router today can forward entering Internet

EVERY Internet router today can forward entering Internet 2 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 13, NO. 1, FEBRUARY 2005 Scalable Packet Classification Florin Baboescu and George Varghese, Member, IEEE Abstract Packet classification is important for applications

More information

A Pipelined IP Address Lookup Module for 100 Gbps Line Rates and beyond

A Pipelined IP Address Lookup Module for 100 Gbps Line Rates and beyond A Pipelined IP Address Lookup Module for 1 Gbps Line Rates and beyond Domenic Teuchert and Simon Hauger Institute of Communication Networks and Computer Engineering (IKR) Universität Stuttgart, Pfaffenwaldring

More information