Design of a Multi-Dimensional Packet Classifier for Network Processors

Size: px
Start display at page:

Download "Design of a Multi-Dimensional Packet Classifier for Network Processors"

Transcription

1 Design of a Multi-Dimensional Packet Classifier for Network Processors Stefano Giordano, Gregorio Procissi, Federico Rossi, Fabio Vitucci Dept. of Information Engineering, University of Pisa, ITALY s.giordano@iet.unipi.it, g.procissi@iet.unipi.it, f.rossi@netserv.iet.unipi.it, fabio.vitucci@iet.unipi.it Abstract Nowadays packet classification is a fundamental task for network devices such as edge routers, firewalls and intrusion detection systems. Determining which flow packets belong to is important for many applications, and it is necessary, for example, to provide differentiated services, to detect anomalous traffic and to sort attack patterns. Therefore packet classification is becoming more and more complex, with more flexibility and higher performance requirements. Network Processors (NPs) are emerging as very promising platforms due to their capability to combine the flexibility of general-purpose processors with high performance of hardware-based solutions. In this paper we illustrate the design of a multidimensional packet classifier realized on the Radisys ENP-2611 board equipped with Intel IXP2400 Network Processor. The first goal of this study is the selection of the most suitable classification algorithm to be integrated into the embedded system. Our investigation is then directed to adjustments and refinements of the selected algorithm (namely the multidimensional multibit trie algorithm) to capitalize the peculiar functional properties and capabilities of our network processor. I. INTRODUCTION Interest in modern Internet applications is constantly growing among service providers and potential customers. A significant number of both existing and emerging applications need a high level of quality of service and impose strict requirements on network performance. Hence, Internet routers that, to date, provide best-effort service only, are now called to provide service differentiation to several classes of applications. Thus, new mechanisms, such as admission control, resource reservation, per-flow queueing, and fair scheduling are necessary: all of such mechanisms need to distinguish packets belonging to different flows. Moreover, the growing concern on network security is determining a huge interest towards the development of techniques devoted to detect anomalous traffic and to sort attack patterns. Therefore, even firewalls and intrusion detection systems need to determine which flow packets belong to. The process of categorizing packets into flows is called packet classification. Formally, given a set of rules or policies defining the packet attributes, classification is the process of identifying the rule or policy to which a packet conforms. As both the number and the complexity of the applications requiring classification are increasing, such a task is becoming more and more critical. Indeed, packet classification requires to perform, at real-time, a considerable number of operations (such as to analyze packet header fields according to different rule specifications) while maintaining high speeds with almost no impact in traffic dynamics. In this scenario, in order to achieve flexibility and high performance, the most promising solution is represented by the adoption of Network Processors (NPs). NPs are emerging platforms that offer very high packet processing capabilities (e.g. for gigabit networks) and combine the programmability of general-purpose processors with the high performance typical of hardware-based solutions. Usually, a NP card includes a set of programmable processors that run in parallel to facilitate fast-packet processing, and provides a set of instructions optimized for packet processing, as well as a set of hierarchically distributed memory devices. Also, it allows multitasking and multithreaded programming. The research presented in the paper is based on the fully programmable Intel IXP2400 Network Processor, the most used NP platform in Academic context, provided to Universities through the Intel IXA University Program. The main target of the paper is to propose a rigorous methodology to the design of a network component, the packet classifier, which takes into account both the functional specifications of the component itself and the specific features of the candidate hardware for its actual implementation. The rest of the paper is organized as follows. Section II presents the background notions on classification algorithms and a brief description of the Intel IXP2400 architecture. Section III illustrates a performance comparison among several classification algorithms and describes the multibit multidimensional trie as the best candidate to be implemented into the NP. Section IV introduces our modifications and improvements to the original classification algorithm in order to adapt it to the specific hardware available to us, the Radisys ENP-2611 board equipped with Intel IXP2400 Network Processor. Finally, Section V presents summary, conclusions and future works.

2 II. BACKGROUND In this section, we introduce the background basis of the research activity illustrated in this paper. We first present a brief overview of classification algorithms and then a high level description of the Intel IXP2400 architecture. A. Packet Classification Algorithms: State-of-the-Art Given a set of rules defining the packets attributes, packet classification is defined as the process of finding the best match among rules and packet fields. Rule matching schemes may be an exact match or a prefix/range match on multiple fields. Applications use policies based on layer2-layer4 header fields, called selectors of packets. If the algorithm uses more than one selector, it is called multidimensional. Since multidimensional classification is a complex problem, many researchers have explored and proposed a wide variety of algorithms. In our research, we investigated all these solutions in order to find the most suitable for our hardware platform. In the following, we present the main theoretical principles of these algorithms (for details see references [2-11]), divided into four big categories [1]. The first category consists of the algorithms that use basic data structures. The simplest data structure is a linked-list of rules stored with decreasing priority: a packet is compared to each rule sequentially until a rule is found to match all fields; clearly, such a linear search exhibits poor scaling properties. An advanced data structure is a d-dimensional hierarchical trie, recursively constructed as follows: we first build a 1- dimensional trie according to the first dimension of rules. Then, for each prefix in the first trie, we recursively construct a (d-1)-dimensional hierarchical trie according to rules that specify exactly that prefix in the first dimension. Other advanced data structures proposed for packet classification are Set-Pruning trie [2] and Grid of Tries [3]. The second category is composed of Geometric Algorithms. Each field of a rule can be specified either through a prefix/length pair or in terms of an operator/number. From a geometric point of view, both these specifications could be interpreted as intervals on a line. Thus, a rule with d fields represents a d-dimensional hyperrectangle and a classifier is a set of such hyper-rectangles with the associated priorities. In this context, a packet header (d-tuple) represents a point P in the d-dimensional space and the packet classification problem consists of finding the highest priority hyper-rectangle that encloses P (see Fig. 1). This category includes the Cross-Producting algorithm [3], a solution for 2-D classifiers proposed by Lakshman et al. [4], the Area-Based Quadtree (AQT) structure [5] and the Fat Inverted Segment Tree (FIS-tree) [6]. The third category is that of Heuristic Algorithms. Such algorithms are based on the evidence that, due to the considerable redundancy of classification rules, the size of data structures of real classifiers is generally much smaller than that theoretically calculated in worst-cases. Rule F1 F2 R R R3 1 0 R R5 0 1 R6 1 Figure 1. Packet classification in a geometric representation. Recursive Flow Classification (RFC) [7], Hierarchical Intelligent Cuttings (HiCuts) [8], Tuple Space Search [9] are classification algorithms that, in different manners, perform a heuristic pre-partitioning of the problem space first, and then rearrange the decision data structure in order to take advantage of the above mentioned redundancy. This way, they reduce considerably the time for packet classification while saving memory. The last group is composed of Hardware-Based Algorithms, such as Bitmap Intersection [10] and Ternary Content-Addressable Memories (T-CAMs) (see Fig. 2). These algorithms usually split the multidimensional classification problem into several one-dimensional searches to be performed by means of specific hardware-based solutions (for example, the use of T-CAMs allows achieving 100 million queries per second [11]). As it will be shown in the following, classification algorithms of the first category prove to be well tailored for implementation into the network processor architecture. In particular, we select the very complex multidimensional multibit trie data structure because of its low search time and small number of memory accesses. The reason of this choice is tightly related to the specific characteristics of the Intel IXP2400 hardware architecture, which will be accurately described in the next section. Figure 2. An example of Ternary-CAM.

3 B. Intel IXP2400 Architecture The Intel IXP2400 network processor [12] is a member of the Intel's second-generation network processor family. It is designed to perform a wide range of functionalities, including multi-service switches, routers, broadband access devices and wireless infrastructure systems. The IXP2400 is an evolution of the first-generation Intel IXP1200 and it is a fully programmable network processor that implements a high-performance parallel processing architecture on a single chip suitable for processing complex algorithms, detailed packet inspection, traffic management and forwarding at the wire speed. For research purposes, the Intel IXP2400 network processor is granted to Universities through the Intel IXA University Program [13], along with the required development environment, which includes the Intel IXA Portability Framework, an easy-to-use modular programming framework that provides software investment protection through code portability and reuse. The Intel IXP2400 architecture (see Fig. 3) combines a high-performance Intel XScale core with eight 32-bit independent microengines v2 (connected in two clusters of four) that cumulatively provide more than 5.4 gigaoperations per second. The Intel XScale core is a generalpurpose 32-bits RISC processor (ARM Version 5 Architecture compliant) used to initialize and manage the NP, to handle exceptions, and to perform slow path processing and other control plane tasks. The XScale processor and the whole set of microengines run at 600 MHz. Microengines provide the processing power to perform tasks that would require very expensive high-speed ASICs (Application- Specific Integrated Circuits). Each microengine offers a 4K instruction store of 40-bit instructions and a local memory of 2560 bytes, while it can access all the shared resources (SRAM, DRAM, etc.) and private connections between adjacent microengines. Also, microengines support softwarecontrolled multithreaded operations by providing eight hardware-assisted threads of execution (i.e. zero-overhead context switch [14]). Other noteworthy features of the IXP2400 architecture include a hash unit (that expedites address table lookup by performing polynomial hash on several values simultaneously), a scratchpad memory (used to exchange data back and forth between microengines), a Control Status Register (CSR) Access Proxy (that provides an interface to the chip-wide CSRs), a Peripheral Computer Interface (PCI) Controller (used to connect either external host CPUs or other PCI-compatible peripherals), a Media Switch Fabric (MSF) Interface (to connect external media devices) and DRAM and SRAM Controllers (to provide access to external memories). For more details about Intel IXP2400 NP we refer to [12] [13] [14]. Since the Intel IXP2400 NP is hosted by an external board, in order to accurately design a packet classifier, the knowledge of the sizes of the available external memories is also required. We adopt the Radisys ENP-2611 [15] board, equipped with 8 MB SRAM and 256 MB DRAM. External Media Devices MSF Interface PCI Controller Optional host CPU, PCI bus devices Scratchpad Hash Unit SHaC SRAM CSR Acc. Proxy SRAM Controller 1 SRAM Controller 0 0:0 0:1 DRAM Controller 0 Figure 3. IXP2400 Hardware Architecture. III. MULTIDINSIONAL MULTIBIT TRIE In order to choose an algorithm that exploits the capabilities of our Radisys ENP-2611 board, we compared all the classification algorithms described in previous section. We analyzed classic performance metrics as well as specific parameters to investigate the compatibility with NPs. The classic performance parameters analyzed are: 1) Search Speed: the increase of link speeds requires faster and faster classification; 2) Memory requirements: small storage requirements determine high memory access speed and, in turn, low power consumption (both features are very relevant for NPs); 3) Scalability in classifier table size: the size of a classification table depends on the applications; the capability of handling a large number of rules makes a classification algorithm appealing for many applications; 4) Scalability in the number of header fields: the number of header fields to be processed increases with the number of services provided; 5) Update time: the data structure needs to be updated upon insertion and removal of rules in the classifier; some applications require strictly short updating time; 6) Flexibility in rule specification: the ability of an algorithm to handle a wide range of rule specifications, such as prefix/length, operator/number, and wildcards, makes it reusable for many applications. Performance metrics of classification algorithms belonging to the four categories (as described in section II-A) have been evaluated and compared. For the sake of conciseness, Table I [1] shows the results for two specific metrics only, namely the worst case complexity of search time and storage requirements. The worst case is computed considering a classifier table filled with totally different rules, without overlapping in the values of the fields. In the table, we denote the number of entries in the classifier with N, the maximum prefix length (in bits) of a field with W, the number of fields with D, and the total number of data structure levels with L. DRAM Cluster 0 Cluster 1 Intel XScale Core

4 TABLE I COMPARISON OF CLASSIFICATION ALGORITHMS Algorithm Worst-Case Search Time Worst-Case Storage Linear search O(N) O(N) Hierarchical Tries O(W D ) O(NDW) Set-Pruning Trie O(W D ) O(N D ) Grid of Tries O(W D-1 ) O(NDW) SA DA 16 bit 8 bit 8 bit 16 bit Cross-Producting O(DW) O(N D ) FIS-Tree O((L+1)W) O(LN 1+1/L ) AQT O(NW) O(W) HiCuts O(D) O(N D ) RFC O(D) O(N D ) Bitmap Intersection O(DW+N/W) O(DN 2 ) Ternary CAMs O(1) O(N) Figure 4. Beginning of a multidimensional multibit trie. 8 bit TCP/UDP ports are divided in two strides of 6-10 (because most of the port numbers in use are usually below 1024). Finally, a single stride of 8 bits is used for the protocol field. A packet may match more than one rule, thus each rule in the database is associated with a field that identifies its priority. In addiction to the above listed metrics, for a correct selection of the packet classification algorithm, all the possible bottlenecks of NPs have to be taken into account. In particular, the number of memory accesses, the amount of memory consumption, and the size of the instruction store have to be considered. In other words, the key challenge is to design a packet classification algorithm that requires both low memory space and low access overhead: this would provide a proper scaling with respect to high bandwidth networks and large databases of classification rules. The analysis of results (especially the ones associated with search speed and number of accesses not shown in the Table I) led to identify a classification algorithm based on a multidimensional multibit trie structure as the most appropriate for IXP2400. Such an algorithm has, in the worstcase, a research speed of the order of O(W/K), a fix number of memory accesses (L) and a storage complexity of the order of O(2 (K-1) N W/K), where K is the average length of strides. In our implementation, the classifier processes the five main header fields, as typically adopted in the literature [16]: the IP Destination Address, IP Source Address, IP Destination Port, IP Source Port, and Layer 4 Protocol Type. Hence, we have a 5-dimensional classifier, which uses a 5-stage hierarchical search trie. In each stage, the classification algorithm processes a single packet header field; the analysis of each field is divided into several steps, performed by using a specific number of bits (named stride), instead of 1 bit at a time, to decrease the number of memory accesses (see Fig. 4). The choice of the strides lengths is based on a theoretical method proposed by Srinivasan [17] and on the analysis of the actual distributions of rules in real classifiers [16]. Thus, according to the classic IP classful addressing structure (in [16], it has been shown that the most of classification rules ignore subnetting) 32 bits long IP addresses are divided into three strides of bits respectively, while the 16 bits long IV. THE MODIFIED CLASSIFICATION ALGORITHM In order to improve the packet classification performance, this section presents the results of a number of modifications that have been applied to the original multidimensional multibit trie algorithm. The main issue of classical multidimensional multibit trie is memory consumption. Indeed, to handle rules with nonspecified parts (e.g ) and to have a single memory access in each stride of trie, 2 s nodes for level are necessary (where s = stride length) though only a few of them correspond to actual existing rules and the remaining nodes are virtual. This requires large memory storage: for example, a classifier of 50 rules (the average number of rules in real classifiers [7]), needs a data structure of 9 MB, that, in our scenario, would force to put the classification table in DRAM, the memory with the highest access latency. To decrease memory requirements, when there is a rule with non-specified parts (use of non-contiguous bit-masks is very frequent in real classifiers [7]), we perform a level crossing, which consists of jumping to the next level without need for nodes explosion. This operation, regardless to the specific sizes of available memories, drastically reduces memory consumption as required by NPs; this permits a feasible integration of different complex applications into the device. Table II shows the comparison, in terms of storage requirements, between the original classification algorithm and our modified version. We developed an apposite simulator in C language to compute the number of memory accesses and the memory size of the classifier. In the simulation runs, we used classification tables very similar to the ones used in some actual firewalls and edge routers; such tables contain both fully specified rules and partially specified rules (that is, several fields are not specified).

5 TABLE II STORAGE REQUIRENTS FO R DIFFERENT VERSIONS OF ALGORITHM Number of Original Modified rules algorithm algorithm Classifier Table 50 9 MB 440 KB MB 730 KB MB 1.2 MB MB 1.8 MB MB 2.3 MB MB 8 MB Obviously, the introduction of level crossing increases the algorithm complexity, because of possible backtrackings: indeed, the use of direct crossing can create, during the matching search operation, cases of wrong paths and consequent needs for traversals (see Fig. 5 for an example with one field only). This, in turn, makes the number of processing steps variable and raises the number of instructions necessary to implement packet processing (in spite of this, the instruction store of IXP2400 microengines is large enough to easily handle the modified algorithm). This phenomenon is largely compensated by the possibility of locating the classifier table into the SRAM, a memory device with lower access delay than that of the DRAM, with the global effect of a reduction of the packet processing time. Another improvement to the original algorithm is derived from the analysis of many real rules databases, and deals with the process of handling ranges of TCP/UDP port fields. Indeed, for these fields, it is common to find value specifications such as greater than 1024, between 100 and 128, and so on. Therefore, to cope with this issue, we introduce suitable objects in the structure of the trie nodes to identify lower and upper bounds of the range. Thus, when a packet header is processed to be classified, its port fields are no longer compared to a single value but rather to a range of them. R R2 R R R2 Packet header P: R3 Figure 5. A simple example of trie backtracking. V. CONCLUSIONS AND FUTURE WORKS In order to provide QoS and network security, packet classification arises as a fundamental task for network devices. At the same time, real-time applications are especially sensitive to the latency introduced by packet processing; these facts lead to the adoption of high performance and flexible network components. In this context, network processors are emerging as very promising platforms to perform the classification process, due to their capability to combine the programmability and flexibility of general-purpose processors with the high performance of hardware-based solutions. They are generally equipped with a small amount of memory and with limited access bandwidth. Hence, a key challenge is to design packet classification algorithms optimized for the specific network processor hardware platform. In this paper we have illustrated the design of a multidimensional packet classifier for the Radisys ENP board equipped with Intel IXP2400 Network Processor. The first phase of our research has been focused on the selection of a classification algorithm that would achieve an optimal trade-off between its performance and its possible integration in the specific hardware platform available to us. We have analyzed and compared the performance of an exhaustive number of multidimensional classifiers proposed in the literature and we identified the multidimensional multibit trie as the one that best matches our requirements. The multidimensional multibit trie algorithm is characterized by the low number of memory accesses and the high speed of search, but, in its original version, it requires large memory storage. Hence, in order to reduce memory consumption, we have applied some modifications to the original version of the algorithm, by introducing level crossing and the management of port range intervals. Finally we have validated these modifications by means of simulations: the results show a clear reduction on the amount of memory storage as well as the improvement of the processing time. We are perfectly aware that the overall performance of the classifier will also depend on its specific implementation on the hardware (code optimization for a very complex system which includes several microengines, hierarchy of memories, multitasking and multithreaded programming, etc.). At this moment, we are currently integrating the classification module into the IXP2400 by differentiating the functions of the XScale processor (that must receive the rules list and create the data structure in SRAM) and the functions of microengines (that must perform matching search in the data structure). The next steps will consist of integrating first the classification module on the NP platform into a real DiffServ edge router and, then, of performing a series of measurements to validate its actual performance. ACKNOWLE DGNTS This work was pa rtially supported by the Euro-NGI Network of Excellence funded by the European Commission.

6 REFERENCES [1] Pankaj Gupta and Nick McKeown, Algorithms for packet classification, IEEE/ACM Trans. Networking, vol. 15, pp , March-April [2] P.Tsuchiya, A search algorithm for table entries with non-contiguous wildcarding, Bellcore, unpublished report. [3] V. Srinivasan, G. Varghese, S. Suri, and M. Waldvagel, Fast and scalable layer four switching, Proceedings of ACM Sigcomm 98, pp , August [4] T. V. Lakshman and D. Stiliadis, High-speed policybased packet forwarding using efficient multidimensional range matching, Proceedings of ACM Sigcomm 98, pp , August [5] M. M. Buddhikot, S. Suri, and M. Waldvogel, Space decomposition techniques for fast layer-4 switching, Proceedings of Conference on Protocols for High Speed Networks, pp , August [6] A. Feldman and S. Muthukrishnan, Tradeoffs for packet classification, Proceedings of Infocom, vol. 3, pp , March [7] Pankaj Gupta and Nick McKeown, Packet classification on multiple fields, Proceedings of ACM Sigcomm 99, pp , August [8] Pankaj Gupta and Nick McKeown, Packet classification using hierarchical intelligent cuttings, Proceedings of Hot Interconnects VII, Stanford, CA, August [9] V. Srinivasan, S. Suri, and G. Varghese, Packet classification using tuple search space, Proceedings of ACM Sigcomm, pp , September [10] T. V. Lakshman and D. Stiliadis, High-speed policybased packet forwarding using efficient multidimensional range matching, Proceedings of ACM Sigcomm, pp , September [11] Ultra9M, Datasheet from SiberCore Technologies (online), Available: [12] Intel Corporation, Intel IXP2400 Network Processor, ixp2400.htm. [13] Intel Corporation, Intel IXA University Program, edu.com. [14] Erik J. Johnson and Aaron R. Kunze, IXP2400/2800 Programming", Intel Press, [15] RadiSys Corporation, "ENP-2611 Data Sheet", [16] Michael E. Kounavis, Alok Kumar, Harrick Vin, Raj Yavatkar, and Andrew T. Campbell, Directions in Packet Classification for Networks Processors, Proceedings of 2nd Workshop on Network Processors, February [17] V. Snirivasan and G. Varghese, Faster IP lookups using controlled prefix expansion, Proceedings of ACM Sigmatics, June 1998.

ECE697AA Lecture 21. Packet Classification

ECE697AA Lecture 21. Packet Classification ECE697AA Lecture 21 Routers: Flow Classification Algorithms Tilman Wolf Department of Electrical and Computer Engineering 11/20/08 Packet Classification What is packet classification? Categorization of

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

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

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

Algorithms for Packet Classification

Algorithms for Packet Classification Algorithms for Packet Classification Pankaj Gupta and Nick McKeown, Stanford University Abstract The process of categorizing packets into flows in an Internet router is called packet classification. All

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

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

TOWARDS EFFECTIVE PACKET CLASSIFICATION

TOWARDS EFFECTIVE PACKET CLASSIFICATION TOWARDS EFFECTIVE PACKET CLASSIFICATION Yaxuan Qi 1 and Jun Li 1, 2 1 Research Institute of Information Technology (RIIT), Tsinghua University, Beijing, China, 100084 2 Tsinghua National Lab for Information

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

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

Recursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields

Recursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields 5 CHAPTER 4 Recursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields Introduction Chapters 2 and 3 described algorithms for routing lookups. In this chapter and the next

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

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

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

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

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

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

DESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER

DESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER International Journal of Computer Engineering and Applications, Volume VI, Issue II, May 14 www.ijcea.com ISSN 2321 3469 DESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER Kiran K C 1, Sunil T D

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

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

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

SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification. Fang Yu, T.V. Lakshman, Martin Austin Motoyama, Randy H.

SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification. Fang Yu, T.V. Lakshman, Martin Austin Motoyama, Randy H. SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification Fang Yu, T.V. Lakshman, Martin Austin Motoyama, Randy H. Katz Presented by: Discussion led by: Sailesh Kumar Packet Classification

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

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

Hardware Assisted Recursive Packet Classification Module for IPv6 etworks ABSTRACT

Hardware Assisted Recursive Packet Classification Module for IPv6 etworks ABSTRACT Hardware Assisted Recursive Packet Classification Module for IPv6 etworks Shivvasangari Subramani [shivva1@umbc.edu] Department of Computer Science and Electrical Engineering University of Maryland Baltimore

More information

Towards System-level Optimization for High Performance Unified Threat Management

Towards System-level Optimization for High Performance Unified Threat Management Towards System-level Optimization for High Performance Unified Threat Management Yaxuan Qi 1, 2, Baohua Yang 1, 3, Bo Xu 1, 3, Jun Li 1, 2 1 Research Institute of Information Technology (RIIT), Tsinghua

More information

TTSS Packet Classification Algorithm to enhance Multimedia Applications in Network Processor based Router

TTSS Packet Classification Algorithm to enhance Multimedia Applications in Network Processor based Router TTSS Packet Classification Algorithm to enhance Multimedia Applications in Network Processor based Router R.Avudaiammal, R.SivaSubramanian, R.Pandian and P. Seethalakshmi Research Scholar, Research Scholar,

More information

Packet Classification Algorithms: A Survey

Packet Classification Algorithms: A Survey Packet Classification Algorithms: A Survey Evangeline Asha B 1, Kavitha S 2 1 PG Scholar, Hindusthan Institute of Technology, Coimbatore, Tamil Nadu, India 2 Professor, Hindusthan Institute of Technology,

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

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

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

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

Towards High-performance Flow-level level Packet Processing on Multi-core Network Processors

Towards High-performance Flow-level level Packet Processing on Multi-core Network Processors Towards High-performance Flow-level level Packet Processing on Multi-core Network Processors Yaxuan Qi (presenter), Bo Xu, Fei He, Baohua Yang, Jianming Yu and Jun Li ANCS 2007, Orlando, USA Outline Introduction

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

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

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

Bitmap Intersection Lookup (BIL) : A Packet Classification s Algorithm with Rules Updating

Bitmap Intersection Lookup (BIL) : A Packet Classification s Algorithm with Rules Updating ICCAS25 Bitmap Intersection Lookup (BIL) : A Packet Classification s Algorithm with Rules Updating Akharin Khunkitti*, Nuttachot Promrit** *Faculty of Information Technology, King Mongkut's Institute of

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

incrementally update the data structure on insertion or deletion of classification rules. An algorithm that supports incremental updates is said to be

incrementally update the data structure on insertion or deletion of classification rules. An algorithm that supports incremental updates is said to be Dynamic Algorithms with Worst-case Performance for Packet Classification Pankaj Gupta 1 and Nick McKeown 1 Computer Systems Laboratory, Stanford University Stanford, CA 94305-9030 fpankaj, nickmg@stanford.edu

More information

Implementation of Adaptive Buffer in Video Receivers Using Network Processor IXP 2400

Implementation of Adaptive Buffer in Video Receivers Using Network Processor IXP 2400 The International Arab Journal of Information Technology, Vol. 6, No. 3, July 2009 289 Implementation of Adaptive Buffer in Video Receivers Using Network Processor IXP 2400 Kandasamy Anusuya, Karupagouder

More information

Packet Classification: From Theory to Practice

Packet Classification: From Theory to Practice Packet Classification: From Theory to Practice Jun Li Most contributions from Yaxuan Qi and many other students of mine Tsinghua Univ., Beijing, China Outline Packet Classification Introduction Review

More information

Packet Classification via Improved Space Decomposition Techniques

Packet Classification via Improved Space Decomposition Techniques 1 Packet Classification via Improved Space Decomposition Techniques Filippo Geraci, Marco Pellegrini, Paolo Pisati IIT-CNR, Pisa, filippo.geraci,marco.pellegrini,paolo.pisati @iit.cnr.it Luigi Rizzo Dip.Ing.Informazione,

More information

Packet Classification Using Standard Access Control List

Packet Classification Using Standard Access Control List Packet Classification Using Standard Access Control List S.Mythrei 1, R.Dharmaraj 2 PG Student, Dept of CSE, Sri Vidya College of engineering and technology, Virudhunagar, Tamilnadu, India 1 Research Scholar,

More information

A Multi Gigabit FPGA-based 5-tuple classification system

A Multi Gigabit FPGA-based 5-tuple classification system A Multi Gigabit FPGA-based 5-tuple classification system Antonis Nikitakis Technical University of Crete, Department of Electronic and Computer Engineering Kounoupidiana, Chania, Crete, GR73100, Greece

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

Fast Firewall Implementations for Software and Hardware-based Routers

Fast Firewall Implementations for Software and Hardware-based Routers Fast Firewall Implementations for Software and Hardware-based Routers Lili Qiu George Varghese Subhash Suri liliq@microsoft.com varghese@cs.ucsd.edu suri@cs.ucsb.edu Microsoft Research University of California,

More information

Rule Caching for Packet Classification Support

Rule Caching for Packet Classification Support Rule Caching for Packet Classification Support Joji Philip, Manish Taneja, and Roberto Rojas-Cessa Abstract The growth of the Internet and requirements for enhanced flexibility and versatility have resulted

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

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

MULTI-MATCH PACKET CLASSIFICATION BASED ON DISTRIBUTED HASHTABLE

MULTI-MATCH PACKET CLASSIFICATION BASED ON DISTRIBUTED HASHTABLE International Journal of Science, Environment and Technology, Vol. 4, No 4, 2015, 1098 1106 ISSN 2278-3687 (O) 2277-663X (P) MULTI-MATCH PACKET CLASSIFICATION BASED ON DISTRIBUTED HASHTABLE 1 Neeshma K

More information

Improving TCP Performance over Wireless Networks using Loss Predictors

Improving TCP Performance over Wireless Networks using Loss Predictors Improving TCP Performance over Wireless Networks using Loss Predictors Fabio Martignon Dipartimento Elettronica e Informazione Politecnico di Milano P.zza L. Da Vinci 32, 20133 Milano Email: martignon@elet.polimi.it

More information

Priority Area-based Quad-Tree Packet Classification Algorithm and Its Mathematical Framework

Priority Area-based Quad-Tree Packet Classification Algorithm and Its Mathematical Framework Appl. Math. Inf. Sci. 7, No. 1, 9-20 (2013) 9 Applied Mathematics & Information Sciences An International Journal Priority Area-based Quad-Tree Packet Classification Algorithm and Its Mathematical Framework

More information

Towards Optimized Packet Classification Algorithms for Multi-Core Network Processors

Towards Optimized Packet Classification Algorithms for Multi-Core Network Processors Towards Optimized Packet Classification Algorithms for Multi-Core Network Processors Yaxuan Qi 1, 3, Bo Xu 1, 2, Fei He 1, 2, Xin Zhou 1, 2, Jianming Yu 1, 2 and Jun Li 1, 3 1 Research Institute of Information

More information

SINCE the ever increasing dependency on the Internet, there

SINCE the ever increasing dependency on the Internet, there IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 8, NO. 6, DECEMBER 2006 1239 Scalable Packet Classification for Enabling Internet Differentiated Services Pi-Chung Wang, Member, IEEE, Chia-Tai Chan, Chun-Liang Lee,

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

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

Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA

Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA Weirong Jiang, Viktor K. Prasanna University of Southern California Norio Yamagaki NEC Corporation September 1, 2010 Outline

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

Packet classification using diagonal-based tuple space search q

Packet classification using diagonal-based tuple space search q Computer Networks 50 (2006) 1406 1423 www.elsevier.com/locate/comnet Packet classification using diagonal-based tuple space search q Fu-Yuan Lee *, Shiuhpyng Shieh Department of Computer Science and Information

More information

DBS: A Bit-level Heuristic Packet Classification Algorithm for High Speed Network

DBS: A Bit-level Heuristic Packet Classification Algorithm for High Speed Network 9 15th International Conference on Parallel and Distributed Systems : A Bit-level Heuristic Packet Classification Algorithm for High Speed Network Baohua Yang *,, Xiang Wang, Yibo Xue, and Jun Li, * Dept.

More information

Memory-Efficient 5D Packet Classification At 40 Gbps

Memory-Efficient 5D Packet Classification At 40 Gbps Memory-Efficient 5D Packet Classification At 40 Gbps Ioannis Papaefstathiou ECE Department, Technical University of Crete, Kounoupidiana, Chania, Crete, GR73100, Greece ygp@ece.tuc.gr Vassilis Papaefstathiou

More information

Efficient Multi-Match Packet Classification with TCAM

Efficient Multi-Match Packet Classification with TCAM Efficient Multi-Match Packet Classification with Fang Yu and Randy Katz fyu, randy @eecs.berkeley.edu CS Division, EECS Department, U.C.Berkeley Report No. UCB/CSD-4-1316 March 2004 Computer Science Division

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

Efficient TCAM Encoding Schemes for Packet Classification using Gray Code

Efficient TCAM Encoding Schemes for Packet Classification using Gray Code Efficient TCAM Encoding Schemes for Packet Classification using Gray Code Yeim-Kuan Chang and Cheng-Chien Su Department of Computer Science and Information Engineering National Cheng Kung University Tainan,

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

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

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

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

Performance Evaluation of Cutting Algorithms for the Packet Classification in Next Generation Networks

Performance Evaluation of Cutting Algorithms for the Packet Classification in Next Generation Networks Performance Evaluation of Cutting Algorithms for the Packet Classification in Next Generation Networks Abstract---Packet classification plays an important role in both edge and core routers to provide

More information

Fast Packet Classification Using Bloom filters

Fast Packet Classification Using Bloom filters Fast Packet Classification Using Bloom filters Sarang Dharmapurikar Haoyu Song Jonathan Turner John Lockwood sarang@arl.wustl.edu hs@arl.wustl.edu jst@arl.wustl.edu lockwood@arl.wustl.edu Washington University

More information

High-Performance Packet Classification Algorithm for Multithreaded IXP Network Processor

High-Performance Packet Classification Algorithm for Multithreaded IXP Network Processor High-Performance Packet Classification Algorithm for Multithreaded IXP Network Processor DUO LIU Southwest University of Science and Technology, University of Science and Technology of China, and Suzhou

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

Scalable Packet Classification Using Interpreting. A Cross-platform Multi-core Solution

Scalable Packet Classification Using Interpreting. A Cross-platform Multi-core Solution Scalable Packet Classification Using Interpreting 1 Haipeng Cheng, 2 Zheng Chen, 3 Bei Hua 1,3 Department of Computer Science and Technology 2 Department of Electronic Engineering and Information Science

More information

Real Time Packet Classification and Analysis based on Bloom Filter for Longest Prefix Matching

Real Time Packet Classification and Analysis based on Bloom Filter for Longest Prefix Matching Real Time Packet Classification and Analysis based on Bloom Filter for Longest Prefix Matching Ms. Namita N. Kothari ME Information Technology2nd, Amrutvahini College of Engineering, Sangamner, India namitakothari8@gmail.com

More information

Introduction CHAPTER 1

Introduction CHAPTER 1 1 CHAPTER 1 Introduction The Internet is comprised of a mesh of routers interconnected by links. Communication among nodes on the Internet (routers and end-hosts) takes place using the Internet Protocol,

More information

Introduction to Network Processors: Building Block for Programmable High- Speed Networks. Example: Intel IXA

Introduction to Network Processors: Building Block for Programmable High- Speed Networks. Example: Intel IXA Introduction to Network Processors: Building Block for Programmable High- Speed Networks Example: Intel IXA Shiv Kalyanaraman Yong Xia (TA) shivkuma@ecse.rpi.edu http://www.ecse.rpi.edu/homepages/shivkuma

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

Packet Classification for Core Routers: Is there an alternative to CAMs?

Packet Classification for Core Routers: Is there an alternative to CAMs? Packet Classification for Core Routers: Is there an alternative to CAMs? Florin Baboescu, Sumeet Singh, George Varghese Abstract A classifier consists of a set of rules for classifying packets based on

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

Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA

Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA 2010 International Conference on Field Programmable Logic and Applications Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA Weirong Jiang, Viktor K. Prasanna Ming Hsieh Department

More information

Topic & Scope. Content: The course gives

Topic & Scope. Content: The course gives Topic & Scope Content: The course gives an overview of network processor cards (architectures and use) an introduction of how to program Intel IXP network processors some ideas of how to use network processors

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

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

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

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

Survey and Taxonomy of Packet Classification Techniques

Survey and Taxonomy of Packet Classification Techniques Survey and Taxonomy of Packet Classification Techniques DAVID E. TAYLOR Applied Research Laboratory Washington University in Saint Louis Packet classification is an enabling function for a variety of Internet

More information

All-Match Based Complete Redundancy Removal for Packet Classifiers in TCAMs

All-Match Based Complete Redundancy Removal for Packet Classifiers in TCAMs All-Match Based Complete for Packet Classifiers in TCAMs Alex X Liu Chad R Meiners Yun Zhou Department of Computer Science and Engineering Michigan State University East Lansing, MI 48823, USA {alexliu,

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

TUPLE PRUNING USING BLOOM FILTERS FOR PACKET CLASSIFICATION

TUPLE PRUNING USING BLOOM FILTERS FOR PACKET CLASSIFICATION ... TUPLE PRUNING USING BLOOM FILTERS FOR PACKET CLASSIFICATION... TUPLE PRUNING FOR PACKET CLASSIFICATION PROVIDES FAST SEARCH AND A LOW IMPLEMENTATION COMPLEXITY. THE TUPLE PRUNING ALGORITHM REDUCES

More information

Efficient, Scalable, and Provenance-Aware Management of Linked Data

Efficient, Scalable, and Provenance-Aware Management of Linked Data Efficient, Scalable, and Provenance-Aware Management of Linked Data Marcin Wylot 1 Motivation and objectives of the research The proliferation of heterogeneous Linked Data on the Web requires data management

More information

FAST IP ADDRESS LOOKUP ENGINE FOR SOC INTEGRATION

FAST IP ADDRESS LOOKUP ENGINE FOR SOC INTEGRATION FAST IP ADDRESS LOOKUP ENGINE FOR SOC INTEGRATION Tomas Henriksson Department of Electrical Engineering Linköpings universitet SE-581 83 Linköping tomhe@isy.liu.se Ingrid Verbauwhede UCLA EE Dept 7440B

More information

CS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck

CS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck Main memory management CMSC 411 Computer Systems Architecture Lecture 16 Memory Hierarchy 3 (Main Memory & Memory) Questions: How big should main memory be? How to handle reads and writes? How to find

More information

Hierarchical Intelligent Cuttings: A Dynamic Multi-dimensional Packet Classification Algorithm

Hierarchical Intelligent Cuttings: A Dynamic Multi-dimensional Packet Classification Algorithm 161 CHAPTER 5 Hierarchical Intelligent Cuttings: A Dynamic Multi-dimensional Packet Classification Algorithm 1 Introduction We saw in the previous chapter that real-life classifiers exhibit structure and

More information

HybridCuts: A Scheme Combining Decomposition and Cutting for Packet Classification

HybridCuts: A Scheme Combining Decomposition and Cutting for Packet Classification 2013 IEEE 21st Annual Symposium on High-Performance Interconnects HybridCuts: A Scheme Combining Decomposition and Cutting for Packet Classification Wenjun Li (liwenjun@sz.pku.edu.cn), Xianfeng Li (lixianfeng@pkusz.edu.cn)

More information

Packet Classification Algorithms: From Theory to Practice

Packet Classification Algorithms: From Theory to Practice Packet Classification Algorithms: From Theory to Practice Yaxuan Qi, Lianghong Xu and Baohua Yang Department of Automation, Research Institute of Information Technology (RIIT), Tsinghua University, Beijing,

More information

NOWADAYS, pattern matching is required in an increasing

NOWADAYS, pattern matching is required in an increasing IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 3, JUNE 2011 683 Differential Encoding of DFAs for Fast Regular Expression Matching Domenico Ficara, Member, IEEE, Andrea Di Pietro, Student Member, IEEE,

More information

Ruler: High-Speed Packet Matching and Rewriting on Network Processors

Ruler: High-Speed Packet Matching and Rewriting on Network Processors Ruler: High-Speed Packet Matching and Rewriting on Network Processors Tomáš Hrubý Kees van Reeuwijk Herbert Bos Vrije Universiteit, Amsterdam World45 Ltd. ANCS 2007 Tomáš Hrubý (VU Amsterdam, World45)

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

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

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