DOI QR코드

DOI QR Code

Improving Search Performance of Tries Data Structures for Network Filtering by Using Cache

네트워크 필터링에서 캐시를 적용한 트라이 구조의 탐색 성능 개선

  • 김호연 (숭실대학교 정보통신공학과) ;
  • 정규식 (숭실대학교 정보통신전자공학부)
  • Received : 2014.01.02
  • Accepted : 2014.06.04
  • Published : 2014.06.30

Abstract

Due to the tremendous amount and its rapid increase of network traffic, the performance of network equipments are becoming an important issue. Network filtering is one of primary functions affecting the performance of the network equipment such as a firewall or a load balancer to process the packet. In this paper, we propose a cache based tri method to improve the performance of the existing tri method of searching for network filtering. When several packets are exchanged at a time between a server and a client, the tri method repeats the same search procedure for network filtering. However, the proposed method can avoid unnecessary repetition of search procedure by exploiting cache so that the performance of network filtering can be improved. We performed network filtering experiments for the existing method and the proposed method. Experimental results showed that the proposed method could process more packets up to 790,000 per second than the existing method. When the size of cache list is 11, the proposed method showed the most outstanding performance improvement (18.08%) with respect to memory usage increase (7.75%).

트래픽의 엄청난 양과 함께 급격한 증가로 인하여 네트워크 장비들의 성능이 중요한 이슈가 되고 있다. 방화벽 또는 부하분산기와 같이 패킷을 처리하는 네트워크 장비에서 성능에 영향을 주는 주요한 기능 중에 하나가 네트워크 필터링이다. 본 논문에서는 네트워크 필터링의 탐색 방법 중의 하나인 기존 트라이 방법의 성능을 개선하기 위하여 캐시를 적용한 트라이를 제안한다. 클라이언트와 서버 사이의 패킷 교환에서 한 번에 다수의 패킷이 송수신되는 경우에 대하여, 기존 방법은 동일한 탐색을 반복적으로 수행한다. 반면, 본 논문에서 제안하는 방법은 기존 방법에 캐시를 적용하여 불필요한 반복 탐색을 방지함으로써 네트워크 필터링 성능이 향상될 수 있다. 기존 방법과 제안 방법을 이용한 네트워크 필터링 실험을 수행하였다. 실험결과는 제안 방법이 기존 방법에 비하여 최대 초당 790,000개의 패킷을 더 처리할 수 있었음을 보여준다. 캐시 리스트 크기가 11일 때, 메모리 사용 증가량(7.75%) 대비 성능 개선(18.08%)이 가장 우수하였다.

Keywords

References

  1. "Cisco VNI(Visual Networking Index) 2013", http://www. cisco.com/
  2. Pankaj Gupta, Nick McKeown, "Algorithms for Packet Classification", Network, IEEE Vol.15, No.2, 2001.
  3. P. Tsuchiya. "A search algorithm for table entries with non-contiguous wildcarding", unpublished report, Bellcore, 1992.
  4. Chang, Yeim-Kuan, and Hsin-Mao Chen, "Set Pruning Segment Trees for Packet Classification." Advanced Information Networking and Applications (AINA), 2011 IEEE International Conference on. IEEE, 2011.
  5. V. Srinivasan, S. Suri, G. Varghese, and M. Waldvogel, "Fast and ScalableLayer four Switching", Proceedings of ACM Sigcomm, September, 1998.
  6. Srinivasan, Thanukrishnan, et al., "Supervised grid-of-tries: a novel framework for classifier management.", Distributed Computing and Networking. Springer Berlin Heidelberg, 2006.
  7. iptables, http://www.netfilter.org/
  8. Gregor N. Purdy, "Linux iptables", O'REILLY.
  9. Jozsef Kadlecsik, Gyargy Pasztor, "Netfilter Performance Testing", http://people.net-filter.org/
  10. Thomas Heinz, "HIPAC High Performance Packet Classification for Netfilter", University des Saarlandes, 2004.
  11. Michael Bellion, "nf_HIPAC High Performance Packet Classification for Linux Netfilter", http://www.hipac.org/
  12. "SPECweb2005 User's Guide", http://www.spec.org/web2005/ docs/
  13. "SPECweb2005 Benchmark Design Document", http://www.spec.org/ web2005/docs/
  14. "TCPdump Documentation", http://www.tcpdump.org/
  15. Netmap, http://info.iet.unipi.it/-luigi/netmap/
  16. Luigi Rizzo, "netmap: a novel framework for fast packet", Proceedings of the 2012 USENIX conference on Annual Technical Conference, 2012.
  17. Luigi Rizzo, Marta Carbone, Gaetano Catall, "Transparent acceleration of software packet forwarding using netmap", INFOCOM, 2012 Proceedings IEEE, 2012.