250 likes | 265 Views
This paper introduces a scheme that dynamically generates multiple decision trees to eliminate filter replications in Binary Search on Levels (BSOL) algorithm for efficient packet classification. The scheme utilizes hash tables and replication control to improve speed and scalability.
E N D
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