2019/9/3 Adaptive Hashing Based Multiple Variable Length Pattern Search Algorithm for Large Data Sets 比對 Simple Pattern 的方法是基於 Hash 並且可以比對不同長度的 Pattern。

Slides:



Advertisements
Similar presentations
Deep Packet Inspection with DFA-trees and Parametrized Language Overapproximation Author: Daniel Luchaup, Lorenzo De Carli, Somesh Jha, Eric Bach Publisher:
Advertisements

Optimizing Regular Expression Matching with SR-NFA on Multi-Core Systems Authors : Yang, Y.E., Prasanna, V.K. Yang, Y.E. Prasanna, V.K. Publisher : Parallel.
Pipelined Parallel AC-based Approach for Multi-String Matching Department of Computer Science and Information Engineering National Cheng Kung University,
1 Regular expression matching with input compression : a hardware design for use within network intrusion detection systems Department of Computer Science.
An Efficient and Scalable Pattern Matching Scheme for Network Security Applications Department of Computer Science and Information Engineering National.
OpenFlow-Based Server Load Balancing GoneWild Author : Richard Wang, Dana Butnariu, Jennifer Rexford Publisher : Hot-ICE'11 Proceedings of the 11th USENIX.
Thopson NFA Presenter: Yuen-Shuo Li Date: 2014/5/7 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
Fast forwarding table lookup exploiting GPU memory architecture Author : Youngjun Lee,Minseon Jeong,Sanghwan Lee,Eun-Jin Im Publisher : Information and.
Packet Classification Using Multi-Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: COMPSACW, 2013 IEEE 37th Annual (Computer.
Leveraging Traffic Repetitions for High- Speed Deep Packet Inspection Author: Anat Bremler-Barr, Shimrit Tzur David, Yotam Harchol, David Hay Publisher:
A Regular Expression Matching Algorithm Using Transition Merging Department of Computer Science and Information Engineering National Cheng Kung University,
EQC16: An Optimized Packet Classification Algorithm For Large Rule-Sets Author: Uday Trivedi, Mohan Lal Jangir Publisher: 2014 International Conference.
Pattern-Based DFA for Memory- Efficient and Scalable Multiple Regular Expression Matching Author: Junchen Jiang, Yang Xu, Tian Pan, Yi Tang, Bin Liu Publisher:IEEE.
Scalable Many-field Packet Classification on Multi-core Processors Authors : Yun R. Qu, Shijie Zhou, Viktor K. Prasanna Publisher : International Symposium.
StriD 2 FA: Scalable Regular Expression Matching for Deep Packet Inspection Author: Xiaofei Wang, Junchen Jiang, Yi Tang, Bin Liu, and Xiaojun Wang Publisher:
Deterministic Finite Automaton for Scalable Traffic Identification: the Power of Compressing by Range Authors: Rafael Antonello, Stenio Fernandes, Djamel.
DBS A Bit-level Heuristic Packet Classification Algorithm for High Speed Network Author : Baohua Yang, Xiang Wang, Yibo Xue, Jun Li Publisher : th.
Memory-Efficient Regular Expression Search Using State Merging Author: Michela Becchi, Srihari Cadambi Publisher: INFOCOM th IEEE International.
Early Detection of DDoS Attacks against SDN Controllers
Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing.
Binary-tree-based high speed packet classification system on FPGA Author: Jingjiao Li*, Yong Chen*, Cholman HO**, Zhenlin Lu* Publisher: 2013 ICOIN Presenter:
Boundary Cutting for Packet Classification Author: Hyesook Lim, Nara Lee, Geumdan Jin, Jungwon Lee, Youngju Choi, Changhoon Yim Publisher: Networking,
A Fast Regular Expression Matching Engine for NIDS Applying Prediction Scheme Author: Lei Jiang, Qiong Dai, Qiu Tang, Jianlong Tan and Binxing Fang Publisher:
Lightweight Traffic-Aware Packet Classification for Continuous Operation Author: Shariful Hasan Shaikot, Min Sik Kim Presenter: Yen-Chun Tseng Date: 2014/11/26.
Range Enhanced Packet Classification Design on FPGA Author: Yeim-Kuan Chang, Chun-sheng Hsueh Publisher: IEEE Transactions on Emerging Topics in Computing.
LaFA Lookahead Finite Automata Scalable Regular Expression Detection Authors : Masanori Bando, N. Sertac Artan, H. Jonathan Chao Masanori Bando N. Sertac.
Packet Classification Using Dynamically Generated Decision Trees
GFlow: Towards GPU-based High- Performance Table Matching in OpenFlow Switches Author : Kun Qiu, Zhe Chen, Yang Chen, Jin Zhao, Xin Wang Publisher : Information.
An Improved Multi-Pattern Matching Algorithm for Large-Scale Pattern Sets Author : Zhan Peng, Yu-Ping Wang and Jin-Feng Xue Conference: IEEE 10th International.
LOP_RE: Range Encoding for Low Power Packet Classification Author: Xin He, Jorgen Peddersen and Sri Parameswaran Conference : IEEE 34th Conference on Local.
SRD-DFA Achieving Sub-Rule Distinguishing with Extended DFA Structure Author: Gao Xia, Xiaofei Wang, Bin Liu Publisher: IEEE DASC (International Conference.
Practical Multituple Packet Classification Using Dynamic Discrete Bit Selection Author: Baohua Yang, Fong J., Weirong Jiang, Yibo Xue, Jun Li Publisher:
Hierarchical Hybrid Search Structure for High Performance Packet Classification Authors : O˜guzhan Erdem, Hoang Le, Viktor K. Prasanna Publisher : INFOCOM,
LightFlow : Speeding Up GPU-based Flow Switching and Facilitating Maintenance of Flow Table Author : Nobutaka Matsumoto and Michiaki Hayashi Conference:
Scalable Multi-match Packet Classification Using TCAM and SRAM Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers (2015) Presenter:
JA-trie: Entropy-Based Packet Classification Author: Gianni Antichi, Christian Callegari, Andrew W. Moore, Stefano Giordano, Enrico Anastasi Conference.
A Multi-dimensional Packet Classification Algorithm Based on Hierarchical All-match B+ Tree Author: Gang Wang, Yaping Lin*, Jinguo Li, Xin Yao Publisher:
Reorganized and Compact DFA for Efficient Regular Expression Matching
2018/4/23 Dynamic Load-balanced Path Optimization in SDN-based Data Center Networks Author: Yuan-Liang Lan , Kuochen Wang and Yi-Huai Hsu Presenter: Yi-Hsien.
2018/4/27 PiDFA : A Practical Multi-stride Regular Expression Matching Engine Based On FPGA Author: Jiajia Yang, Lei Jiang, Qiu Tang, Qiong Dai, Jianlong.
Minimizing latency of critical traffic through SDN
A DFA with Extended Character-Set for Fast Deep Packet Inspection
2018/6/5 Centralized Retransmission Management with SDN in Multihop Wireless Access Network Author: Bong-Hwan Oh , Jaiyoung Lee Presenter: Yi-Hsien Wu.
2018/6/26 An Energy-efficient TCAM-based Packet Classification with Decision-tree Mapping Author: Zhao Ruan, Xianfeng Li , Wenjun Li Publisher: 2013.
2018/11/19 Source Routing with Protocol-oblivious Forwarding to Enable Efficient e-Health Data Transfer Author: Shengru Li, Daoyun Hu, Wenjian Fang and.
SigMatch Fast and Scalable Multi-Pattern Matching
Parallel Processing Priority Trie-based IP Lookup Approach
2018/12/29 A Novel Approach for Prefix Minimization using Ternary trie (PMTT) for Packet Classification Author: Sanchita Saha Ray, Abhishek Chatterjee,
Binary Prefix Search Author: Yeim-Kuan Chang
2019/1/1 High Performance Intrusion Detection Using HTTP-Based Payload Aggregation 2017 IEEE 42nd Conference on Local Computer Networks (LCN) Author: Felix.
2019/1/3 Exscind: Fast Pattern Matching for Intrusion Detection Using Exclusion and Inclusion Filters Next Generation Web Services Practices (NWeSP) 2011.
Memory-Efficient Regular Expression Search Using State Merging
Virtual TCAM for Data Center Switches
A Small and Fast IP Forwarding Table Using Hashing
Scalable Multi-Match Packet Classification Using TCAM and SRAM
A New String Matching Algorithm Based on Logical Indexing
Compact DFA Structure for Multiple Regular Expressions Matching
2019/5/3 A De-compositional Approach to Regular Expression Matching for Network Security Applications Author: Eric Norige Alex Liu Presenter: Yi-Hsien.
2019/5/5 A Flexible Wildcard-Pattern Matching Accelerator via Simultaneous Discrete Finite Automata Author: Hsiang-Jen Tsai, Chien-Chih Chen, Yin-Chi Peng,
Pipelined Architecture for Multi-String Matching
2019/5/14 New Shift table Algorithm For Multiple Variable Length String Pattern Matching Author: Punit Kanuga Presenter: Yi-Hsien Wu Conference: 2015.
QoS Constrained Path Optimization Algorithm in NFV/SDN Environment
A Hybrid IP Lookup Architecture with Fast Updates
2019/7/26 OpenFlow-Enabled User Traffic Profiling in Campus Software Defined Networks Presenter: Wei-Li,Wang Date: 2016/1/4 Author: Taimur Bakhshi and.
An Improved Wu-Manber Multiple Patterns Matching Algorithm
Pattern Based Packet Filtering using NetFPGA in DETER Infrastructure
2019/10/9 Regular Expression Matching for Reconfigurable Constraint Repetition Inspection Authors : Miad Faezipour and Mehrdad Nourani Publisher : IEEE.
MEET-IP Memory and Energy Efficient TCAM-based IP Lookup
Towards TCAM-based Scalable Virtual Routers
2019/11/12 Efficient Measurement on Programmable Switches Using Probabilistic Recirculation Presenter:Hung-Yen Wang Authors:Ran Ben Basat, Xiaoqi Chen,
Presentation transcript:

2019/9/3 Adaptive Hashing Based Multiple Variable Length Pattern Search Algorithm for Large Data Sets 比對 Simple Pattern 的方法是基於 Hash 並且可以比對不同長度的 Pattern。 2015 IEEE Conference on Network Function Virtualization and Software Defined Network (ICDSE) Author: Punit Kanuga, Anamika Chauhan Presenter: Cheng-Feng Ke Date: 2017/09/27 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. CSIE CIAL Lab 1

Find Minimum Pattern Length 2019/9/3 INTRODUCTION Simple Pattern scare scar arch Find Minimum Pattern Length Create Hash Table Create Match Table National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Find Minimum Pattern Length 2019/9/3 Find Minimum Pattern Length scare (Length = 5) scar (Length = 4) arch (Length = 5) Min Length 4 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Create Hash Table Patterns: scare、scar 、arch Min Length 4 Hash Table 2019/9/3 Min Length 4 Create Hash Table Patterns: scare、scar 、arch Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Create Match Table Patterns: scare、scar 、arch sc、ca、ar、re、rc、ch 2019/9/3 Min Length 4 Create Match Table Patterns: scare、scar 、arch sc、ca、ar、re、rc、ch Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Match Table Key Values HASH(sc) HASH(ca) HASH(ar) HASH(re) HASH(rc) HASH(ch) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Create Match Table Patterns: scare、scar 、arch sc => scare、scar 2019/9/3 Min Length 4 Create Match Table Patterns: scare、scar 、arch sc => scare、scar Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Match Table Key Values HASH(sc) (0) HASH(ca) HASH(ar) HASH(re) HASH(rc) HASH(ch) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Create Match Table Patterns: scare、scar 、arch sc => scare、scar 2019/9/3 Min Length 4 Create Match Table Patterns: scare、scar 、arch sc => scare、scar Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Match Table Key Values HASH(sc) (0, 1) HASH(ca) HASH(ar) HASH(re) HASH(rc) HASH(ch) 1 2 3 4 s c a r e National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Create Match Table Patterns: scare、scar 、arch sc => scare、scar 2019/9/3 Min Length 4 Create Match Table Patterns: scare、scar 、arch sc => scare、scar Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Match Table Key Values HASH(sc) (0, 1, 1, 3) HASH(ca) HASH(ar) HASH(re) HASH(rc) HASH(ch) 1 2 3 s c a r e National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Create Match Table Patterns: scare、scar 、arch sc => scare、scar 2019/9/3 Min Length 4 Create Match Table Patterns: scare、scar 、arch sc => scare、scar Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Match Table Key Values HASH(sc) (0, 1, 1, 3), (1,1,1,2) HASH(ca) (0,2,2,2), (1,2,2,1) HASH(ar) (0,3,3,1), (1,3,3,0),(2,1,1,2) HASH(re) (0,4,4,0), HASH(rc) (2,2,2,1) HASH(ch) (2,3,3,0) 1 2 3 s c a r National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Search Min Length 4 4 - 2 = 2 Hash Table Index Hash Value HASH(scare) 2019/9/3 Min Length 4 Search 4 - 2 = 2 Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Input String -2 -1 1 2 3 4 5 6 7 8 a r e s c h ● Match Table Key Values HASH(sc) (0, 1, 1, 3), (1,1,1,2) HASH(ca) (0,2,2,2), (1,2,2,1) HASH(ar) (0,3,3,1), (1,3,3,0),(2,1,1,2) HASH(re) (0,4,4,0) HASH(rc) (2,2,2,1) HASH(ch) (2,3,3,0) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Search Min Length 4 Hash Table Index Hash Value HASH(scare) 1 2019/9/3 Min Length 4 Search Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Input String -2 -1 1 2 3 4 5 6 7 8 a r e s c h ● 2 - 4 = -2 Match Table Key Values HASH(sc) (0, 1, 1, 3), (1,1,1,2) HASH(ca) (0,2,2,2), (1,2,2,1) HASH(ar) (0,3,3,1), (1,3,3,0),(2,1,1,2) HASH(re) (0,4,4,0) HASH(rc) (2,2,2,1) HASH(ch) (2,3,3,0) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Search Min Length 4 Hash Table Index Hash Value HASH(scare) 1 2019/9/3 Min Length 4 Search Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Input String -2 -1 1 2 3 4 5 6 7 8 a r e s c h ● Match Table Key Values HASH(sc) (0, 1, 1, 3), (1,1,1,2) HASH(ca) (0,2,2,2), (1,2,2,1) HASH(ar) (0,3,3,1), (1,3,3,0),(2,1,1,2) HASH(re) (0,4,4,0) HASH(rc) (2,2,2,1) HASH(ch) (2,3,3,0) 2 + 4 – 1 = 5 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Search Min Length 4 Hash Table Index Hash Value HASH(scare) 1 2019/9/3 Min Length 4 Search Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Input String -2 -1 1 2 3 4 5 6 7 8 a r e s c h ● Match Table Key Values HASH(sc) (0, 1, 1, 3), (1,1,1,2) HASH(ca) (0,2,2,2), (1,2,2,1) HASH(ar) (0,3,3,1), (1,3,3,0),(2,1,1,2) HASH(re) (0,4,4,0) HASH(rc) (2,2,2,1) HASH(ch) (2,3,3,0) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Search Min Length 4 Hash Table Index Hash Value HASH(scare) 1 2019/9/3 Min Length 4 Search Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Input String -2 -1 1 2 3 4 5 6 7 8 a r e s c h ● Match Table Key Values HASH(sc) (0, 1, 1, 3), (1,1,1,2) HASH(ca) (0,2,2,2), (1,2,2,1) HASH(ar) (0,3,3,1), (1,3,3,0),(2,1,1,2) HASH(re) (0,4,4,0) HASH(rc) (2,2,2,1) HASH(ch) (2,3,3,0) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Search Min Length 4 Hash Table Index Hash Value HASH(scare) 1 2019/9/3 Min Length 4 Search Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Input String -2 -1 1 2 3 4 5 6 7 8 a r e s c h ● Match Table Key Values HASH(sc) (0, 1, 1, 3), (1,1,1,2) HASH(ca) (0,2,2,2), (1,2,2,1) HASH(ar) (0,3,3,1), (1,3,3,0),(2,1,1,2) HASH(re) (0,4,4,0) HASH(rc) (2,2,2,1) HASH(ch) (2,3,3,0) HASH( input[3-7] ) == HASH(scare) Match List (3, 7) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Search Min Length 4 Hash Table Index Hash Value HASH(scare) 1 2019/9/3 Min Length 4 Search Hash Table Index Hash Value HASH(scare) 1 HASH(scar) 2 HASH(arch) Input String -2 -1 1 2 3 4 5 6 7 8 a r e s c h ● Match Table Key Values HASH(sc) (0, 1, 1, 3), (1,1,1,2) HASH(ca) (0,2,2,2), (1,2,2,1) HASH(ar) (0,3,3,1), (1,3,3,0),(2,1,1,2) HASH(re) (0,4,4,0) HASH(rc) (2,2,2,1) HASH(ch) (2,3,3,0) HASH( input[3-6] ) == HASH(scar) Match List (3, 7) (3, 6) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

2019/9/3 EVALUATION Implementation of proposed algorithm is done in C language on Code::Blocks version 12.11. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

EVALUATION Search Time (ms) Input String Length 2019/9/3 EVALUATION Search Time (ms) Input String Length Number of patterns is kept fixed and length of Input String is varied from 10,000 to 200,000, this algorithm takes searching time of O(n/P) for Input String of length n. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

EVALUATION Search Time (ms) Number of Patterns 2019/9/3 EVALUATION Search Time (ms) Number of Patterns Input String length is kept fixed (100,000) and number of patterns are increased from 3 to 21 keeping length of smallest pattern same among all sets. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab