Abstract
The primary function of the Internet routers is to forward incoming packets toward their final destinations. IP address lookup is one of the most important functions in evaluating router performance since IP address lookup should be performed in wire-speed for the hundred-millions of incoming packets per second. With CIDR, the IP prefixes of routing table have arbitrary lengths, and hence address lookup by exact match is no longer valid. As a result, when packets arrive, routers compare the destination IP addresses of input packets with all prefixes in its routing table and determine the most specific entry among matching entries, and this is called the longest prefix matching. In this paper, based on parallel multiple hashing and prefix grouping, we have proposed a hardware architecture which performs an address lookup with a single memory access.
라우터의 주요한 기능은 들어오는 패킷의 목적지 IP 주소를 참조하여 패킷을 최종 목적지를 향하여 내 보내는 것이다. 이것을 수행하기 위해서는 주소 검색 과정이 필요하며 이 작업은 모든 패킷에 대해 실시간으로 수행되어야 하므로 라우터의 성능을 결정하는 중요한 요소가 된다. 또한 CIDR(classless inter-domain routing) IP 주소 체계를 도입하게 되면서 라우터에서는 단순 exact 매치가 아니라 가능한 모든 프리픽스 중에 가장 길게 매치하는 프리픽스를 검색하는 longest prefix match가 필요하게 되었다. 이에 따라 IP 주소 검색을 위한 알고리즘 및 구조에 관한 연구가 널리 수행되고 있으며 본 논문에서는 병렬 복수 해슁 (parallel multiple hashing)과 프리픽스 그룹화 (prefix grouping)를 이용하여 한 번의 메모리 접근으로 IP 주소 검색을 수행할 수 있는 효율적인 하드웨어 구조를 제안한다.