MBitCuts: optimal bit-level cutting in geometric space packet classification

  • Mahdi AbbasiEmail author
  • Saeideh Vesaghati Fazel
  • Milad Rafiee


Packet classification is one of the main tasks of modern network processors. A challenging problem in this regard is to use an algorithm that can classify packets at a high speed and with a reasonably low memory consumption. Traditional decision tree-based algorithms do not satisfy both requirements. BitCuts algorithm, which has been recently proposed to increase search speed in tree algorithms, is not an exception. We propose MBitCuts as a novel solution that reduces both memory usage and memory access in this algorithm by changing the method of bit selection in the cutting of the geometric subspace model of each tree node. The evaluation results show that the average number of memory accesses and the average memory usage in the proposed method have been reduced by 39% and 87%, respectively. Also, MBitCuts outperforms state-of-the-art tree-based algorithms by simultaneously achieving the best classification speed and the least memory consumption.


Packet classification Decision tree-based algorithms Search speed Memory usage BitCuts 



  1. 1.
    Hung S-C, Iliev N, Vamanan B, Trivedi AR (2019) Self-organizing maps-based flexible and high-speed packet classification in software defined networking. In: 2019 32nd International Conference on VLSI Design and 2019 18th International Conference on Embedded Systems (VLSID). IEEE, pp 545–546Google Scholar
  2. 2.
    Dong X, Qian M, Jiang R (2018) Packet classification based on the decision tree with information entropy. J Supercomput. CrossRefGoogle Scholar
  3. 3.
    Indira B, Valarmathi K, Devaraj D (2019) An approach to enhance packet classification performance of software-defined network using deep learning. Soft Comput 23(18):8609–8619CrossRefGoogle Scholar
  4. 4.
    Liu Z, Sun S, Zhu H, Gao J, Li J (2017) BitCuts: a fast packet classification algorithm using bit-level cutting. Comput Commun 109:38–52CrossRefGoogle Scholar
  5. 5.
    Norige E, Liu AX, Torng E, Torng E, Norige E, Liu AX (2018) A ternary unification framework for optimizing TCAM-based packet classification systems. IEEE/ACM Trans Netw (TON) 26(2):657–670CrossRefGoogle Scholar
  6. 6.
    Shen R, Li X, Li H (2014) A space-and power-efficient multi-match packet classification technique combining TCAMs and SRAMs. J Supercomput 69(2):673–692CrossRefGoogle Scholar
  7. 7.
    Abbasi M, Rafiee M (2019) A calibrated asymptotic framework for analyzing packet classification algorithms on GPUs. J Supercomput 75(10):6574–6611. CrossRefGoogle Scholar
  8. 8.
    Taylor DE (2005) Survey and taxonomy of packet classification techniques. ACM Comput Surv (CSUR) 37(3):238–275CrossRefGoogle Scholar
  9. 9.
    Erdem O (2016) Pipelined hierarchical architecture for high performance packet classification. Comput Netw 103:143–164CrossRefGoogle Scholar
  10. 10.
    Song H, Turner JS (2013) ABC: adaptive binary cuttings for multidimensional packet classification. IEEE/ACM Trans Netw 21(1):98–109CrossRefGoogle Scholar
  11. 11.
    Gupta P, McKeown N (2000) Classifying packets with hierarchical intelligent cuttings. IEEE Micro 20(1):34–41CrossRefGoogle Scholar
  12. 12.
    Kitamura Y, Iwata A, Mohri M, Shiraishi Y (2015) Storage-efficient tree structure with level-ordered unary degree sequence for packet classification. In: 2015 Third international symposium on computing and networking (CANDAR), 8–11 Dec 2015, pp 487–490.
  13. 13.
    Wang P, Chan C, Lee C, Chang H (2006) Scalable packet classification for enabling internet differentiated services. IEEE Trans Multimed 8(6):1239–1249. CrossRefGoogle Scholar
  14. 14.
    Singh S, Baboescu F, Varghese G, Wang J (2003) Packet classification using multidimensional cutting. In: Proceedings of the 2003 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications. ACM, pp 213–224Google Scholar
  15. 15.
    Vamanan B, Voskuilen G, Vijaykumar T (2010) EffiCuts: optimizing packet classification for memory and throughput. In: ACM SIGCOMM computer communication review, vol 4. ACM, pp 207–218Google Scholar
  16. 16.
    Han W, Yi P, Tian L (2014) Prefix cuttings for packet classification with fast updates. KSII Trans Internet Inf Syst 8:1442–1462. CrossRefGoogle Scholar
  17. 17.
    Qi Y, Xu L, Yang B, Xue Y, Li J (2009) Packet classification algorithms: from theory to practice. In: INFOCOM 2009. IEEE, pp 648–656Google Scholar
  18. 18.
    Li W, Li X, Li H, Xie G (2018) CutSplit: a decision-tree combining cutting and splitting for scalable packet classification.
  19. 19.
    Hilewitz Y, Lee RB (2008) A new basis for shifters in general-purpose processors for existing and advanced bit manipulations. IEEE Trans Comput 58(8):1035–1048MathSciNetCrossRefGoogle Scholar
  20. 20.
    Taylor DE, Turner JS (2005) Classbench: a packet classification benchmark. In: INFOCOM 2005. 24th Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings IEEE. IEEE, pp 2068–2079Google Scholar
  21. 21.
    Lim H, Choe Y, Shim M, Lee J (2014) A quad-trie conditionally merged with a decision tree for packet classification. IEEE Commun Lett 18(4):676–679CrossRefGoogle Scholar
  22. 22.
    Yu W, Sivakumar S, Pao D (2019) Pseudo-TCAM: SRAM-based architecture for packet classification in one memory access. IEEE Netw Lett 1:89–92CrossRefGoogle Scholar
  23. 23.
    Abbasi M, Tahouri R, Rafiee M (2019) Enhancing the performance of the aggregated bit vector algorithm in network packet classification using GPU. PeerJ Comput Sci 5:e185CrossRefGoogle Scholar
  24. 24.
    Shen T, Zhang D-F, Xie G-G, Zhang X-Y (2018) Optimizing multi-dimensional packet classification for multi-core systems. J Comput Sci Technol 33(5):1056–1071MathSciNetCrossRefGoogle Scholar
  25. 25.
    Li X, Shao Y (2018) Memory compression for recursive flow classification algorithm in network packet processing devices. In: 2018 IEEE 3rd Advanced Information Technology, Electronic and Automation Control Conference (IAEAC). IEEE, pp 1502–1505Google Scholar
  26. 26.
    Inoue T, Mano T, Mizutani K, Minato S-i, Akashi O (2018) Fast packet classification algorithm for network-wide forwarding behaviors. Comput Commun 116:101–117CrossRefGoogle Scholar
  27. 27.
    Harada T, Tanaka K, Mikawa K (2018) Acceleration of packet classification via inclusive rules. In: 2018 IEEE Conference on Communications and Network Security (CNS). IEEE, pp 1–2Google Scholar
  28. 28.
    Lee J, Byun H, Mun JH, Lim H (2017) Utilizing 2-D leaf-pushing for packet classification. Comput Commun 103:116–129. CrossRefGoogle Scholar
  29. 29.
    Hsieh C-L, Weng N (2015) Scalable many-field packet classification using multidimensional-cutting via selective bit-concatenation. In: Proceedings of the eleventh ACM/IEEE symposium on architectures for networking and communications systems. IEEE Computer Society, pp 187–188Google Scholar
  30. 30.
    Perez KG, Yang X, Scott-Hayward S, Sezer S (2014) Optimized packet classification for software-defined networking. In: Communications (ICC), 2014 IEEE International Conference on. IEEE, pp 859–864Google Scholar
  31. 31.
    Lim H, Lee N, Jin G, Lee J, Choi Y, Yim C (2014) Boundary cutting for packet classification. IEEE/ACM Trans Netw 22(2):443–456CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Department of Computer Engineering, Engineering FacultyBu-Ali Sina UniversityHamedanIran

Personalised recommendations