초록
라우터는 입력되는 패킷을 인터넷 주소 검색을 통하여 패킷의 목적지로 향하는 포트로 포워딩하는 역할을 하는데, 입력되는 속도와 같은 속도로 패킷을 포워딩하기 위해서는 매우 빠른 검색을 제공할 필요가 있다. 본 논문에서는 이진 검색을 이용한 IP 주소 검색구조에 대해 연구하였다. 대부분의 이진 검색 알고리즘들은 균형 이진 검색을 진행하지 않아 과도한 메모리 접근을 야기함으로써 검색속도가 느린 단점이 있다. 한편 영역분할을 이용한 이진 검색 알고리즘은 매우 빠른 검색 성능을 보이지만, 메모리 요구량이 크다는 단점이 있다. 본 논문에서는 영역분할 이진 검색에서 불필요한 엔트리와 항목을 삭제함으로써 라우팅 테이블의 크기를 최적화하여 메모리 요구량을 감소시키는 방법에 대하여 연구하였다. 이러한 최적화를 통하여 프리픽스의 개수와 비슷하거나 적은 수의 엔트리를 갖는 영역분할 이진 검색 라우팅 테이블을 구성할 수 있음을 보였다. 실제 사용되는 다양한 크기의 라우팅 테이블을 이용하여 영역분할 이진 검색의 원래 구조와 최적화된 구조의 검색 성능을 비교하였으며, 다른 여러가지 이진 검색 알고리즘과의 성능을 비교하였다.
Internet routers forward an incoming packet to an output port toward its final destination through IP address lookup. Since each incoming packet should be forwarded in wire-speed, it is essential to provide the high-speed search performance. In this paper, IP address lookup algorithms using binary search are studied. Most of the binary search algorithms do not provide a balanced search, and hence the required number of memory access is excessive so that the search performance is poor. On the other hand, binary-search-on-range algorithm provides high-speed search performance, but it requires a large amount of memory. This paper shows an optimized binary-search-on-range structure which reduces the memory requirement by deleting unnecessary entries and an entry field. By this optimization, it is shown that the binary-search-on-range can be performed in a routing table with a similar or lesser number of entries than the number of prefixes. Using real backbone routing data, the optimized structure is compared with the original binary-search-on-range algorithm in terms of search performance. The performance comparison with various binary search algorithms is also provided.