Abstract
Software-defined networking (SDN) is a new paradigm which emerged in the networking area. Packet classification is an interesting topic that has considered in both traditional and SDN networks. Packet classification involves inspection of multiple fields against a set of thousands of rules called rule-set. With the increasing throughput demands in modern networks and the growing size of rule-sets, performing wire-speed packet classification has become challenging and an important topic in recent years. Packet classification is called as many-field packet classification in the SDN because of increasing the number of header fields. In this paper, a scalable many-field packet classification by employing the extended tree (X-tree) integrated with an efficient probabilistic data structure called Cuckoo filter is proposed. X-tree has high performance from the lookup, insertion, and update aspects. However, X-tree has a high memory requirement, Cuckoo filter as a probabilistic data structure is integrated within each X-tree node to outperform memory requirements and providing more classification throughput. Our experiment results show that the proposed approach achieves high throughput while requiring low memory. In addition, the proposed approach improves latency 2.4\(\times \), 6.15\(\times \) and 4.75\(\times \) in comparison with DBAMCP, BSOL-RC and BF-AQT for 64 k rule-set, respectively.
Similar content being viewed by others
Notes
The codes is available in: https://github.com/AladdinAbdulhassan/CX-tree.
References
McKeown N, Anderson T, Balakrishnan H, Parulkar G, Peterson L, Rexford J, Shenker S, Turner J (2008) OpenFlow: enabling innovation in campus networks. SIGCOMM Comput Commun 38(2):69–74
Specification, OpenFlow Switch 1.4 (2019) https://www.opennetworking.org/wp-content/uploads/2014/10/openflow-spec-v1.4.0.pdf. Accessed 1 March 2019
Ganegedara T, Jiang W, Prasanna VK (2014) A scalable and modular architecture for high-performance packet classification. IEEE Trans Parallel Distrib Syst 25(5):1134–1144
Walia GS, Kapoor R (2013) Particle filter based on cuckoo search for non-linear state estimation. In: Advance computing conference (IACC), 918–924
Berchtold S, Keim DA, Kriegel HP (1996) The X-tree: an index structure for high-dimensional data. In: Proceeding VLDB ’96 proceedings of the 22th international conference on very large data bases, pp 28–39
Hu T, Guo Z, Yi P, Baker T, Lan J (2018) Multi-controller based software-defined networking: a survey. IEEE Access 6:15980–15996
Yu C, Lan J, Guo Z, Hu Y, Baker T (2019) An adaptive and lightweight update mechanism for SDN. IEEE Access 7:12914–12927
Kendrick P, Baker T, Maamar Z, Hussain A, Buyya R, Al-Jumeily D (2018) An efficient multi-cloud service composition using a distributed multiagent-based. Memory-driven approach. IEEE Trans Sustain Comput Early Access
Liu AX, Meiners CR, Torng E (2016) Packet classification using binary content addressable memory. IEEE/ACM Trans Biol Cybern 24(3):1295–307
Taylor DE (2005) Survey and taxonomy of packet classification techniques. J ACM Comput Surv 37(3):238–275
Lakshman TV, Stiliadis D (1998) High-speed policy-based packet forwarding using efficient multi-dimensional range matching. ACM SIGCOMM Comput Commun Rev 28(4):203–214
Gupta P, McKeown N (1999) Packet classification on multiple fields. ACM SIGCOMM Comput Commun Rev 29(4):147–160
Taylor D, Turner J (2005) Scalable packet classification using distributed crossproducing of field labels. INFOCOM 2005. In: Proceedings of the 24th annual joint conference of the IEEE computer and communications societies, 269–280
Jiang W, Prasanna VK (2009) Field-split parallel architecture for high performance multi-match packet classification using FPGAs. In: Proceedings of the twenty-first annual symposium on parallelism in algorithms and architectures, pp 188-196
Dong X, Qian M, Jiang R (2018) Packet classification based on the decision tree with information entropy. J Supercomput, pp 1–15
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, pp 213–224
Wee J-H, Pak W (2017) Fast packet classification based on hybrid cutting. IEEE Commun Lett 21(5):1011–1014
Lim H, Byun HY (2015) Packet classification using a bloom filter in a leaf-pushing area-based quad-trie. In: Proceedings of the eleventh ACM/IEEE symposium on architectures for networking and communications systems, 183–184
Varvello M, Laufer R, Zhang F, Lakshman TV (2016) Multilayer packet classification with graphics processing units. IEEE/ACM Trans Netw 24(5):2728–2741
Lu H, Sahni OS (2007) O(logW) multidimensional packet classification. IEEE/ACM Trans Netw 15(2):462–472
Cheng Y-C, Wang P-C (2015) Packet classification using dynamically generated decision trees. IEEE Trans Comput 64(2):582–586
Qu YR, Zhou S, Prasanna VK (2015) A decomposition-based approach for scalable many-field packet classification on multi-core processors. Int J Parallel Program 43(6):965–987
Warkhede P, Suri S, Varghese G (2004) Multiway range trees: scalable IP lookup with fast updates. Comput Netw 44(3):289–303
Zhong P (2011) An IPv6 address lookup algorithm based on recursive balanced multi-way range trees with efficient search and update. In: Proceedings of the international conference on computer science and service system (CSSS), 2059–2063
Pagh R, Rodler FF (2001) Cuckoo hashing. Springer, Berlin
Abdulhassan A, Ahmadi M (20017) Parallel many fields packet classification technique using R-tree. In: New trends in information and communications technology applications (NTICT), 274–279
Abdulhassan A, Ahmadi M (2018) Many-field packet classification using AMQ-R-tree. J High Speed Netw 24(3):219–241
Gupta V, Breitinger F (2015) How cuckoo filter can improve existing approximate matching techniques. In: International conference on digital forensics and cyber crime, vol 157, pp 39–52
Taylor DE, Turner JS (2007) ClassBench: a packet classification benchmark. IEEE/ACM Trans Netw 15(3):499–511
Kaler T, Cache efficient bloom filters for shared memory machines. https://pdfs.semanticscholar.org/465b/0d7872764bba2a6daadffa9a169d056b8c7c.pdf
Tanjent (tanjent) (2018) MurmurHash first announcement. https://ipfs.io/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/MurmurHash.html. Accessed 1 March 2019
Mitra J, Nayak T (2017) Reconfigurable very high throughput low latency VLSI (FPGA) design architecture of CRC 32. Integr VLSI J 56:1–14
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Abdulhassan, A.A., Ahmadi, M. Cuckoo filter-based many-field packet classification using X-tree. J Supercomput 75, 5667–5687 (2019). https://doi.org/10.1007/s11227-019-02818-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-019-02818-5