Packet Classification Using TCAM of Narrow Entries
Abstract
:1. Introduction
2. Related Work
2.1. Many-Field Packet Classification Based on Software
2.2. Many-Field Packet Classification Based on Hardware
2.3. Control-Plane Solutions for Many-Field Packet Classification
2.4. TCAM-Based Multimatch Packet Classification
2.5. Summarization
3. Challenges and Ideas
4. Our Scheme
4.1. Generating TCAM and SRAM Entries
Algorithm 1 TCAM entry generation. |
Require: for RuleSet using the ith field, ; |
|
4.2. Improvement for Overlapping Rules
4.3. Packet Classification
4.4. Speed Performance Refinements
4.5. Updates
4.6. Time and Space Complexity Analysis
5. Performance Evaluation
5.1. Storage Performance
5.2. Speed Performance
5.3. Performance for Twelve-Field Rules
5.4. Construction Time and Update Performance
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Chang, Y.C.; Lin, H.T.; Chu, H.M.; Wang, P.C. Efficient topology discovery for software-defined networks. IEEE Trans. Netw. Serv. Manag. 2020, 18, 1375–1388. [Google Scholar] [CrossRef]
- Open Networking Foundation. OpenFlow Switch Specifications Ver. 1.5.1. 2015. Available online: https://www.opennetworking.org/wp-content/uploads/2014/10/openflow-switch-v1.5.1.pdf (accessed on 1 April 2023).
- Wang, P.C. Scalable packet classification with controlled cross-producting. Comput. Netw. 2009, 53, 821–834. [Google Scholar] [CrossRef]
- Chang, Y.H.; Wang, P.C. Concise Retrieval of Flow Statistics for Software-Defined Networks. IEEE Syst. J. 2022, 16, 554–565. [Google Scholar] [CrossRef]
- Bosshart, P.; Daly, D.; Gibb, G.; Izzard, M.; McKeown, N.; Rexford, J.; Schlesinger, C.; Talayco, D.; Vahdat, A.; Varghese, G.; et al. P4: Programming protocol-independent packet processors. ACM SIGCOMM Comput. Commun. Rev. 2014, 44, 87–95. [Google Scholar] [CrossRef]
- Hauser, F.; Häberle, M.; Merling, D.; Lindner, S.; Gurevich, V.; Zeiger, F.; Frank, R.; Menth, M. A survey on data plane programming with p4: Fundamentals, advances, and applied research. arXiv 2021, arXiv:2101.10632. [Google Scholar] [CrossRef]
- 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]
- Malekpourshahraki, M.; Stephens, B.E.; Vamanan, B. ADA: Arithmetic Operations with Adaptive TCAM Population in Programmable Switches. In Proceedings of the 2022 IEEE 42nd International Conference on Distributed Computing Systems (ICDCS), Bologna, Italy, 10–13 July 2022; pp. 1–11. [Google Scholar]
- Michel, O.; Bifulco, R.; Retvari, G.; Schmid, S. The programmable data plane: Abstractions, architectures, algorithms, and applications. ACM Comput. Surv. (CSUR) 2021, 54, 1–36. [Google Scholar] [CrossRef]
- Zolfaghari, H.; Rossi, D.; Cerroni, W.; Okuhara, H.; Raffaelli, C.; Nurmi, J. Flexible software-defined packet processing using low-area hardware. IEEE Access 2020, 8, 98929–98945. [Google Scholar] [CrossRef]
- Banerjee-Mishra, T.; Sahni, S.; Seetharaman, G. PC-DUOS: Fast TCAM lookup and update for packet classifiers. In Proceedings of the IEEE ISCC, Kerkyra, Greece, 28 June–1 July 2011; pp. 265–270. [Google Scholar]
- Bremler-Barr, A.; Hay, D.; Hendler, D.; Roth, R.M. PEDS: A parallel error detection scheme for TCAM devices. IEEE/ACM Trans. Netw. 2010, 18, 1665–1675. [Google Scholar] [CrossRef]
- Taylor, D.E.; Spitznagel, E.W. On Using Content Addressable Memory for Packet Classification; Technical Report WUCSE-2005-9; Washington University: Saint Louis, MO, USA, 2005. [Google Scholar]
- Lu, W.; Sahni, S. Low-Power TCAMs for Very Large Forwarding Tables. IEEE/ACM Trans. Netw. 2010, 18, 948–959. [Google Scholar] [CrossRef]
- Banerjee-Mishra, T.; Sahni, S. PETCAM-A Power Efficient TCAM Architecture for Forwarding Tables. IEEE Trans. Comput. 2012, 61, 3–17. [Google Scholar] [CrossRef]
- Cheng, Y.C.; Wang, P.C. Scalable Multi-Match Packet Classification Using TCAM and SRAM. IEEE Trans. Comput. 2016, 65, 2257–2269. [Google Scholar] [CrossRef]
- Wang, P.C. Scalable packet classification for datacenter networks. IEEE J. Sel. Areas Commun. 2014, 32, 124–137. [Google Scholar] [CrossRef]
- Chang, D.Y.; Wang, P.C. TCAM-Based Multi-Match Packet Classification Using Multidimensional Rule Layering. IEEE/ACM Trans. Netw. 2016, 24, 1125–1138. [Google Scholar] [CrossRef]
- Hsieh, C.L.; Weng, N. Scalable many-field packet classification using multidimensional-cutting via selective bit-concatenation. In Proceedings of the ACM/IEEE ANCS, Oakland, CA, USA, 7–8 May 2015; pp. 187–188. [Google Scholar]
- Qu, Y.R.; Zhou, S.; Prasanna, V.K. A decomposition-based approach for scalable many-field packet classification on multi-core processors. Int. J. Parallel Program. 2015, 43, 965–987. [Google Scholar] [CrossRef]
- Demianiuk, V.; Kogan, K.; Nikolenko, S. Approximate Packet Classifiers With Controlled Accuracy. IEEE/ACM Trans. Netw. 2021, 29, 1141–1154. [Google Scholar] [CrossRef]
- Chuprikov, P.; Demianiuk, V.; Gorinsky, S. PREDICAT: Efficient Packet Classification via Prefix Disjointness. In Proceedings of the ICCCN, Athens, Greece, 19–22 July 2021; pp. 1–11. [Google Scholar]
- Demianiuk, V.; Kogan, K. How to Deal with Range-Based Packet Classifiers. In Proceedings of the SOSR, San Jose, CA, USA, 3–4 April 2019; pp. 29–35. [Google Scholar]
- Yingchareonthawornchai, S.; Daly, J.; Liu, A.X.; Torng, E. A Sorted-Partitioning Approach to Fast and Scalable Dynamic Packet Classification. IEEE/ACM Trans. Netw. 2018, 26, 1907–1920. [Google Scholar] [CrossRef]
- Liang, E.; Zhu, H.; Jin, X.; Stoica, I. Neural Packet Classification. In Proceedings of the ACM SIGCOMM, Beijing, China, 19–24 August 2019; pp. 256–269. [Google Scholar]
- Qi, Y.; Fong, J.; Jiang, W.; Xu, B.; Li, J.; Prasanna, V. Multi-dimensional packet classification on FPGA: 100 Gbps and beyond. In Proceedings of the FPT—IEEE, Beijing, China, 8–10 December 2010; pp. 241–248. [Google Scholar]
- Jiang, W.; Prasanna, V.K. Scalable packet classification on FPGA. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2012, 20, 1668–1680. [Google Scholar] [CrossRef]
- Qu, Y.R.; Zhang, H.H.; Zhou, S.; Prasanna, V.K. Optimizing many-field packet classification on FPGA, multi-core general purpose processor, and GPU. In Proceedings of the ACM/IEEE ANCS, Oakland, CA, USA, 7–8 May 2015; pp. 87–98. [Google Scholar]
- Chang, Y.K.; Hsueh, C.S. Range-Enhanced Packet Classification Design on FPGA. IEEE Trans. Emerg. Top. Comput. 2016, 4, 214–224. [Google Scholar] [CrossRef]
- Che, H.; Wang, Z.; Zheng, K.; Liu, B. DRES: Dynamic Range Encoding Scheme for TCAM Coprocessors. IEEE Trans. Comput. 2008, 57, 902–915. [Google Scholar] [CrossRef]
- Chang, Y.K.; Lee, C.I.; Su, C.C. Multi-field Range Encoding for Packet Classification in TCAM. In Proceedings of the IEEE INFOCOM, Shanghai, China, 10–15 April 2011; pp. 196–200. [Google Scholar]
- Bremler-Barr, A.; Hendler, D. Space-Efficient TCAM-Based Classification Using Gray Coding. In Proceedings of the IEEE INFOCOM, Anchorage, AK, USA, 6–12 May 2007; pp. 1388–1396. [Google Scholar]
- Bremler-Barr, A.; Hay, D.; Hendler, D. Layered Interval Codes for TCAM-Based Classification. In Proceedings of the IEEE INFOCOM, Rio de Janeiro, Brazil, 19–25 April 2009; pp. 1305–1313. [Google Scholar]
- Banerjee-Mishra, T.; Sahni, S. DUOS—Simple Dual TCAM Architecture for Routing Tables with Incremental Update. In Proceedings of the IEEE ISCC, Riccione, Italy, 22–25 June 2010; pp. 503–508. [Google Scholar]
- Wan, Y.; Song, H.; Che, H.; Xu, Y.; Wang, Y.; Zhang, C.; Wang, Z.; Pan, T.; Li, H.; Jiang, H.; et al. FastUp: Fast TCAM Update for SDN Switches in Datacenter Networks. In Proceedings of the IEEE ICDCS, Washington DC, USA, 7–10 July 2021; pp. 887–897. [Google Scholar]
- Wan, Y.; Song, H.; Xu, Y.; Zhang, C.; Wang, Y.; Liu, B. Adaptive Batch Update in TCAM: How Collective Optimization Beats Individual Ones. In Proceedings of the IEEE INFOCOM, Vancouver, BC, Canada, 10–13 May 2021; pp. 1–10. [Google Scholar]
- Zhao, B.; Li, R.; Zhao, J.; Wolf, T. Efficient and Consistent TCAM Updates. In Proceedings of the IEEE INFOCOM, Beijing, China, 27–30 April 2020; pp. 1241–1250. [Google Scholar]
- Kogan, K.; Nikolenko, S.; Rottenstreich, O.; Culhane, W.; Eugster, P. SAX-PAC (Scalable And eXpressive PAcket Classification). In Proceedings of the ACM SIGCOMM, Chicago, IL, USA, 17–22 August 2014; pp. 15–26. [Google Scholar]
- Sheu, J.P.; Chuo, Y.C. Wildcard Rules Caching and Cache Replacement Algorithms in Software-Defined Networking. IEEE Trans. Netw. Serv. Manag. 2016, 13, 19–29. [Google Scholar] [CrossRef]
- Wan, Y.; Song, H.; Xu, Y.; Wang, Y.; Pan, T.; Zhang, C.; Liu, B. T-cache: Dependency-free Ternary Rule Cache for Policy-based Forwarding. In Proceedings of the IEEE INFOCOM, Beijing, China, 27–30 April 2020; pp. 536–545. [Google Scholar]
- Dong, Q.; Banerjee, S.; Wang, J.; Agrawal, D.; Shukla, A. Packet classifiers in ternary CAMs can be smaller. In Proceedings of the Joint International Conference on Measurement and Modeling of Computer Systems, Saint Malo, France, 26–30 June 2006; pp. 311–322. [Google Scholar]
- Liu, A.X.; Meiners, C.R.; Torng, E. TCAM Razor: A systematic approach towards minimizing packet classifiers in TCAMs. IEEE/ACM Trans. Netw. 2009, 18, 490–500. [Google Scholar] [CrossRef]
- Lin, H.T.; Wang, P.C. TCAM-Based Packet Classification Using Multi-stage Scheme. In Proceedings of the Fifth ICNCC, Kyoto, Japan, 17–21 December 2016; ACM: Frisco, TX, USA, 2016; pp. 83–87. [Google Scholar]
- Lin, H.T.; Wang, P.C. TCAM-based packet classification for many-field rules of SDNs. Comput. Commun. 2023, 203, 89–98. [Google Scholar] [CrossRef]
- Cauteruccio, F.; Stamile, C.; Terracina, G.; Ursino, D.; Sappey-Mariniery, D. An automated string-based approach to white matter fiber-bundles clustering. In Proceedings of the 2015 International Joint Conference on Neural Networks (IJCNN), Killarney, Ireland, 12–17 July 2015; IEEE: New York, NY, USA, 2015; pp. 1–8. [Google Scholar]
- Cauteruccio, F.; Terracina, G.; Ursino, D. Generalizing identity-based string comparison metrics: Framework and techniques. Knowl. Based Syst. 2020, 187, 104820. [Google Scholar] [CrossRef]
- Kannan, K.; Banerjee, S. Compact TCAM: Flow entry compaction in TCAM for power aware SDN. In Proceedings of the International Conference on Distributed Computing and Networking, Philadelphia, PA, USA, 8–11 July 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 439–444. [Google Scholar]
- Alsaeedi, M.; Mohamad, M.M.; Al-Roubaiey, A.A. Toward adaptive and scalable OpenFlow-SDN flow control: A survey. IEEE Access 2019, 7, 107346–107379. [Google Scholar] [CrossRef]
- Asif, A.B.; Imran, M.; Shah, N.; Afzal, M.; Khurshid, H. ROCA: Auto-resolving overlapping and conflicts in Access Control List policies for Software Defined Networking. Int. J. Commun. Syst. 2021, 34, e4815. [Google Scholar] [CrossRef]
- Yu, F.; Katz, R.H.; Lakshman, T. Efficient Multimatch Packet Classification and Lookup with TCAM. IEEE Micro 2005, 25, 50–59. [Google Scholar]
- Yu, F.; Lakshman, T.V.; Motoyama, M.A.; Katz, R.H. SSA: A power and memory efficient scheme to multi-match packet classification. In Proceedings of the ACM ANCS 2005, Princeton, NJ, USA, 26–28 October 2005; pp. 105–113. [Google Scholar]
- Lakshminarayanan, K.; Rangarajan, A.; Venkatachary, S. Algorithms for Advanced Packet Classification with Ternary CAMs. SIGCOMM Comput. Commun. Rev. 2005, 35, 193–204. [Google Scholar] [CrossRef]
- Uga, M.; Shiomoto, K. A novel ultra high-speed multi-layer table lookup method using TCAM for differentiated services in the Internet. In Proceedings of the IEEE HPSR, Dallas, TX, USA, 29–31 May 2001; pp. 240–244. [Google Scholar]
- Garey, M.R.; Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP-Completeness; W. H. Freeman & Co.: New York, NY, USA, 1990. [Google Scholar]
- Banerjee, T.; Sahni, S.; Seetharaman, G. PC-TRIO: A power efficient TCAM architecture for packet classifiers. IEEE Trans. Comput. 2015, 64, 1104–1118. [Google Scholar] [CrossRef]
- Taylor, D.E. Survey and Taxonomy of Packet Classification Techniques. ACM Comput. Surv. 2005, 37, 238–275. [Google Scholar] [CrossRef]
- Taylor, D.E.; Turner, J.S. ClassBench: A Packet Classification Benchmark. In Proceedings of the IEEE INFOCOM, Miami, FL, USA, 13–17 March 2005; Volume 3, pp. 2068–2079. [Google Scholar]
- Jouet, S.; Cziva, R.; Pezaros, D.P. Arbitrary packet matching in OpenFlow. In Proceedings of the IEEE 16th HPSR, Budapest, Hungary, 1–4 July 2015; pp. 1–6. [Google Scholar]
- Agrawal, B.; Sherwood, T. Ternary CAM Power and Delay Model: Extensions and Uses. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2008, 16, 554–564. [Google Scholar] [CrossRef]
Reference | Research Goal | Limitation |
---|---|---|
[38] | Reducing TCAM storage requirements using an algorithmic solution for non-overlapping rules | Unpredictable performance of the algorithmic solution |
[39,40] | Using TCAM as cache | Unpredictable cache-miss performance |
[44] | Selecting rule bits to be stored in TCAM | High construction time |
Rule | SIP | DIP | SP | DP | PROT |
---|---|---|---|---|---|
R1 | [0:65535] | [133:133] | [6:6] | ||
R2 | [53:53] | [0:65535] | [6:6] | ||
R3 | [0:65535] | [53:53] | [17:17] | ||
R4 | [0:65535] | [25:25] | [17:17] | ||
R5 | [161:161] | [0:65535] | [17:17] | ||
R6 | [5540:5540] | [0:65535] | [17:17] | ||
R7 | [0:65535] | [0:65535] | [0:255] | ||
R8 | [0:65535] | [0:65535] | [0:255] | ||
R9 | ∗ | [0:65535] | [0:65535] | [0:255] | |
R10 | [0:65535] | [1433:1433] | [6:6] | ||
R11 | [22:22] | [0:65535] | [6:6] | ||
R12 | ∗ | [0:65535] | [0:65535] | [0:255] | |
R13 | ∗ | [0:65535] | [0:65535] | [0:255] | |
R14 | ∗ | [0:65535] | [0:65535] | [0:255] | |
R15 | ∗ | [0:65535] | [0:65535] | [0:255] |
TCAM | SRAM | ||
---|---|---|---|
Specification | Bitmap | Rules | |
2 | R5, R13, R14 | ||
1 | R8, R11, R12 | ||
2 | R2, R6, R15 | ||
1 | R1, R9, R10 | ||
1 | R3, R4, R7 |
Type | ACL | FW | IPC | |||
---|---|---|---|---|---|---|
Rules | Expansion | Rules | Expansion | Rules | Expansion | |
REAL | 683 | 1471 | 269 | 914 | 1550 | 2180 |
1 K | 916 | 1225 | 791 | 3306 | 938 | 1223 |
5 K | 4415 | 6148 | 4653 | 15,778 | 4460 | 5916 |
10 K | 9603 | 12,947 | 9311 | 32,136 | 9037 | 12,127 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 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
Lin, H.-T.; Pan, W.-H.; Wang, P.-C. Packet Classification Using TCAM of Narrow Entries. Technologies 2023, 11, 147. https://doi.org/10.3390/technologies11050147
Lin H-T, Pan W-H, Wang P-C. Packet Classification Using TCAM of Narrow Entries. Technologies. 2023; 11(5):147. https://doi.org/10.3390/technologies11050147
Chicago/Turabian StyleLin, Hsin-Tsung, Wei-Han Pan, and Pi-Chung Wang. 2023. "Packet Classification Using TCAM of Narrow Entries" Technologies 11, no. 5: 147. https://doi.org/10.3390/technologies11050147
APA StyleLin, H. -T., Pan, W. -H., & Wang, P. -C. (2023). Packet Classification Using TCAM of Narrow Entries. Technologies, 11(5), 147. https://doi.org/10.3390/technologies11050147