Multiple Hashing Architecture using Bloom Filter for IP Address Lookup

IP 주소 검색에서 블룸 필터를 사용한 다중 해싱 구조

  • 박경혜 (이화여자대학교 전자정보통신공학과) ;
  • 임혜숙 (이화여자대학교 전자정보통신공학과)
  • Published : 2009.04.15

Abstract

Various algorithms and architectures for IP address lookup have been studied to improve forwarding performance in the Internet routers. Previous IP address lookup architecture using Bloom filter requires a separate Bloom filter as well as a separate hash table in each prefix length, and hence it is not efficient in implementation complexity. To reduce the number of hash tables, it applies controlled prefix expansion, but prefix duplication is inevitable in the controlled prefix expansion. Previous parallel multiple-hashing architecture shows very good search performance since it performs parallel search on tables constructed in each prefix length. However, it also has high implementation complexity because of the parallel search structure. In this paper, we propose a new IP address lookup architecture using all-length Bloom filter and all-length multiple hash table, in which various length prefixes are accomodated in a single Bloom filter and a single multiple hash table. Hence the proposed architecture is very good in terms of implementation complexity as well as search performance. Simulation results using actual backbone routing tables which have $15000{\sim}220000$ prefixes show that the proposed architecture requires 1.04-1.17 memory accesses in average for an IP address lookup.

라우터의 포워팅 성능을 향상시키기 위해 많은 IP 주소 검색 알고리즘들이 연구되어 오고 있다. 기존에 제안된 블룸 필터를 이용한 IP 주소 검색 구조는 프리픽스 길이별로 블룸 필터 및 해시 테이블을 따로 가지고 있어 구현이 복잡하며, 프리픽스 길이 별 해시 테이블의 개수를 줄이기 위하여 프리적스의 복사가 불가피한 단점을 지닌다. 멀티 다중 해시 테이블을 이용한 병렬 해싱 구조는 프리픽스의 길이별로 해시 테이블을 구성하고, 다중 해싱 함수를 사용하여 모든 프리픽스 길이에 대하여 병렬 검색하는 구조로서 검색 성능이 뛰어나나 병렬 검색 구조이므로 구현이 또한 복잡하다. 본 논문에서는 단일 블룸 필터에 다양한 길이의 프리픽스를 모두 저장하는 통합 블룸 필터와 단일 테이블에 모든 길이의 프리픽스를 모두 저장하는 통합 다중-해시 테이블을 사용하여 구현이 간단하면서도 검색성능이 뛰어난 새로운 IP 주소 검색 구조를 제안한다. 실제 백본 라우터에서 쓰이는 데이타를 이용하여 시뮬레이션을 수행한 결과 $15000{\sim}220000$개의 엔트리를 갖는 라우팅 테이블에 대하여 평균 1.04-1.17번의 메모리 접근으로 IP 주소검색이 가능함을 보였다.

Keywords

References

  1. M.A. Ruiz-Sanchex, E.W. Biersack. and W. Dabbous, 'Survey and taxonomy of IP address lookup algorithms,' IEEE Network, pp. 8-23, March/April 2001 https://doi.org/10.1109/65.912716
  2. H. J Chao, 'Next generation routers,' Proc. of the IEEE, Vo1.90, No.9, pp, 1518-1558, Sep. 2002 https://doi.org/10.1109/JPROC.2002.802001
  3. S. Nilsson and G. Karlsson, 'IP address lookup using LC-tries,' IEEE Journal on Selected Area in Communication, Vol.17, pp. 1083-1092, June. 1999 https://doi.org/10.1109/49.772439
  4. Hyesook Lim and JuHyoung Mun, 'An efficient IP address lookup algorithm using a priority trie,' Proc. GLOBECOM 2006. pp.1-5
  5. N. Yazdani and P. S. Min, 'Fast and scalable schemes for the IP address lookup problem,' Proc. IEEE HPSR2000, pp, 83-92
  6. Changhoon Yim, Borni Lee, and Hyesook Lim, 'Efficient binary search for IP address lookup,' IEEE Communications Letters, Vol.9, No.7, pp. 652-654, Jul. 2005 https://doi.org/10.1109/LCOMM.2005.1461694
  7. B. Lampson, V. Srinivasan, and G. Varghese, 'IP lookups using multiway and multicolumn search,' IEEE/ACM Trans. Networking, Vol.7, No.3, pp. 324-334, Jun. 1999 https://doi.org/10.1109/90.779199
  8. Hyesook Lim, Ji-Hyun Seo, and Yeo-Jin Jung, 'High speed IP address lookup architecture using hashing,' IEEE Communications Letters, Vol.7, No.10, pp. 502-504, October 2003 https://doi.org/10.1109/LCOMM.2003.818885
  9. Andrei Broder and Michael Mitzenmacher, 'Using multiple hash functions to improve IP lookups,' Proc. IEEE Infocom 2001, Vol.3, pp. 1454-1463
  10. Hyesook Lim and Yeojin Jung, 'A parallel multiple hashing architecture for IP address lookup,' Proc. HPSR 2004, pp. 91-95
  11. Sarang Dharmapurikar, Praveen Krisharnurthy, and David E. Taylor, 'Longest prefix matching using bloom filters,' IEEE/ACM Transactions on Networking, Vol.14, No.2, pp. 397-409, April 2006 https://doi.org/10.1109/TNET.2006.872576
  12. Jahangir Hasan, Srihari Cadambi, Venkatta Iakkula, and Srimat Chakradhar, 'Chisel: A storageefficient, collision-free hash-based network processing Architecture,' Proc. ISCA 2006. pp.203-215 https://doi.org/10.1109/ISCA.2006.14
  13. http://www.potaroo.net