Abstract
IP address lookup of router searches and decide proper output link using destination address of IP packet that arrie into router. The IP address lookup is essential part in te development of high-speed router needed to high-speed backbone network as one of bottleneck of router performance. This paper introduces DTC data structure that can support gigabit IP address lookup by dynamic trie compression technique that just uses small memory in conventional Pentium CPU. When make a forwarding table by trie compression, the DTC can dynamically select a size of data structure with considering correlation between table's size and searching speed. Also, when compress the prefix trie, DTC makes IP address lookup on the forwarding table of a search on the high speed SRAM cache by minimizing the size of data structure reflecting the structure of the trie. In the experiment result, the DTC data structure recorded performance of maximum $12.5{\times}10^5$ LPS (lookup per second) in conventional Pentium CPU through a dynamic building of most suitable compression over variety of routing tables.
리우터의 IP 주소검색은 라우터에 도착한 IP 패킷의 목적지 주소를 이용하여 적절한 출력링크를 검색하고 결정하는 것이다. IP 주소검색은 라우터 성능의 병목지점 중의 하나로써 고속 백본망에 필요한 초고속 라우터 개발에 필수적인 부분이다. 본 논문은 보통의 펜티엄 CPU에서 능동적인 트라이(Trie) 압축기법을 이용하여 작은 메모리만으로 기가비트급 IP 주소검색을 실시할 수 있는 동적 트라이 압축(Dynamic Trie Compression) 자료구조를 소개한다. DTC 자료구조는 트라이를 압축하여 포워딩 테이블을 만들 때 테이블의 크기와 검색속도의 상관관계를 고려하여 능동적으로 테이블의 크기를 선태할 수 있다. 또한 트라이를 압축할 때 트라이의 구조를 반영하여 자료구조의 크기를 최소화함으로써 포워딩 테이블에 대한 IP 주소검색이 고속의 SRAM 캐시 검색이 되도록 한다. 실험결과에서 DTC 자료구조는 다양한 라우팅 테이블에 대해 능동적으로 최적의 압축을 제공함으로써 보통의 펜티엄 CPU에서 최대 $12.5{\times}10^5$ LPS(Lookup per second)를 기록하였다.