패킷 분류를 위한 블룸 필터 이용 튜플 제거 알고리즘

Tuple Pruning Using Bloom Filter for Packet Classification

  • 김소연 (이화여자대학교 전자공학과) ;
  • 임혜숙 (이화여자대학교 전자공학과)
  • 투고 : 2009.05.14
  • 심사 : 2010.02.09
  • 발행 : 2010.06.15

초록

다양한 어플리케이션의 등장과 인터넷 사용자의 급속한 성장으로 인하여, 인터넷 라우터는 패킷이 입력되는 속도와 같은 속도로 패킷 분류작업을 수행하여 패킷의 클래스에 따른 품질 보장을 제공할 것이 요구되고 있다. 패킷 분류란 라우터에 입력된 패킷의 헤더가 가지고 있는 여러 개의 필드에 대해 다차원 검색을 수행하여, 미리 정의된 룰과 일치하는 결과 가운데 최우선순위를 갖는 룰을 찾아내는 과정을 말한다. 빠른 패킷 분류를 위하여 다양한 패킷 분류 알고리즘이 제안되어오고 있으며, 튜플 공간 제거(tuple space pruning) 알고리즘은 일치 가능한 룰을 갖는 튜플들만을 해싱을 사용하여 검색함으로 빠른 검색 성능을 제공한다. 블룸 필터(Bloom filter)는 특정 집합에 속하는 원소들의 멤버쉽에 관한 정보를 간단한 비트-벡터로 표현하는 데이터 구조로서, 특정 입력 값이 집합에 속한 원소인지를 알려주는 선-필터(pre-filter)로 사용된다. 본 논문에서는 블룸 필터를 이용하여 일치 가능성이 없는 튜플을 효율적으로 제거하는 새로운 튜플 제거 알고리즘을 제안한다. 실제 라우터에서 사용되는 룰 셋과 비슷한 특성을 갖는다고 알려진 데이터 베이스에 대한 성능 비교를 통하여, 본 논문에서 제안하는 구조가 패킷 분류 성능 및 메모리 사용량에 있어서 기존의 튜플공간 제거 알고리즘과 비교하여 월등히 우수함을 보았다.

Due to the emergence of new application programs and the fast growth of Internet users, Internet routers are required to provide the quality of services according to the class of input packets, which is identified by wire-speed packet classification. For a pre-defined rule set, by performing multi-dimensional search using various header fields of an input packet, packet classification determines the highest priority rule matching to the input packet. Efficient packet classification algorithms have been widely studied. Tuple pruning algorithm provides fast classification performance using hash-based search against the candidate tuples that may include matching rules. Bloom filter is an efficient data structure composed of a bit vector which represents the membership information of each element included in a given set. It is used as a pre-filter determining whether a specific input is a member of a set or not. This paper proposes new tuple pruning algorithms using Bloom filters, which effectively remove unnecessary tuples which do not include matching rules. Using the database known to be similar to actual rule sets used in Internet routers, simulation results show that the proposed tuple pruning algorithm provides faster packet classification as well as consumes smaller memory amount compared with the previous tuple pruning algorithm.

키워드

참고문헌

  1. H. Jonathan Chao, "Next Generation Routers," Proceedings of the IEEE JPROC.2002.802001, vol.90, Iss. 9, pp.1518-1588, Sept. 2002.
  2. M. de Berg, M. Van Kreveld, M. Overmars, and O. Schwarzkopf, "Computational Geometry: Algorithms and Applications," Springer-Verlag, 2000.
  3. V. Srinivasan, S. Suri, and G. Varghese, "Packet classification using tuple space search," in Proc. of ACM SIGCOMM Computer Communication Review, vol.29, no.4, pp.135-146, 1999. https://doi.org/10.1145/316194.316216
  4. P. Gupta and N. Mckeown, "Algorithm for packet classification," IEEE Network, vol.15, no.2, pp.24-32, Mar./Apr. 2001. https://doi.org/10.1109/65.912717
  5. G. Vaghese, "Network Algorithmics," Morgan Kaufmann, 2005.
  6. M. M. Buddhikot, S. Suri, and M. Waldvogel, "Space Decomposition Techniques for Fast Layer-4 Switching," in Proc. Conf. Protocols for High Speed Networks, pp.25-41, Aug. 1999.
  7. Hyesook Lim, Min Young Kang, and Changhoon Yim, "Two-dimensional packet classification algorithm using a quad-tree," Computer Communications, Elsevier Science, vol.30, no.6, pp.1396-1405, Mar. 2007. https://doi.org/10.1016/j.comcom.2007.01.004
  8. B. H. Bloom, "Space/time trade-offs in hash coding with allowable errors," in Communications of the ACM, 13(7): pp.422-426, July 1970. https://doi.org/10.1145/362686.362692
  9. Andrei Broder and Michael Mitzenmacher, "Network Applications of Bloom filters: A Survey," internet Mathematics, vol.I, no.4, pp.485-509, May, 2004.
  10. Alagukonar Ganapathy Alagupriya, "Packet Classification Algorithms Using Bloom Filters," 이화여자 대학교 대학원 2008년도 석사학위 청구논문.
  11. D. E. Taylor and J. S. Turner, "Classbench: A packet classification benchmark," in IEEE INFOCOM, 2005.
  12. D. E.Taylor, J. S. Turner. The Source Code of Packet Classification Bench, http://www.arl.wustl.edu/-det3/ClassBench.index.htm.
  13. Raj Jain, "Comparison of Hashing Schemes for Address Lookup in Computer Networks," in IEEE Transactions on Communications, vol.40, no.10, pp.1570-1573, 1992. https://doi.org/10.1109/26.168785
  14. Sarang Dharmapurikar, Praveen Krishnamurthy, David E. Talyor, "Longest Prefix Matching Using Bloom Filters," SIGCOMM, Aug. 2003.
  15. F. Baboescu, S. Singh, G. Varghese, "Packet classification for core router: is there an alternative to CAMs?," IEEE INFOCOM 2003, vol.1, pp.53-63, Mar. 2003.
  16. S. Dharmapurikar, H. Song, J. Turner, J. Lockwood, "Fast Packet Classification Using Bloom filters," in ANCS, 2006.
  17. H. Song, J. Turner, and S. Dharmapurikar, "Packet Classification using Coarse-grained tuple spaces," ANCS, 2006.
  18. M. Ahmadi and S. Wong, "Modified Collision Packet Classification Using Counting Bloom Filter in Tuple Space," in Proc., PDCN 2007, pp.70-76, 2007.