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