IPv6 주소 검색을 위한 블룸 필터를 사용한 레벨에 따른 이진 검색 구조

Binary Search on Levels Using Bloom filter for IPv6 Address Lookup

  • 박경혜 (이화여자대학교 SoC Design Lab.) ;
  • 임혜숙 (이화여자대학교 SoC Design Lab.)
  • 발행 : 2009.04.30

초록

IPv6는 32 비트를 갖는 IPv4의 주소 공간 부족 문제를 해결하기 위하여 제안된 새로운 IP주소 체계로서 128비트를 갖는다. 그러므로 IPv6의 라우팅 테이블을 트라이 구조에 저장한다고 가정할 때, IPv4에 비해 매우 많은 레벨이 존재하게 된다. 따라서 IPv6 주소 검색을 위해서는 트라이 레벨에 따른 선형 검색보다 레벨에 따른 이진 검색 구조가 적합하며, 검색 성능이 더 우수하다는 장점이 있다. 본 논문에서는 IPv6를 위한 트라이 레벨에 따른 새로운 이진 검색 알고리즘을 제안한다 본 논문에서 제안하는 구조는 레벨에 따른 이진 검색의 수행 시 통합 블룸 필터를 사용하여 노드가 존재하지 않는 레벨을 미리 걸러주는 방법을 통하여 외부 메모리 접근 횟수를 줄인다. 실제 라우터에서 사용하는 IPv6 라우팅 데이터를 사용하여 시뮬레이션을 수행하였으며, 1096개의 엔트리를 갖는 라우팅 테이블에 대하여 평균 $1{\sim}3$의 메모리 접근을 통하여 IPv6 주소 검색이 가능함을 보았다.

IP version 6 (IPv6) is a new If addressing scheme that has 128-bit address space. IPv6 is proposed to solve the address space problem of IP version 4 (IPv4) which has 32-bit address space. For a given IPv6 routing set, if a forwarding table is built using a trio structure, the trio has a lot more levels than that for IPv4. Hence, for IPv6 address lookup, the binary search on trio levels would be more appropriate and give better search performance than linear search on trio levels. This paper proposes a new IPv6 address lookup algorithm performing binary search on trio levels. The proposed algorithm uses a Bloom filter in pre-filtering levels which do not have matching nodes, and hence it reduces the number of off-chip memory accesses. Simulation has been performed using actual IPv6 routing sets, and the result shows that an IPv6 address lookup can be performed with 1-3 memory accesses in average for a routing data set with 1096 prefixes.

키워드

참고문헌

  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
  2. H. J. Chao, 'Next generation routers,' Proc. of the IEEE, vol.90, no.9, pp.1518-1558, Sep. 2002 https://doi.org/10.1109/JPROC.2002.802001
  3. M. Waldvogel, G. Varghese, J. Turner, and B. Plattner, 'Scalable high speed IP routing lookups', in Proc. ACM SIGCOMM Conf., Cannes, France, pp.25-35, 1997
  4. N. Yazdani and P. S. Min, 'Fast and scalable schemes for the IP address lookup problem,' Proc. IEEE HPSR2000, pp. 83-92
  5. Priyank Warkhede, Subhash Suri, and George Varghese. 'Multiway range trees: scalable IP lookup with fast updates,' Computer Networks, pp. 289-303, 2004
  6. 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
  7. Andrei Broder and Michael Mitzenmacher, 'Using multiple hash functions to improve IP lookups,' Proc. IEEE Infocom 2001, vol.3, pp. 1454-1463
  8. Hyesook Lim and Yeojin Jung, A parallel multiple hashing architecture for IP address lookup, Proc. HPSR 2004, pp. 91- 95
  9. 박경혜, 임혜숙, 'IP 주소 검색에서 블룸 필터를 사용한 다중 해싱 구조,' 정보과학회논문지: 데이타베이스, 제 36권 제 2호, pp. 84-98, 2009.4
  10. Sarang Dharmapurikar, Praveen Krishamurthy, 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
  11. Jahangir Hasan, Srihari Cadambi, Venkatta Jakkula, and Srimat Chakradhar, 'Chisel: A storage-efficient, collision-free hash-based network processing Architecture,' Proc. ISCA 2006. pp. 203-215
  12. Alagukonar Ganapathy Alagupriya, 'Packet Classification Algorithms Using Bloom Filters', 이화여자대학교 대학원 2008년도 석사학위 청구논문
  13. Yiu Keung Li and Derek Pao, 'Comparative Studies of Address Lookup Algorithms for IPv6,' Proc. ICACT 2006, pp.285-290, Feb 2006
  14. S. M. Yong and H. T. Ewe, 'Robust Routing Table Design for IPv6 Lookup,' Proc. ICITA'05, 2005
  15. Rich Seifert, 'The Switch book,' Wiley, 2000
  16. Raj Jain, 'Comparison of Hashing Schemes for Address Lookup in Computer Networks,' in IEEE Transactions on Communications, 1989
  17. IPv6 Operational Report. http://net-stats.ipv6.tilab.com/bgp/bgp-table-snapshot.txt/, June 2008