DOI QR코드

DOI QR Code

영역 분할 사분 트라이에 블룸 필터 선 검색을 사용한 패킷 분류 알고리즘

A Packet Classification Algorithm Using Bloom Filter Pre-Searching on Area-based Quad-Trie

  • 변하영 (이화여자대학교 전자공학과) ;
  • 임혜숙 (이화여자대학교 전자공학과)
  • Received : 2015.03.19
  • Accepted : 2015.05.08
  • Published : 2015.08.15

Abstract

영역분할을 이용한 패킷분류의 대표적인 알고리즘인 영역분할 사분 트라이(area-based quadtrie, AQT)는 검색 시 룰 노드를 만나도 더 높은 우선순위의 룰이 있을 수 있어 트라이의 끝까지 검색해 야 하는 문제가 있다. 리프-푸싱(leaf-pushing) AQT는 모든 검색 경로에 룰 노드를 하나만 위치시켜 검색 성능을 높인 알고리즘이다. 본 논문에서는 리프-푸싱 AQT를 해시 테이블 기반으로 구현하고 블룸필터를 적용해 검색 성능을 더욱 향상시킨 알고리즘을 제안한다. 제안하는 알고리즘에서는 온-칩(on-chip) 블룸필터를 연쇄적으로 우선 검색하여 룰 노드의 레벨을 알아낸 후, 오프-칩(off-chip)에 저장된 룰 노드에 접근한다. 실험을 통해 적절한 크기의 블룸필터를 사용하여 평균 한 번의 해시테이블 접근만으로 패킷분류를 수행할 수 있음을 보았으며, 메모리 사용량 및 검색 성능에 있어 기존의 알고리즘과 제안하는 구조의 성능을 비교하였다.

As a representative area-decomposed algorithm, an area-based quad-trie (AQT) has an issue of search performance. The search procedure must continue to follow the path to its end, due to the possibility of the higher priority-matching rule, even though a matching rule is encountered in a node. A leaf-pushing AQT improves the search performance of the AQT by making a single rule node exist in each search path. This paper proposes a new algorithm to further improve the search performance of the leaf-pushing AQT. The proposed algorithm implements a leaf-pushing AQT using a hash table and an on-chip Bloom filter. In the proposed algorithm, by sequentially querying the Bloom filter, the level of the rule node in the leaf-pushing AQT is identified first. After this procedure, the rule database, which is usually stored in an off-chip memory, is accessed. Simulation results show that packet classification can be performed through a single hash table access using a reasonable sized Bloom filter. The proposed algorithm is compared with existing algorithms in terms of the memory requirement and the search performance.

Keywords

Acknowledgement

Supported by : 한국연구재단, 정보통신산업진흥원

References

  1. H. Song and J. W. Lockwood, "Efficient Packet Classification for Network Intrusion Detection Using FPGA," Proc. of ACM SIGDA FPGA, pp. 238-245, 2005.
  2. H. Lim, N. Lee, G. Jin, J. Lee, Y. Choi and C. Yim, "Boundary Cutting for Packet Classification," IEEE/ACM Trans. Networking, Vol. 22, No. 2, pp. 443-456, Apr. 2014. https://doi.org/10.1109/TNET.2013.2254124
  3. A. G. Alagu Priya and H. Lim, "Hierarchical Packet Classification Using a Bloom Filter and Rule-Priority Tries," Computer Communications, Vol. 33, No. 10, pp. 1215-1226, Jun. 2010. https://doi.org/10.1016/j.comcom.2010.03.009
  4. W. Lu and S. Sahni, "Succinct Representation of Static Packet Classifiers," IEEE/ACM Transactions on Networking, Vol. 17, No. 3, pp. 803-816, Jun. 2009. https://doi.org/10.1109/TNET.2008.2010594
  5. H. Jonathan Chao, "Next Generation Routers," Proc. of the IEEE, Vol. 90, No. 9, pp. 1518-1588, Sept. 2002. https://doi.org/10.1109/JPROC.2002.802001
  6. P. Gupta and N. Mckeown, "Algorithms for Packet Classification," IEEE Network, Vol. 15, No. 2, pp. 24-32, Mar./Apr. 2001. https://doi.org/10.1109/65.912717
  7. V. Srinivasan, S. Suri and G. Varghese, "Packet Classification Using Tuple Space Search," Proc. of ACM SIGCOMM Computer Communication Review, Vol. 29, No. 4, pp. 135-146, 1999. https://doi.org/10.1145/316194.316216
  8. H. Yu and R. Mahapatra, "A Memory-Efficient Hashing by Multi-Predicate Bloom Filters for Packet Classification," Proc. of IEEE INFOCOM, pp. 2467-2475, 2008.
  9. H. Lim, K. Lim and N. Lee, "On Adding Bloom Filters to Longest Prefix Matching Algorithms," IEEE Trans. on Computers, Vol. 63. No. 2, pp. 411-423, Feb. 2014. https://doi.org/10.1109/TC.2012.193
  10. M. M. Buddhikot, S. Suri and M. Waldvogel, "Space Decomposition Techniques for Fast Layer-4 Switching," Proc. of Protocols for High Speed Networks, pp. 25-41, Aug. 1999.
  11. V. Srinuvasan and G. Varghese, "Fast Address Lookups Using Controlled Prefix Expansion," ACM Trans on Computer Systems, Vol. 17, No. 1, pp. 1-40, Feb. 1999. https://doi.org/10.1145/296502.296503
  12. B. Bloom, "Space/Time Trade-offs in Hash Coding with Allowable Errors," Commun. ACM, Vol. 13, No. 7, pp. 422-426, 1970. https://doi.org/10.1145/362686.362692
  13. S. Dharmapurikar, P. Krishnamurthy and D. E. Taylor, "Longest Prefix Matching Using Bloom Filters," IEEE/ACM Trans on Networking, Vol. 14, pp. 397-409, 2006. https://doi.org/10.1109/TNET.2006.872576
  14. J. Mun, H. Lim and C. Yim, "Binary Search on Prefix Lengths for IP Address Lookup," IEEE Communications Letters, Vol. 10, No. 6, pp. 492-494, June. 2006. https://doi.org/10.1109/LCOMM.2006.1638626
  15. D. E. Taylor and J. S. Turner, "ClassBench: A Packet Classification Benchmark," Proc. of IEEE INFOCOM 2005, pp. 2068-2097, Mar. 2005.
  16. D. E. Taylor and J. S. Turner, The Source Code of Packet Classification Bench, [Online]. Available: http://www.arl.wustl.edu/-det3/ClassBench/index.htm
  17. H. Lim, Y. Choe, M. Shim and J. Lee, "A Quad-Trie Conditionally Merged with a Decision Tree for Packet Classification," IEEE Communications Letters, Vol. 18, No. 4, pp. 676-679, Apr. 2014. https://doi.org/10.1109/LCOMM.2014.013114.132384