1 / 25

Packet Classification Using Dynamically Generated Decision Trees

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.

Download Presentation

Packet Classification Using Dynamically Generated Decision Trees

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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.

  2. 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

  3. 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

  4. Binary Search On Levels National Cheng Kung University CSIE Computer & Internet Architecture Lab

  5. Binary Search On Levels National Cheng Kung University CSIE Computer & Internet Architecture Lab

  6. 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

  7. Binary Search On Levels H1 H3 H2 H4 National Cheng Kung University CSIE Computer & Internet Architecture Lab

  8. 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

  9. 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

  10. 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

  11. 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

  12. BSOL2 National Cheng Kung University CSIE Computer & Internet Architecture Lab

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab

  22. Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab

  23. Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab

  24. Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab

  25. Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab

More Related