SplitTrie: A Fast Update Packet Classification Algorithm with Trie Splitting
Abstract
:1. Introduction
- Field Type Vector: Based on the idea of field type, we introduced the parameter of rules called field type vector. Field types are also called Big Field and Small Field. The field type shows the match range size of the rule in a match field. Each bit in the field type vector represents the type of one field. Thus, we can know the match range sizes in all match fields by the field type vector.
- Building Optimization: By analyzing the building and update processes, we found the relevance between the match range sizes of the rules and the size of the lookup structures. With field type vector, we designed an optimization for online trie-based packet classification algorithm by splitting the rulesets before building the tries.
- SplitTrie: With the idea of splitting, we designed a new building process and a new update process for the online trie-based algorithm. We call the new online algorithm SplitTrie, which could provide better update performance.
2. Related Work
2.1. Pre-Process Optimizations of Packet Classification Algorithm
- Dividing by other parameters, such as dimensions [10].
2.2. What We Need in Target Work Scenes
- The divide functions can work with limited ruleset information;
- The divide functions should be simple enough;
- The divide functions should have little influence on lookup performance.
3. The Proposed Algorithm
3.1. Definition of Big Field, Small Field, and Field Type Vector
- in rule is a big field when the match range length of /field range length > threshold value .
- in rule is a small field when the match range length of /field range length ≤ threshold value .
- is a big rule when all fields in are big fields.
- is a N bits long vector, where N is the number of fields of the rule; the i-th bit of is 1 if is a big field; the i-th bit of is 0 if is a small field.
3.2. Why the Optimization Benefits in Trie Methods
3.3. Optimization Using Big Field and Small Field
Algorithm 1: Building process with ruleset splitting |
Input: the maximum size M of ruleset , fields {, , … } Output: ruleset 1 Calculate the number of chosen fields N according to the maximum size M; 2 Choose the top N longest fields among {, , … }; 3 Generate different field type vectors {, , … } 4 for in the field type vectors do 5 ∣ Build a trie with field type vector ; 6 end |
Algorithm 2: Insertion process with ruleset splitting |
|
4. Experimental Results
4.1. Simulation Setup
4.2. Results and Analysis
5. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Cerović, D.; Del Piccolo, V.; Amamou, A.; Haddadou, K.; Pujolle, G. Fast packet processing: A survey. IEEE Commun. Surv. Tutor. 2018, 20, 3645–3676. [Google Scholar] [CrossRef]
- Wang, J.; Cheng, G.; You, J.; Sun, P. SEANet: Architecture and Technologies of an On-site, Elastic, Autonomous Network. J. Netw. New Media 2020, 6, 1–8. [Google Scholar]
- McKeown, N.; Anderson, T.; Balakrishnan, H.; Parulkar, G.; Peterson, L.; Rexford, J.; Shenker, S.; Turner, J. OpenFlow: Enabling innovation in campus networks. ACM SIGCOMM Comput. Commun. Rev. 2008, 38, 69–74. [Google Scholar] [CrossRef]
- Kuźniar, M.; Perešíni, P.; Kostić, D. What you need to know about SDN flow tables. In Proceedings of the International Conference on Passive and Active Network Measurement, New York, NY, USA, 19–20 March 2015; pp. 347–359. [Google Scholar]
- Kaljic, E.; Maric, A.; Njemcevic, P.; Hadzialic, M. A survey on data plane flexibility and programmability in software-defined networking. IEEE Access 2019, 7, 47804–47840. [Google Scholar] [CrossRef]
- Srinivasan, V.; Suri, S.; Varghese, G. Packet classification using tuple space search. In Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, Cambridge, MA, USA, 30 August–3 September 1999; pp. 135–146. [Google Scholar]
- Gupta, P.; McKeown, N. Classifying packets with hierarchical intelligent cuttings. IEEE Micro 2000, 20, 34–41. [Google Scholar] [CrossRef]
- Singh, S.; Baboescu, F.; Varghese, G.; Wang, J. Packet classification using multidimensional cutting. In Proceedings of the 2003 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, Karlsruhe, Germany, 25–29 August 2003; pp. 213–224. [Google Scholar]
- Vamanan, B.; Voskuilen, G.; Vijaykumar, T. EffiCuts: Optimizing packet classification for memory and throughput. ACM SIGCOMM Comput. Commun. Rev. 2010, 40, 207–218. [Google Scholar] [CrossRef]
- Ahmed, O.; Areibi, S.; Fayek, D. PCIU: An efficient packet classification algorithm with an incremental update capability. In Proceedings of the 2010 International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS’10), Ottawa, ON, Canada, 11–14 July 2010; pp. 81–88. [Google Scholar]
- Li, W.; Li, X. HybridCuts: A scheme combining decomposition and cutting for packet classification. In Proceedings of the 2013 IEEE 21st Annual Symposium on High-Performance Interconnects, San Jose, CA, USA, 21–23 August 2013; pp. 41–48. [Google Scholar]
- Yingchareonthawornchai, S.; Daly, J.; Liu, A.X.; Torng, E. A sorted partitioning approach to high-speed and fast-update OpenFlow classification. In Proceedings of the 2016 IEEE 24th International Conference on Network Protocols (ICNP), Singapore, 8–11 November 2016; pp. 1–10. [Google Scholar]
- Li, W.; Li, X.; Li, H.; Xie, G. CutSplit: A decision-tree combining cutting and splitting for scalable packet classification. In Proceedings of the IEEE INFOCOM 2018-IEEE Conference on Computer Communications, Honolulu, HI, USA, 16–19 April 2018; pp. 2645–2653. [Google Scholar]
- Daly, J.; Bruschi, V.; Linguaglossa, L.; Pontarelli, S.; Rossi, D.; Tollet, J.; Torng, E.; Yourtchenko, A. Tuplemerge: Fast software packet processing for online packet classification. IEEE/ACM Trans. Netw. 2019, 27, 1417–1431. [Google Scholar] [CrossRef]
- Zhang, X.; Salamalian, K.; Xie, G. Baking the ruleset: A heat propagation relaxation to packet classification. In Proceedings of the 2020 IFIP Networking Conference (Networking), Paris, France, 22–25 June 2020; pp. 485–493. [Google Scholar]
- Alimohammadi, H.; Ahmadi, M. Common non-wildcard portion-based partitioning approach to SDN many-field packet classification. Comput. Netw. 2020, 181, 107534. [Google Scholar] [CrossRef]
- Li, W.; Yang, T.; Rottenstreich, O.; Li, X.; Xie, G.; Li, H.; Vamanan, B.; Li, D.; Lin, H. Tuple space assisted packet classification with high performance on both search and update. IEEE J. Sel. Areas Commun. 2020, 38, 1555–1569. [Google Scholar] [CrossRef]
- Chen, S.; Zhong, J.; Huang, T.; Wei, Z.; Zhao, S. CMT: An Efficient Algorithm for Scalable Packet Classification. Comput. J. 2021, 64, 941–959. [Google Scholar] [CrossRef]
- Li, Y.; Wang, J.; Chen, X.; Wu, J. ITOC: An Improved Trie-Based Algorithm for Online Packet Classification. Appl. Sci. 2021, 11, 8693. [Google Scholar] [CrossRef]
- Taylor, D.E.; Turner, J.S. Classbench: A packet classification benchmark. IEEE/ACM Trans. Netw. 2007, 15, 499–511. [Google Scholar] [CrossRef] [Green Version]
- Matoušek, J.; Antichi, G.; Lučanskỳ, A.; Moore, A.W.; Kořenek, J. Classbench-ng: Recasting classbench after a decade of network evolution. In Proceedings of the 2017 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Beijing, China, 18–19 May 2017; pp. 204–216. [Google Scholar]
- DPDK. Available online: http://www.dpdk.org/ (accessed on 10 December 2021).
Two-Small | One-Big | Complementary | ||||
---|---|---|---|---|---|---|
Number | Proportion | Number | Proportion | Number | Proportion | |
ACL | 4888 | 10.46% | 40,041 | 85.71% | 1789 | 3.83% |
FW | 1 | 0.00% | 336,939 | 11.62% | 2,562,472 | 88.38% |
IPC | 10,494 | 2.22% | 125,506 | 26.59% | 336,046 | 71.19% |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Li, Y.; Wang, J.; Chen, X.; Wu, J. SplitTrie: A Fast Update Packet Classification Algorithm with Trie Splitting. Electronics 2022, 11, 199. https://doi.org/10.3390/electronics11020199
Li Y, Wang J, Chen X, Wu J. SplitTrie: A Fast Update Packet Classification Algorithm with Trie Splitting. Electronics. 2022; 11(2):199. https://doi.org/10.3390/electronics11020199
Chicago/Turabian StyleLi, Yifei, Jinlin Wang, Xiao Chen, and Jinghong Wu. 2022. "SplitTrie: A Fast Update Packet Classification Algorithm with Trie Splitting" Electronics 11, no. 2: 199. https://doi.org/10.3390/electronics11020199
APA StyleLi, Y., Wang, J., Chen, X., & Wu, J. (2022). SplitTrie: A Fast Update Packet Classification Algorithm with Trie Splitting. Electronics, 11(2), 199. https://doi.org/10.3390/electronics11020199