Packet Classification Using Dynamically Generated Decision Trees
E N D
Presentation Transcript
Packet Classification Using Dynamically Generated Decision Trees Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers, Vol. 64, No. 2,February 2015 Referenced: Presenter: 林宇翔 Date: 2019/5/8 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
Introduction • Most decision-tree-based algorithms may suffer from a memory explosion problem. • Binary Search on Levels (BSOL) is a decision-tree algorithm for packet classification with superior speed performance. • Our scheme dynamically generates multiple decision trees to eliminate filter replications in BSOL. National Cheng Kung University CSIE Computer & Internet Architecture Lab
Binary Search On Levels • Decision tree construction • All filters are listed in a root node • A cut filter is generated to partition the filters into two groups. • BSOLconstraints the same cut rule when applying on nodes with the same tree height. • Node space partitioning stops when all leaf nodes have less than or equal to bucket size. National Cheng Kung University CSIE Computer & Internet Architecture Lab
Binary Search On Levels National Cheng Kung University CSIE Computer & Internet Architecture Lab
Binary Search On Levels National Cheng Kung University CSIE Computer & Internet Architecture Lab
Binary Search On Levels • Hash building • Aset of hash tables is generated to store the leaf nodes, where each hash table corresponds to a height of the decision tree with leaf nodes. • The markers are then inserted into the hash tables for enabling a binary search. National Cheng Kung University CSIE Computer & Internet Architecture Lab
Binary Search On Levels H1 H3 H2 H4 National Cheng Kung University CSIE Computer & Internet Architecture Lab
Binary Search On Levels Incoming Packet: 0000, 1011, 11, 01, TCP Search: 11000 H1 H3 H4 H2 National Cheng Kung University CSIE Computer & Internet Architecture Lab
Binary Search On Levels Incoming Packet: 0000, 1011, 11, 01, TCP Search: 11000 H3 H4 H1 H2 National Cheng Kung University CSIE Computer & Internet Architecture Lab
Binary Search On Levels Incoming Packet: 0000, 1011, 11, 01, TCP Search: 11000 H3 H4 H1 H2 National Cheng Kung University CSIE Computer & Internet Architecture Lab
BSOL2 • A single decision tree may not be scalable for large filter sets. • Dividing the filter set into two subsets. One stores the filters whose length of source IP address prefix is less than five. The remaining filters are stored in another subset. • The source IP address is selected since there are usually the most wildcards or short prefixes. National Cheng Kung University CSIE Computer & Internet Architecture Lab
BSOL2 National Cheng Kung University CSIE Computer & Internet Architecture Lab
BSOL-RC • Replication control adjusts the filters stored in a decision tree by utilizing the information of filter replication during tree construction. • rrthresh * n is the maximum allowable number of filters in a decision tree. • i.e., thetotal number of filters including replicated filters aftercompleting tree construction must be less than or equalto rrthresh * n National Cheng Kung University CSIE Computer & Internet Architecture Lab
BSOL-RC • Initially, we employ the BSOL procedure to construct a decision tree. • If the total number of the stored filters in a decision tree is greater than the upper bound, the filters with the smallest replication level are removed from the decision tree. • Filters removed from the decision tree are inserted into a new decision tree to repeat the above steps. • If a constructed tree is too high to search, we need to reconstruct the decision tree to improve the storage efficiency. National Cheng Kung University CSIE Computer & Internet Architecture Lab
BSOL-RC rrthresh=1 Bucket size: 2 F0-F11 f5:TCP f5:UDP F2,F3,F4,F7,F8,F12 F0,F1,F5,F6,F9,F10 f2:0* f2:0* f2:1* f2:1* F2,F3,F4,F7,F11 F9,F10 F0,F1,F5,F6,F10 F8,F11 National Cheng Kung University CSIE Computer & Internet Architecture Lab
BSOL-RC rrthresh=1 Bucket size: 2 F0-F11 F10,F11 f5:TCP f5:UDP F2,F3,F4,F7,F8,F12 F0,F1,F5,F6,F9,F10 f2:0* f2:0* f2:1* f2:1* F2,F3,F4,F7 F9 F0,F1,F5,F6 F8 National Cheng Kung University CSIE Computer & Internet Architecture Lab
BSOL-RC rrthresh=1 Bucket size: 2 F0-F11 F10,F11 f5:TCP f5:UDP F2,F3,F4,F7,F8,F12 F0,F1,F5,F6,F9,F10 f2:0* f2:0* f2:1* f2:1* F2,F3,F4,F7 F9 F0,F1,F5,F6 F8 f1:0* f1:0* F2,F3,F4,F7 F0,F1,F5,F6 f2:10* f2:11* f2:11* F0,F1,F5,F6 F2,F3,F4,F7 F7 National Cheng Kung University CSIE Computer & Internet Architecture Lab
BSOL-RC rrthresh=1 Bucket size: 2 F0-F11 F7,F10,F11 f5:TCP f5:UDP F2,F3,F4,F7,F8,F12 F0,F1,F5,F6,F9,F10 f2:0* f2:0* f2:1* f2:1* F2,F3,F4,F7 F9 F0,F1,F5,F6 F8 f1:0* f1:0* F2,F3,F4,F7 F0,F1,F5,F6 f2:10* f2:11* F0,F1,F5,F6 F2,F3,F4 National Cheng Kung University CSIE Computer & Internet Architecture Lab
BSOL-RC rrthresh=1 Bucket size: 2 F0-F11 F7,F10,F11 f5:TCP f5:UDP F2,F3,F4,F7,F8,F12 F0,F1,F5,F6,F9,F10 f2:0* f2:0* f2:1* f2:1* F2,F3,F4,F7 F9 F0,F1,F5,F6 F8 f1:0* f1:0* F2,F3,F4,F7 F0,F1,F5,F6 f2:10* f2:11* F0,F1,F5,F6 F2,F3,F4 f4:0* f4:1* f4:1* f4:0* F0, F5 F0, F1, F6 F3 F2, F4 National Cheng Kung University CSIE Computer & Internet Architecture Lab
BSOL-RC rrthresh=1 Bucket size: 2 F0-F11 F0,F7,F10,F11 f5:TCP f5:UDP f5:TCP f5:UDP F2,F3,F4,F7,F8,F12 F0,F1,F5,F6,F9,F10 F0,F10 F7, F11 f2:0* f2:0* f2:1* f2:1* F2,F3,F4,F7 F9 F0,F1,F5,F6 F8 f1:0* f1:0* F2,F3,F4,F7 F0,F1,F5,F6 f2:10* f2:11* F0,F1,F5,F6 F2,F3,F4 f4:0* f4:1* f4:1* f4:0* F5 F1, F6 F3 F2, F4 National Cheng Kung University CSIE Computer & Internet Architecture Lab
Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab
Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab
Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab
Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab
Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab