Fast Conflict Detection for Multi-Dimensional Packet Filters
Abstract
:1. Introduction
- Select the first filter in the database that matches P.
- Assign each filter a priority. From the set of filters that match P, select the filter having the highest priority.
- Assign each field a priority. From the set of filters that match P, select the filter having the most specific field with the highest priority.
2. Related Work
2.1. Conflict Detection for 5D Filters
- F[1] is a prefix of G[1] and G[2] is a prefix of F[2], or
- G[1] is a prefix of F[1] and F[2] is a prefix of G[2].
2.2. Conflict Detection for 2D Filters
3. Definition of 5D Filter Conflict
4. An Efficient Conflict Detection Algorithm for Non-Prefix Fields
4.1. Combined Detection Method for 5D Conflict Detection
- When the non-prefix field combinations belong to 3Dset3, it means that we can find any two non-prefix fields s and t of filters F and G which satisfy Condition 2 defined in Section 3. Regardless of the combination to which the prefix field comparison results belong (except for the empty set), conflicts occur after combined detection.
- When the non-prefix field combinations belong to 3Dset2, regardless of whether the prefix field comparison results belong to Combination 1 or 2, conflicts occur after combined detection because we can find at least one prefix field x and non-prefix field s of filters F and G which satisfy Condition 2.
- When the non-prefix field combinations belong to 3Dset1, conflicts may not occur after combined detection with the prefix field comparison results that belong to Combination 2 because some non-prefix field combinations belong to 3Dset1 but do not belong to 3Dset2. Similarly, when the non-prefix field combinations belong to 3Dset2, conflicts may not occur after the combined detection with the prefix field comparison results that belong to Combination 3. In this situation, we may not find any two fields i and j of filters F and G which satisfy Condition 2.
4.2. Characteristic Analysis and Classification for Non-Prefix Field
- Disjoint: When the two compared port field values belong to HI and LO, respectively, we can determine that the comparison results of the two filters in this field must be an empty set because the values in these two classes are disjoint. For example, we cannot find a value that is located in both regions [1024:65,535] and [0:1023]. With the same method, except the case in which the protocol value is a wildcard, different protocols are disjoint.
- Overlap: For port and protocol fields, when one of the two compared fields is a wildcard or the values of both two compared protocol fields are TCP or UDP, we can determine that the comparison results of this field must not be an empty set because the wildcard indicates that the value covers all ranges. If it is compared with any other classes, they will certainly overlap.
- Requiring exact comparison: In this relationship, we must fetch the complete information of this field for an exact comparison to determine the final comparison results. For example, if the two compared port values are exact values 23 and 80, respectively, which are classified as LO, we know that they are disjoint only after an exact comparison. With the same method, if the two compared port values are an exact value 80 and a range [0:1023], respectively, we know that they are overlapping only after exact comparison. Similarly, if the protocol field belongs to Other, further exact comparison is required to determine the result.
4.3. Relationships of Non-Prefix Field Combined Comparison
- Disjoint: In these compared non-prefix fields, the comparison results of at least one field are disjoint. When the compared non-prefix fields belong to the combination of this type, no conflict exists after combined detection regardless of the combination to which the comparison results of the prefix fields of filters F and G belong. For example, the non-prefix field combinations of filter pair (F1, F6) are (LO, WC, TCP) and (HI, WC, UDP). Filter pair (F1, F6) is not in conflict because the comparison results in fields Source port and Protocol are disjoint.
- Overlap: The comparison results of these compared non-prefix fields all overlap. When these compared non-prefix fields belong to the combinations of a set that is the same as the 3Dset1 set listed in Table 3 (i.e., the comparison result of prefix fields of filters F and G is Combination 1 defined in Section 4.1,), it will conflict with the non-prefix field combination in this set after combined detection. In Section 4.1, we discussed the relationship between these three sets: 3Dset1, 3Dset2, and 3Dset3. Therefore, in this set we can also find a set of three field combinations that matches 3Dset2 and 3Dset3. The set of non-prefix field combinations that these two sets match is derived as follows. 3Dset2: In the non-prefix fields of F and G comparison, at least one field s exists and the value of F[s] is a wildcard, but not the value of G[s] (e.g., the destination port field of filter pair (F2, F4) are WC, LO in Table 6). 3Dset3: In the non-prefix fields of F and G comparison, at least two fields s and t exist, the value of F[s] is wildcard, and the value of G[s] is not; or the value of F[t] is not wildcard and the value of G[t] is wildcard (e.g., the destination port and protocol fields of filter pair (F7, F8) are (WC, Both) and (TCP, WC) in Table 6).
- Requiring exact comparison: In these compared non-prefix fields, the comparison results of at least one field require exact comparison, whereas the comparison results of other fields overlap. When the compared non-prefix fields belong to the combination of this set, exact comparison is required after combined detection regardless of the combination to which the comparison results of the prefix fields of filters F and G belong. For example, if the combinations of filter pair (F1, F5) are (LO, WC, TCP) and (LO, WC, WC), the comparison results of filter pair (F1, F5) can be determined only after exact comparison of the source port field.
4.4. Lookup Table Construction
5. Experimental Results
5.1. Filtering Ratio of the Comparison Result Lookup
5.2. Comparing Time Performance with Original 2D Detection Algorithms
5.3. Comparing Time Performance with Extended 5D Algorithms
6. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Taylor, D.E. Survey and Taxonomy of Packet Classification Techniques. ACM Comput. Surv. 2005, 37, 238–275. [Google Scholar] [CrossRef]
- Gupta, P.; McKeown, N. Algorithms for Packet Classification. IEEE Netw. 2001, 15, 24–32. [Google Scholar] [CrossRef]
- Zhang, X.; Xie, G.; Wang, X.; Zhang, P.; Li, Y.; Salamatian, K. Fast Online Packet Classification with Convolutional Neural Network. IEEE ACM Trans. Netw. 2021, 29, 2765–2778. [Google Scholar] [CrossRef]
- Wan, Y.; Song, H.; Xu, Y.; Wang, Y.; Pan, T.; Zhang, C.; Wang, Y.; Liu, B. T-Cache: Efficient Policy-Based Forwarding Using Small TCAM. IEEE ACM Trans. Netw. 2021, 29, 2693–2708. [Google Scholar] [CrossRef]
- Matoušek, J.; Lučanský, A.; Janeček, D.; Sabo, J.; Kořenek, J.; Antichi, G. ClassBench-Ng: Benchmarking Packet Classification Algorithms in the OpenFlow Era. IEEE ACM Trans. Netw. 2022, 1–14. [Google Scholar] [CrossRef]
- Hari, A.; Suri, S.; Parulkar, G. Detecting and Resolving Packet Filter Conflicts. In Proceedings of the IEEE INFOCOM, Tel Aviv, Israel, 26–30 March 2000; pp. 318–331. [Google Scholar]
- Baboescu, F.; Varghese, G. Fast and Scalable Conflict Detection for Packet Classifier. Comput. Netw. 2003, 42, 717–735. [Google Scholar] [CrossRef]
- Hongxin, H.; Gail, J.A.; Ketan, K. Detecting and Resolving Firewall Policy Anomalies. IEEE Trans. Dependable Secur. Comput. 2012, 9, 318–331. [Google Scholar] [CrossRef]
- Zhang, X.; Yin, Y.; Liu, W.; Peng, Z.; Zhang, G.; Wang, Y.; Tateiwa, Y.; Takahashi, N. A Conflict Detection Method for IPv6 Time-Based Firewall Policy. In Proceedings of the 2019 IEEE International Conference on Parallel & Distributed Processing with Applications, Big Data & Cloud Computing, Sustainable Computing & Communications, Social Computing & Networking, Xiamen, China, 16–18 December 2019; pp. 435–442. [Google Scholar]
- Lai, C.Y.; Wang, P.C. Fast and Complete Conflict Detection for Packet Classifiers. IEEE Syst. J. 2017, 11, 1137–1148. [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]
- Lu, H.; Sahni, S. Conflict Detection and Resolution in Two-Dimensional Prefix Router Tables. IEEE ACM Trans. Netw. 2005, 13, 1353–1363. [Google Scholar] [CrossRef]
- OpenFlow Specification v1.5.1. Available online: https://opennetworking.org/wp-content/uploads/2014/10/openflow-switch-v1.5.1.pdf (accessed on 1 June 2022).
- Jamil, H.; Yang, N.; Weng, N. Many-Field Packet Classification with Decomposition and Reinforcement Learning. IET Netw. 2022, 11, 112–127. [Google Scholar] [CrossRef]
- Lim, H.; Lee, S.; Swartzlander, E.E., Jr. A New Hierarchical Packet Classification Algorithm. Comput. Netw. 2012, 56, 3010–3022. [Google Scholar] [CrossRef]
- 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]
- Wee, J.; Choi, J.-G.; Pak, W. Wildcard Fields-Based Partitioning for Fast and Scalable Packet Classification in Vehicle-to-Everything. Sensors 2019, 19, 2563. [Google Scholar] [CrossRef]
- 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]
- 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]
- Fong, J.; Wang, X.; Qi, Y.; Li, J.; Jiang, W. ParaSplit: A Scalable Architecture on FPGA for Terabit Packet Classification. In Proceedings of the IEEE 20th Annual Symposium on High-Performance Interconnects, Santa Clara, CA, USA, 22–24 August 2012; pp. 1–8. [Google Scholar]
- Erdem, O.; Le, H.; Prasanna, V.K. Hierarchical Hybrid Search Structure for High Performance Packet Classification. In Proceedings of the IEEE INFOCOM, Orlando, FL, USA, 25–30 March 2012; pp. 1898–1906. [Google Scholar]
- Pnevmatikou, A.; Lentaris, G.; Soudris, D.; Kokkalis, N. Fast Packet Classification Using RISC-V and HyperSplit Acceleration on FPGA. In Proceedings of the IEEE International Symposium on Circuits and Systems, Seville, Spain, 12–14 October 2020; pp. 1–5. [Google Scholar]
- Chen, D.; Li, Z.; Xiong, T.; Liu, Z.; Yang, J.; Yin, S.; Wei, S.; Liu, L. CATCAM: Constant-Time Alteration Ternary CAM with Scalable In-Memory Architecture. In Proceedings of the 53rd Annual IEEE/ACM International Symposium on Microarchitecture, Athens, Greece, 17–21 October 2020; pp. 342–355. [Google Scholar]
- Srinivasan, V.; Varghese, G.; Suri, S.; Waldvogel, M. Fast and Scalable Layer Four Switching. Comput. Commun. Rev. 1998, 28, 191–202. [Google Scholar] [CrossRef]
- Lakshman, T.V.; Stiliadis, D. High-Speed Policy-Based Packet Forwarding Using Efficient Multi-Dimensional Range Matching. In Proceedings of the ACM SISCOMM, Vancouver, BC, Canada, 31 August–4 September 1998; pp. 203–214. [Google Scholar]
- Baboescu, F.; Varghese, G. Scalable Packet Classification. IEEE ACM Trans. Netw. 2005, 13, 2–14. [Google Scholar] [CrossRef]
- Kuo, Y.-H.; Tsai, J.-S.; Leung, T. A Multilevel Bit Vector Minimization Method for Fast Online Detection of Conflicting Flow Entries in OpenFlow Table. Comput. Commun. 2021, 167, 31–47. [Google Scholar] [CrossRef]
- Bentley, L.B.; Ottmann, T. Algorithms for Reporting and Counting Geometric Intersections. IEEE Trans. Comput. 1979, 28, 643–647. [Google Scholar] [CrossRef]
- Lee, C.L.; Lin, G.Y.; Chen, Y.C. An Efficient Conflict Detection Algorithm for Packet Filters. IEICE Trans. Inf. Syst. 2012, 95, 472–479. [Google Scholar] [CrossRef]
- Kwok, A.; Poon, C.K. Two-Dimensional Packet Classification and Filter Conflict Resolution in the Internet. Theory Comput. Syst. 2009, 44, 289–303. [Google Scholar] [CrossRef]
- Maindorfer, C.; Mohamed, K.A.; Ottmann, T.; Datta, A. A New Output-Sensitive Algorithm to Detect and Resolve Conflicts in Internet Router Tables. In Proceedings of the IEEE INFOCOM, Anchorage, AK, USA, 6–12 May 2007; pp. 2431–2435. [Google Scholar]
- Z3 Theorem Prover. Available online: https://github.com/Z3Prover/z3/wiki (accessed on 1 June 2022).
- Taylor, D.E.; Turner, J.S. Classbench: A Packet Classification Benchmark. IEEE ACM Trans. Netw. 2007, 15, 499–511. [Google Scholar] [CrossRef]
Filter | Source IP Address | Destination IP Address | Action |
---|---|---|---|
a | 001* | * | Accept |
b | * | 001* | Reject |
c | 110* | * | Accept |
d | * | 110* | Reject |
Filter | Source IP Address | Destination IP Address | Source Port | Destination Port | Protocol |
---|---|---|---|---|---|
F1 | 000* | 01* | 80 | * | TCP |
F2 | 100* | 01* | * | * | TCP |
F3 | 100* | 01* | * | 60 | * |
F4 | 10* | 0* | * | 0–1023 | TCP |
F5 | 00* | 011* | 0–1023 | * | * |
F6 | 00* | 011* | 1024–65,535 | * | UDP |
F7 | 0* | 0* | * | * | TCP |
F8 | * | 000* | * | 1000–5000 | * |
Results of Prefix Fields of F and G | Corresponding to the Combination of Non-Prefix Fields |
---|---|
Combination 1 | |
Combination 2 | |
Combination 3 |
Value | Description |
---|---|
WC | Wildcard (*) |
HI | Ephemeral user port range [1024:65535] |
LO | Well-known system port range [0:1023] |
AR | An arbitrary range, for example [1000:5000] |
EM | Exact value, for example [21:21] |
Value | Description |
---|---|
WC | Wildcard (*) |
TCP | Transmission control protocol |
UDP | User datagram protocol |
Other | The other protocol values, for example ICMP, ESP, etc. |
Filter | Source IP Address | Destination IP Address | Source Port | Destination Port | Protocol |
---|---|---|---|---|---|
F1 | 000* | 01* | LO | WC | TCP |
F2 | 100* | 01* | WC | WC | TCP |
F3 | 100* | 01* | WC | LO | WC |
F4 | 10* | 0* | WC | LO | TCP |
F5 | 00* | 011* | LO | WC | WC |
F6 | 00* | 011* | HI | WC | UDP |
F7 | 0* | 0* | WC | WC | TCP |
F8 | * | 000* | WC | Both | WC |
Relationship | Disjoint | Overlap | Requiring Exact Comparison | |||
---|---|---|---|---|---|---|
(F, G) | Port Field | Protocol Field | Port Field | Protocol Field | Port Field | Protocol Field |
(HI, LO) (LO, HI) | (TCP, UDP) (TCP, Other) (UDP, TCP) (UDP, Other) (Other, TCP) (Other, UDP) | (WC, *) (*, WC) | (WC, *) (*, WC) (TCP, TCP) (UDP, UDP) | (HI, HI) (HI, Both) (LO, LO) (LO, Both) (Both, HI) (Both, LO) (Both, Both) | (Other, Other) |
Port Field | Code | Protocol Field | Code |
---|---|---|---|
WC | 00 | WC | 00 |
HI | 01 | TCP | 01 |
LO | 10 | UDP | 10 |
Both | 11 | Other | 11 |
Comparison Result | Code |
---|---|
Disjoint | 000 |
Requiring exact comparison | 001 |
Set 3Dset1’ | 010 |
Set 3Dset2’ | 011 |
Set 3Dset3’ | 100 |
(Filter F, Filter G) | Code of Comparison Result |
---|---|
(000000, 000000) | 011 |
(000000, 000001) | 011 |
(000000, 000010) | 011 |
⁞ | ⁞ |
(000001, 001000) | 100 |
⁞ | ⁞ |
(010010, 000001) | 000 |
⁞ | ⁞ |
(111111, 111101) | 000 |
(111111, 111110) | 000 |
(111111, 111111) | 001 |
Databases | Statistics | Average Number of Non-Prefix Field Comparisons per Filter | Percentage Distribution of the Results of Non-Prefix Field Comparisons | |||
---|---|---|---|---|---|---|
Number of Filters | Number of total Non-Prefix Field Comparisons | Disjoint | Conflict | Requiring Exact Comparison | ||
ACL1 | 19,912 | 188,707 | 9.48 | 23.38% | 46.46% | 30.16% |
ACL2 | 18,674 | 4,686,814 | 250.98 | 19.45% | 69.62% | 10.93% |
ACL3 | 19,049 | 3,576,805 | 187.77 | 64.70% | 12.04% | 23.25% |
ACL4 | 19,221 | 3,022,216 | 157.24 | 65.46% | 11.06% | 23.48% |
ACL5 | 13,585 | 994 | 0.07 | 75.96% | 0.00% | 24.04% |
FW1 | 18,643 | 38,711,274 | 2076.45 | 67.13% | 20.45% | 12.42% |
FW2 | 19,254 | 24,533,881 | 1274.22 | 0.00% | 68.63% | 31.37% |
FW3 | 17,743 | 39,051,434 | 2200.95 | 69.93% | 13.10% | 16.97% |
FW4 | 17,333 | 23,916,573 | 1379.83 | 59.04% | 19.57% | 21.39% |
FW5 | 17,470 | 42,750,196 | 2447.06 | 60.57% | 21.78% | 17.65% |
IPC1 | 19,477 | 3,532,940 | 181.39 | 32.49% | 50.13% | 17.38% |
IPC2 | 20,000 | 12,162,906 | 608.15 | 0.00% | 66.90% | 33.10% |
Databases | 5K | 10K | 20K | ||||||
---|---|---|---|---|---|---|---|---|---|
Average Detection Time | Speedup | Average Detection Time | Speedup | Average Detection Time | Speedup | ||||
Fast | Ours | Fast | Ours | Fast | Ours | ||||
ACL1 | 0.45 | 0.36 | 20.00% | 0.69 | 0.62 | 10.14% | 0.97 | 0.75 | 22.68% |
ACL2 | 8.15 | 6.83 | 16.20% | 15.53 | 12.48 | 19.64% | 28.59 | 23.24 | 18.71% |
ACL3 | 7.77 | 6.49 | 16.47% | 12.55 | 10.7 | 14.74% | 19.06 | 16.49 | 13.48% |
ACL4 | 5.77 | 5.11 | 11.44% | 8.49 | 7.55 | 11.07% | 16.21 | 14.44 | 10.92% |
ACL5 | 0.11 | 0.09 | 18.18% | 0.13 | 0.09 | 30.77% | 0.14 | 0.1 | 28.57% |
FW1 | 88.28 | 67.55 | 23.48% | 362.74 | 232.61 | 35.87% | 481.74 | 400.73 | 16.82% |
FW2 | 45.29 | 40.33 | 10.95% | 91.31 | 79.31 | 13.14% | 210.65 | 189.07 | 10.24% |
FW3 | 191.88 | 131.88 | 31.27% | 441.27 | 353.3 | 19.94% | 691.06 | 609.51 | 11.80% |
FW4 | 50.53 | 42.75 | 15.40% | 140.17 | 119.9 | 14.46% | 332.15 | 286.39 | 13.78% |
FW5 | 159.38 | 136.22 | 14.53% | 464.03 | 395.66 | 14.73% | 879.9 | 746.2 | 15.19% |
IPC1 | 4.7 | 4.17 | 11.28% | 9.93 | 8.8 | 11.38% | 19.69 | 17.27 | 12.29% |
IPC2 | 45.79 | 35.58 | 22.30% | 109.85 | 93.73 | 14.67% | 302.72 | 234.91 | 22.40% |
Databases | 5K | 10K | 20K | ||||||
---|---|---|---|---|---|---|---|---|---|
Average Detection Time | Speedup | Average Detection Time | Speedup | Average Detection Time | Speedup | ||||
SBV | Ours | SBV | Ours | SBV | Ours | ||||
ACL1 | 6.81 | 5.26 | 22.76% | 13.59 | 11.06 | 18.62% | 26.94 | 22.13 | 17.85% |
ACL2 | 7.82 | 5.72 | 26.85% | 15.11 | 11.4 | 24.55% | 27.61 | 22.11 | 19.92% |
ACL3 | 7.46 | 5.95 | 20.24% | 13.89 | 11.5 | 17.21% | 26.86 | 22.87 | 14.85% |
ACL4 | 7.43 | 6.01 | 19.11% | 14.02 | 11.41 | 18.62% | 26.86 | 22.65 | 15.67% |
ACL5 | 4.55 | 3.39 | 25.49% | 9.9 | 7.83 | 20.91% | 18.21 | 15.27 | 16.14% |
FW1 | 8.45 | 7.27 | 13.96% | 15.82 | 14.28 | 9.73% | 31.7 | 28.27 | 10.82% |
FW2 | 8.83 | 6.33 | 28.31% | 15.93 | 12.53 | 21.34% | 30.06 | 25.24 | 16.03% |
FW3 | 7.89 | 7.14 | 9.51% | 15.76 | 14.13 | 10.34% | 30.99 | 27.82 | 10.23% |
FW4 | 8.97 | 7.17 | 20.07% | 15.82 | 13.3 | 15.93% | 28.96 | 25.23 | 12.88% |
FW5 | 8.83 | 7.51 | 14.95% | 15.99 | 14.67 | 8.26% | 33.65 | 28.32 | 15.84% |
IPC1 | 7.59 | 5.85 | 22.92% | 13.86 | 11.43 | 17.53% | 26.41 | 22.9 | 13.29% |
IPC2 | 8.82 | 6.19 | 29.82% | 15.87 | 12.51 | 21.17% | 28.03 | 24.44 | 12.81% |
Databases | Number of Filters | Total Time (μs) | Average Build Time | Space (KB) |
---|---|---|---|---|
ACL1 | 19,912 | 104,103.40 | 5.23 | 3197.71 |
ACL2 | 18,674 | 110,627.00 | 5.92 | 680.75 |
ACL3 | 19,049 | 172,434.20 | 9.05 | 4625.60 |
ACL4 | 19,221 | 166,306.80 | 8.65 | 5388.98 |
ACL5 | 13,585 | 80,651.80 | 5.94 | 752.05 |
FW1 | 18,643 | 190,337.60 | 10.21 | 1386.76 |
FW2 | 19,254 | 180,186.80 | 9.36 | 214.29 |
FW3 | 17,743 | 157,403.60 | 8.87 | 1183.20 |
FW4 | 17,333 | 533,745.20 | 30.79 | 1711.34 |
FW5 | 17,470 | 129,372.20 | 7.41 | 1141.49 |
IPC1 | 19,477 | 117,780.00 | 6.05 | 2037.23 |
IPC2 | 20,000 | 53,946.80 | 2.70 | 146.86 |
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
Lee, C.-L.; Lin, G.-Y.; Chen, Y.-C. Fast Conflict Detection for Multi-Dimensional Packet Filters. Algorithms 2022, 15, 285. https://doi.org/10.3390/a15080285
Lee C-L, Lin G-Y, Chen Y-C. Fast Conflict Detection for Multi-Dimensional Packet Filters. Algorithms. 2022; 15(8):285. https://doi.org/10.3390/a15080285
Chicago/Turabian StyleLee, Chun-Liang, Guan-Yu Lin, and Yaw-Chung Chen. 2022. "Fast Conflict Detection for Multi-Dimensional Packet Filters" Algorithms 15, no. 8: 285. https://doi.org/10.3390/a15080285
APA StyleLee, C. -L., Lin, G. -Y., & Chen, Y. -C. (2022). Fast Conflict Detection for Multi-Dimensional Packet Filters. Algorithms, 15(8), 285. https://doi.org/10.3390/a15080285