Advanced Algorithms for Fast and Scalable Deep Packet Inspection Author : Sailesh Kumar 、 Jonathan Turner 、 John Williams Publisher : ANCS’06 Presenter.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Lecture 15. Graph Algorithms
Every edge is in a red ellipse (the bags). The bags are connected in a tree. The bags an original vertex is part of are connected.
Review Binary Search Trees Operations on Binary Search Tree
1 Huffman Codes. 2 Introduction Huffman codes are a very effective technique for compressing data; savings of 20% to 90% are typical, depending on the.
11 An Improved Algorithm to Accelerate Regular Expression Evaluation Authors: Michela Becchi and Patrick Crowley Publisher: ANCS’07 Present: Kia-Tso Chang.
The Theory of NP-Completeness
1 Regular expression matching with input compression : a hardware design for use within network intrusion detection systems Department of Computer Science.
Aho-Corasick String Matching An Efficient String Matching.
1 HEXA: Compact Data Structures or Faster Packet Processing Author: Sailesh Kumar, Jonathan Turner, Patrick Crowley, Michael Mitzenmacher. Publisher: ICNP.
Fast and Scalable Packet Classification Using Perfect Hash functions Author: Viktor Puš, Jan Korenek Publisher: FPGA’09 Presenter: Yu-Ping Chiang Date:
Finite Automata Chapter 5. Formal Language Definitions Why need formal definitions of language –Define a precise, unambiguous and uniform interpretation.
1 HEXA : Compact Data Structures for Faster Packet Processing Department of Computer Science and Information Engineering National Cheng Kung University,
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
Memory-Efficient Regular Expression Search Using State Merging Department of Computer Science and Information Engineering National Cheng Kung University,
CPSC 411, Fall 2008: Set 4 1 CPSC 411 Design and Analysis of Algorithms Set 4: Greedy Algorithms Prof. Jennifer Welch Fall 2008.
Constant Factor Approximation of Vertex Cuts in Planar Graphs Eyal Amir, Robert Krauthgamer, Satish Rao Presented by Elif Kolotoglu.
Zvi Kohavi and Niraj K. Jha 1 Memory, Definiteness, and Information Losslessness of Finite Automata.
An Improved Algorithm to Accelerate Regular Expression Evaluation Author : Michela Becchi 、 Patrick Crowley Publisher : ANCS’07 Presenter : Wen-Tse Liang.
Lecture 03: Theory of Automata:08 Finite Automata.
An Improved Algorithm to Accelerate Regular Expression Evaluation Author: Michela Becchi, Patrick Crowley Publisher: 3rd ACM/IEEE Symposium on Architecture.
SI-DFA: Sub-expression Integrated Deterministic Finite Automata for Deep Packet Inspection Authors: Ayesha Khalid, Rajat Sen†, Anupam Chattopadhyay Publisher:
Lecture 05: Theory of Automata:08 Kleene’s Theorem and NFA.
An Efficient Regular Expressions Compression Algorithm From A New Perspective  Author: Tingwen Liu, Yifu Yang, Yanbing Liu, Yong Sun, Li Guo  Publisher:
StriD 2 FA: Scalable Regular Expression Matching for Deep Packet Inspection Author: Xiaofei Wang, Junchen Jiang, Yi Tang, Bin Liu, and Xiaojun Wang Publisher:
Sampling Techniques to Accelerate Pattern Matching in Network Intrusion Detection Systems Author : Domenico Ficara, Gianni Antichi, Andrea Di Pietro, Stefano.
Memory Compression Algorithms for Networking Features Sailesh Kumar.
 Author: Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci, Gianni Antichi, Andrea Di Pietro  Publisher: 2008 ACM SIGCOMM  Presenter:
INFAnt: NFA Pattern Matching on GPGPU Devices Author: Niccolo’ Cascarano, Pierluigi Rolando, Fulvio Risso, Riccardo Sisto Publisher: ACM SIGCOMM 2010 Presenter:
Algorithms to Accelerate Multiple Regular Expressions Matching for Deep Packet Inspection Sailesh Kumar Sarang Dharmapurikar Fang Yu Patrick Crowley Jonathan.
StriD2FA Scalable Regular Expression Matching for Deep Packet Inspection Author : Xiaofei Wang, Junchen Jiang, Yi Tang,Yi Wang,Bin Liu Xiaojun Wang Publisher.
Extending Finite Automata to Efficiently Match Perl-Compatible Regular Expressions Publisher : Conference on emerging Networking EXperiments and Technologies.
TCAM –BASED REGULAR EXPRESSION MATCHING SOLUTION IN NETWORK Phase-I Review Supervised By, Presented By, MRS. SHARMILA,M.E., M.ARULMOZHI, AP/CSE.
CS 3813: Introduction to Formal Languages and Automata Chapter 2 Deterministic finite automata These class notes are based on material from our textbook,
Memory-Efficient Regular Expression Search Using State Merging Author: Michela Becchi, Srihari Cadambi Publisher: INFOCOM th IEEE International.
Union-Find  Application in Kruskal’s Algorithm  Optimizing Union and Find Methods.
Advanced Regular Expression Matching for Line-Rate Deep Packet Inspection Sailesh Kumar, Jon Turner Michela Becchi, Patrick Crowley, George Varghese.
CS 203: Introduction to Formal Languages and Automata
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
Author : Randy Smith & Cristian Estan & Somesh Jha Publisher : IEEE Symposium on Security & privacy,2008 Presenter : Wen-Tse Liang Date : 2010/10/27.
Graph Theory Trees. WHAT YOU WILL LEARN Trees, spanning trees, and minimum-cost spanning trees.
MA/CSSE 473 Day 34 MST details: Kruskal's Algorithm Prim's Algorithm.
TFA: A Tunable Finite Automaton for Regular Expression Matching Author: Yang Xu, Junchen Jiang, Rihua Wei, Yang Song and H. Jonathan Chao Publisher: ACM/IEEE.
A Fast Regular Expression Matching Engine for NIDS Applying Prediction Scheme Author: Lei Jiang, Qiong Dai, Qiu Tang, Jianlong Tan and Binxing Fang Publisher:
Lecture 12 Huffman Algorithm. In computer science and information theory, a Huffman code is a particular type of optimal prefix code that is commonly.
LaFA Lookahead Finite Automata Scalable Regular Expression Detection Authors : Masanori Bando, N. Sertac Artan, H. Jonathan Chao Masanori Bando N. Sertac.
An Improved DFA for Fast Regular Expression Matching Author : Domenico Ficara 、 Stefano Giordano 、 Gregorio Procissi Fabio Vitucci 、 Gianni Antichi 、 Andrea.
Author : S. Kumar, B. Chandrasekaran, J. Turner, and G. Varghese Publisher : ANCS ‘07 Presenter : Jo-Ning Yu Date : 2011/04/20.
Tree Diagrams A tree is a connected graph in which every edge is a bridge. There can NEVER be a circuit in a tree diagram!
Overview of Previous Lesson(s) Over View  A token is a pair consisting of a token name and an optional attribute value.  A pattern is a description.
Data Structures and Algorithm Analysis Graph Algorithms Lecturer: Jing Liu Homepage:
CS 404Ahmed Ezzat 1 CS 404 Introduction to Compiler Design Lecture 1 Ahmed Ezzat.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Deflating the Big Bang: Fast and Scalable Deep Packet Inspection with Extended Finite Automata Date:101/3/21 Publisher:SIGCOMM 08 Author:Randy Smith Cristian.
Efficient Signature Matching with Multiple Alphabet Compression Tables Publisher : SecureComm, 2008 Author : Shijin Kong,Randy Smith,and Cristian Estan.
Graph Search Applications, Minimum Spanning Tree
Chapter 2 Finite Automata
HEXA: Compact Data Structures for Faster Packet Processing
Advanced Algorithms for Fast and Scalable Deep Packet Inspection
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Minimum Spanning Tree.
4-4 Graph Theory Trees.
Kruskal’s Algorithm for finding a minimum spanning tree
Finite Automata.
Compact DFA Structure for Multiple Regular Expressions Matching
Minimum Spanning Trees (MSTs)
Finite Automata with Output
NFAs and Transition Graphs
A SRAM-based Architecture for Trie-based IP Lookup Using FPGA
Presentation transcript:

Advanced Algorithms for Fast and Scalable Deep Packet Inspection Author : Sailesh Kumar 、 Jonathan Turner 、 John Williams Publisher : ANCS’06 Presenter : Wen-Tse Liang Date : 2010/12/15 1

 Introduction  Background  Content-address D 2 FA  Alphabet reduction  Experimental Evaluation Outline 2

 This paper builds on a new technique for parsing regular expressions using Delayed Input Deterministic Finite Automata (D 2 FA).  Unfortunately, the use of default transitions also reduces throughput, since no input is consumed when a default transition is followed, but memory must be accessed to retrieve the next state. Introduction 3

 D 2 FA Background 4

 replace state identifiers with content labels that include part of the information that would normally be stored in the table entry for the state.  The content labels can be used to skip past default transitions that would otherwise need to be traversed before reaching a labeled transition that matches the current input character. Content-address D 2 FA 5

 content addressing with the example Content-address D 2 FA 6

 Complete Example Content-address D 2 FA 7

 complete representation  example : aAcba  1 → 461 → 46 → 61 → 58 → 9 Content-address D 2 FA 8

 Our general objective is to create compact CD 2 FAs and not compact therefore we take proper care that default paths do not grow too deep and content labels do not ecome too big.  To meet these objectives, we have developed simple yet effective heuristic called CRO, which runs in three phases, called creation, reduction and optimization. CONSTRUCTION OF GOOD D 2 FAS 9

 Creation phase  During the creation phase, a collection of trees on the space reduction graph is constructed using a variant of Kruskal’s algorithm [24].  We refer to these trees as spanning forest; diameter of all trees in this forest is bounded to two edges, thus the default paths contain a single default transition. CONSTRUCTION OF GOOD D 2 FAS 10

 Creation phase  a) A set of default transition trees created by Kruskal’s algorithm with tree diameter bounded to 2. CONSTRUCTION OF GOOD D 2 FAS 11

 Reduction phase  During reduction phase, the number of trees is reduced in an attempt to increase the weight of the spanning forest.  For any tree under examination, it is first dissolved and all its edges are removed from the forest. Afterwards, each vertex u of the dissolved tree is joined to the root vertex r of one of the tree among all trees in the forest, so that edge (u, r) has the highest weight. CONSTRUCTION OF GOOD D 2 FAS 12

 Reduction phase  After dissolving tree 2-3 and joining its vertices to root vertex 1.  c) After dissolving tree and joining its vertices to root vertices 1, 1 and 8. CONSTRUCTION OF GOOD D 2 FAS 13

 Optimization phase  some states may have many labeled outgoing transition because their default paths are bounded to single default transition.  We may reduce the number of labeled transitions at these states by allowing them to have longer default paths.  This, however, may increase the size of content label of transitions entering into those states, as labels associated with those transitions will store all characters for which transitions are defined at all states along the default path. CONSTRUCTION OF GOOD D 2 FAS 14

 Optimization phase  For a state under examination, a new default state from among all states, whose default path contains a single default transition, is evaluated. If one such default state results in an overall reduction in the memory, then it becomes the new default transition of the examined state. CONSTRUCTION OF GOOD D 2 FAS 15

 Alphabet reduction  We refer to the most frequently occurring “next state” from any given state as its common transition. If we let A denote the original alphabet, set C(s) denote the characters Alphabet reduction 16

 Alphabet reduction  alphabet of the root states can be reduced to  If L(s) is the set of characters for which labeled transitions are present at a non-root state s, then the alphabet of non-root states can become Alphabet reduction 17

 representative regular expression groups Experimental Evaluation 18

Experimental Evaluation 19