Efficient Memory Utilization on Network Processors for Deep Packet Inspection Piti Piyachon Yan Luo Electrical and Computer Engineering Department University.

Slides:



Advertisements
Similar presentations
Deep Packet Inspection: Where are We? CCW08 Michela Becchi.
Advertisements

Deep packet inspection – an algorithmic view Cristian Estan (U of Wisconsin-Madison) at IEEE CCW 2008.
Enhanced matrix multiplication algorithm for FPGA Tamás Herendi, S. Roland Major UDT2012.
Fast and Scalable Pattern Matching for Content Filtering Sarang Dharmapurikar John Lockwood.
Multi-dimensional Packet Classification on FPGA: 100Gbps and Beyond
A Scalable and Reconfigurable Search Memory Substrate for High Throughput Packet Processing Sangyeun Cho and Rami Melhem Dept. of Computer Science University.
Massively Parallel Cuckoo Pattern Matching Applied For NIDS/NIPS  Author: Tran Ngoc Thinh, Surin Kittitornkun  Publisher: Electronic Design, Test and.
Technical University of Crete Packet Pre-filtering for Network Intrusion Detection Ioannis Sourdis, Vasilis Dimopoulos, Dionisios Pnevmatikatos and Stamatis.
Pipelined Parallel AC-based Approach for Multi-String Matching Department of Computer Science and Information Engineering National Cheng Kung University,
Using Cell Processors for Intrusion Detection through Regular Expression Matching with Speculation Author: C˘at˘alin Radu, C˘at˘alin Leordeanu, Valentin.
Modified Data Structure of Aho-Corasick Project ECE-526 Spring 2006 Benfano Soewito, Ed Flanigan and John Pangrazio Southern Illinois University Carbondale.
Deterministic Memory- Efficient String Matching Algorithms for Intrusion Detection Nathan Tuck, Timothy Sherwood, Brad Calder, George Varghese Department.
Design of High Performance Pattern Matching Engine Through Compact Deterministic Finite Automata Department of Computer Science and Information Engineering.
1 Energy Efficient Multi-match Packet Classification with TCAM Fang Yu
Compact State Machines for High Performance Pattern Matching Department of Computer Science and Information Engineering National Cheng Kung University,
Pipelined Architecture For Multi-String Match Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
Aho-Corasick String Matching An Efficient String Matching.
1 Gigabit Rate Multiple- Pattern Matching with TCAM Fang Yu Randy H. Katz T. V. Lakshman
ECE 526 – Network Processing Systems Design Network Security: string matching algorithm Chapter 17: George Varghese.
1 Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Department of Computer Science and Information Engineering National.
1 Performing packet content inspection by longest prefix matching technology Authors: Nen-Fu Huang, Yen-Ming Chu, Yen-Min Wu and Chia- Wen Ho Publisher:
A High Throughput String Matching Architecture for Intrusion Detection and Prevention Lin Tan U of Illinois, Urbana Champaign Tim Sherwood UC, Santa Barbara.
Modified Data Structure of Aho-Corasick Project ECE-526 Spring 2006 Benfano Soewito, Ed Flanigan and John Pangrazio Southern Illinois University Carbondale.
Deep Packet Inspection with Regular Expression Matching Min Chen, Danny Guo {michen, CSE Dept, UC Riverside 03/14/2007.
Gnort: High Performance Intrusion Detection Using Graphics Processors Giorgos Vasiliadis, Spiros Antonatos, Michalis Polychronakis, Evangelos Markatos,
1 ARCHITECTURES FOR BIT-SPLIT STRING SCANNING IN INTRUSION DETECTION Author: Lin Tan, Timothy Sherwood Publisher: IEEE MICRO, 2006 Presenter: Hsin-Mao.
Improving Signature Matching using Binary Decision Diagrams Liu Yang, Rezwana Karim, Vinod Ganapathy Rutgers University Randy Smith Sandia National Labs.
RAID2005 CardGuard: Towards software-based signature detection for intrusion prevention on the network card Herbert Bos and Kaiming Huang presented by.
 Author: Tsern-Huei Lee  Publisher: 2009 IEEE Transation on Computers  Presenter: Yuen-Shuo Li  Date: 2013/09/18 1.
CSE7701: Research Seminar on Networking
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Fast and deterministic hash table lookup using discriminative bloom filters  Author: Kun Huang, Gaogang Xie,  Publisher: 2013 ELSEVIER Journal of Network.
A High Throughput String Matching Architecture for Intrusion Detection and Prevention Lin Tan, Timothy Sherwood Appeared in ISCA 2005 Presented by: Sailesh.
1 Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Fang Yu Microsoft Research, Silicon Valley Work was done in UC Berkeley,
Accelerating Multipattern Matching on Compressed HTTP Traffic Published in : IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 20, NO. 3, JUNE 2012 Authors : Bremler-Barr,
An Improved Algorithm to Accelerate Regular Expression Evaluation Author: Michela Becchi, Patrick Crowley Publisher: 3rd ACM/IEEE Symposium on Architecture.
Timothy Whelan Supervisor: Mr Barry Irwin Security and Networks Research Group Department of Computer Science Rhodes University Hardware based packet filtering.
Space-Time Tradeoffs in Software-Based Deep Packet Inspection Anat Bremler-Barr Yotam Harchol ⋆ David Hay IDC Herzliya, Israel Hebrew University, Israel.
Space-Time Tradeoffs in Software-Based Deep Packet Inspection Anat Bremler-Barr Yotam Harchol ⋆ David Hay IDC Herzliya, Israel Hebrew University, Israel.
Leveraging Traffic Repetitions for High- Speed Deep Packet Inspection Author: Anat Bremler-Barr, Shimrit Tzur David, Yotam Harchol, David Hay Publisher:
Modular SRAM-based Binary Content-Addressable Memories Ameer M.S. Abdelhadi and Guy G.F. Lemieux Department of Electrical and Computer Engineering University.
Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Authors: Fang Yu, Zhifeng Chen, Yanlei Diao, T. V. Lakshman, Randy H.
An Efficient Regular Expressions Compression Algorithm From A New Perspective  Author: Tingwen Liu, Yifu Yang, Yanbing Liu, Yong Sun, Li Guo  Publisher:
Parallelization and Characterization of Pattern Matching using GPUs Author: Giorgos Vasiliadis 、 Michalis Polychronakis 、 Sotiris Ioannidis Publisher:
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
StriD 2 FA: Scalable Regular Expression Matching for Deep Packet Inspection Author: Xiaofei Wang, Junchen Jiang, Yi Tang, Bin Liu, and Xiaojun Wang Publisher:
Memory Compression Algorithms for Networking Features Sailesh Kumar.
Algorithms to Accelerate Multiple Regular Expressions Matching for Deep Packet Inspection Sailesh Kumar Sarang Dharmapurikar Fang Yu Patrick Crowley Jonathan.
TCAM –BASED REGULAR EXPRESSION MATCHING SOLUTION IN NETWORK Phase-I Review Supervised By, Presented By, MRS. SHARMILA,M.E., M.ARULMOZHI, AP/CSE.
Memory-Efficient Regular Expression Search Using State Merging Author: Michela Becchi, Srihari Cadambi Publisher: INFOCOM th IEEE International.
A Scalable Architecture For High-Throughput Regular-Expression Pattern Matching Yao Song 11/05/2015.
Author : Yang Xu, Lei Ma, Zhaobo Liu, H. Jonathan Chao Publisher : ANCS 2011 Presenter : Jo-Ning Yu Date : 2011/12/28.
Author : Randy Smith & Cristian Estan & Somesh Jha Publisher : IEEE Symposium on Security & privacy,2008 Presenter : Wen-Tse Liang Date : 2010/10/27.
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:
LaFA Lookahead Finite Automata Scalable Regular Expression Detection Authors : Masanori Bando, N. Sertac Artan, H. Jonathan Chao Masanori Bando N. Sertac.
Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Publisher : ANCS’ 06 Author : Fang Yu, Zhifeng Chen, Yanlei Diao, T.V.
Accelerating Multi-Pattern Matching on Compressed HTTP Traffic Dr. Anat Bremler-Barr (IDC) Joint work with Yaron Koral (IDC), Infocom[2009]
Gnort: High Performance Network Intrusion Detection Using Graphics Processors Date:101/2/15 Publisher:ICS Author:Giorgos Vasiliadis, Spiros Antonatos,
Deep Packet Inspection as a Service Author : Anat Bremler-Barr, Yotam Harchol, David Hay and Yaron Koral Conference: ACM 10th International Conference.
A DFA with Extended Character-Set for Fast Deep Packet Inspection
Advanced Algorithms for Fast and Scalable Deep Packet Inspection
2019/1/3 Exscind: Fast Pattern Matching for Intrusion Detection Using Exclusion and Inclusion Filters Next Generation Web Services Practices (NWeSP) 2011.
Using decision trees to improve signature-based intrusion detection
Hash Functions for Network Applications (II)
Compact DFA Structure for Multiple Regular Expressions Matching
A Hybrid Finite Automaton for Practical Deep Packet Inspection
High-Performance Pattern Matching for Intrusion Detection
Design principles for packet parsers
Presentation transcript:

Efficient Memory Utilization on Network Processors for Deep Packet Inspection Piti Piyachon Yan Luo Electrical and Computer Engineering Department University of Massachusetts Lowell

ANCS 2006U Mass Lowell Our Contributions Study parallelism of a pattern matching algorithm Propose Bit-Byte Aho-Corasick Deterministic Finite Automata Construct memory model to find optimal settings to minimize the memory usage of DFA

ANCS 2006U Mass Lowell DPI and Pattern Matching Deep Packet Inspection –Inspect: packet header & payload –Detect: computer viruses, worms, spam, etc. –Network intrusion detection application: Bro, Snort, etc. Pattern Matching requirements 1.Matching predefined multiple patterns (keywords, or strings) at the same time 2.Keywords can be any size. 3.Keywords can be anywhere in the payload of a packet. 4.Matching at line speed 5.Flexibility to accommodate new rule sets

ANCS 2006U Mass Lowell Classical Aho-Corasick (AC) DFA: example 1 A set of keywords –{he, her, him, his} accept state start state accept state Failure edges back to state 1 are shown as dash line. Failure edges back to state 0 are not shown.

ANCS 2006U Mass Lowell Memory Matrix Model of AC DFA Snort (Dec’05): 2733 keywords 256 next state pointers –width = 15 bits > 27,000 states keyword-ID width = 2733 bits x ( x 15) = 22 MB 22 MB is too big for on-chip RAM

ANCS 2006U Mass Lowell Bit-AC DFA ( Tan-Sherwood’s Bit-Split) Need 8 bit-DFA

ANCS 2006U Mass Lowell Memory Matrix of Bit-AC DFA Snort (Dec’05): 2733 keywords 2 next state pointers –width = 9 bits 361 states keyword-ID width = 16 bits 1368 DFA 1368 x 361 x ( x 9) = 2 MB

ANCS 2006U Mass Lowell Bit-AC DFA Techniques Shrinking the width of keyword-ID –From 2733 to 16 bits –By dividing 2733 keywords into 171 subsets Each subset has 16 keywords Reducing next state pointers –From 256 to 2 pointers –By dividing each input byte into 1 bits –Need 8 bit-DFA Extra benefits –The number of states (per DFA) reduces from ~27,000 to ~300 states. –The width of next state pointer reduces from 15 to 9 bits. Memory –Reduced from 22 MB to 2 MB The number of DFA = ? –With 171 subsets, each subset has 8 DFA. –Total DFA = 171 x 8 = 1,368 DFA What can we do better to reduce the memory usage?

ANCS 2006U Mass Lowell Classical AC DFA: example 2 Failure edges are not shown. 28 states

Byte-AC DFA Considering 4 bytes at a time 4 DFA < 9 states / DFA 256 next state pointers! Similar to Dharmapurikar-Lockwood’s JACK DFA, ANCS’05

ANCS 2006U Mass Lowell Bit-Byte-AC DFA 4 bytes at a time Each byte divides into bits. 32 DFA (= 4 x 8) < 6 states/DFA 2 next state pointers

ANCS 2006U Mass Lowell Memory Matrix of Bit-Byte-AC DFA Snort (Dec’05): 2733 keywords 4 bytes at a time < 36 states/DFA 2 next state pointers –width = 6 bits keyword-ID width = 3 bits DFA (= 911 x 32) x 36 x (3 + 2 x 6) = 1.9 MB 1.9 MB is a little better than 2 MB. This is because It is not any optimal setting. Each DFA has different number of states. Don’t need to provide same size of memory matrix for every DFA.

ANCS 2006U Mass Lowell Bit-Byte-AC DFA Techniques Still keeping the width of keyword-ID as low as Bit-DFA. Still keeping next state pointers as small as Bit-DFA. Reducing states per DFA by –Skipping bytes –Exploiting more shared states than Bit-DFA Results of reducing states per DFA –from ~27,000 to 36 states –The width of next state pointer reduces from 15 to 6 bits.

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA bit 3 of byte 0 4 bytes (considered) at a time

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA 4 bytes (considered) at a time

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA 4 bytes (considered) at a time

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA 4 bytes (considered) at a time

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA 4 bytes (considered) at a time

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA 4 bytes (considered) at a time

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA 4 bytes (considered) at a time

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA 4 bytes (considered) at a time

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA 4 bytes (considered) at a time

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA Failure edges are not shown.

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA

ANCS 2006U Mass Lowell Construction of Bit-Byte AC DFA 32 bit-byte DFA need to be constructed.

ANCS 2006U Mass Lowell Bit-Byte-DFA: Searching

ANCS 2006U Mass Lowell A failure edge is shown as necessary. 0 Bit-Byte-DFA: Searching

ANCS 2006U Mass Lowell Bit-Byte-DFA: Searching

ANCS 2006U Mass Lowell A failure edge is shown as necessary. 0 Bit-Byte-DFA: Searching

ANCS 2006U Mass Lowell Match=> (keyword) ‘memory’ Only all 32 bit-DFA find the match in their own! Bit-Byte-DFA: Searching

ANCS 2006U Mass Lowell Find the optimal settings to minimize memory When k = keywords per subset –The width of keyword-ID = k bits –k = 1, 2, 3, …, K –when K = the number of keywords in the whole set. Snort (Dec.2005) : K = 2733 keywords b = bit(s) extracted for each byte –b = 1, 2, 4, 8 –# of next state pointers = 2 b –The example 2: b = 1 –Beyond b > 8 > 256 next state pointers B = Bytes considered at a time –B = 1, 2, 3, … –The example 2: B = 4 Total Memory (T) is a function of k, b, and B. –T = f (k, b, B)

ANCS 2006U Mass Lowell T’s Formula Total memory of all bit-ACs in all subset when,,and

ANCS 2006U Mass Lowell keywords per subset Find the optimal k Each pair of (b, B) has one optimal k for a minimal T. T_min at k=12

ANCS 2006U Mass Lowell Find the optimal b keywords per subset Each setting of k, b, and B has different optimal point. –Choosing only the optimal setting to compare. b = 2 is the best.

ANCS 2006U Mass Lowell Find the optimal B keywords per subset b = 2 T reduces while B increases. –Non-linearly B > 16, –T begins to increase. B = 16 is the best for Snort (Dec’05).

ANCS 2006U Mass Lowell Comparing with Existing Works keywords per subset Tan-Sherwood’s, Brodie-Cytron-Taylor’s, and Ours Our Bit-Byte DFA when B=16 –The optimal point at b=2 and k=12 –272 KB –14 % of 2001 KB (Tan’s) –4 % of 6064 KB (Brodie’s)

ANCS 2006U Mass Lowell Comparing with Existing Works keywords per subset Tan-Sherwood’s and Ours: At B = 1 (Tan’s on ASIC) –2001 KB –k = 16 is not the optimal setting for B=1. –Each bit-DFA uses same storage’s capacity, which fits the largest one (worst case). (Ours on NP) –396 KB < 2001 KB –k = 3 is the optimal setting for B=1. –Each bit-DFA uses exactly memory space to hold it.

ANCS 2006U Mass Lowell Results with an NP Simulator keywords per subset NePSim2 –An open source IXP24xx/28xx simulator NP Architecture based on IXP2855 –16 MicroEngines (MEs) –512 KB –1.4 GHz Bit-Byte AC DFA: b=2, B=16, k=12 –T = 272 KB –5 Gbps

ANCS 2006U Mass Lowell Conclusion keywords per subset Bit-Byte DFA model can reduce memory usage up to 86%. Implementing on NP uses on-chip memory more efficiently without wasting space, comparing to ASIC. NP has flexibility to accommodate The optimal setting of k, b, and B. Different sizes of Bit-Byte DFA. New rule sets in the future. The optimal setting may change. The performance (using a NP simulator) satisfies line speed up to 5 Gbps throughput.

ANCS 2006U Mass Lowell Thank you Question?