Binary Search Tree with Switch Pointers for IP Address Lookup

스위치 포인터를 이용한 균형 이진 IP 주소 검색 구조

  • 김형기 (이화여자대학교 대학원 전자정보통신학회) ;
  • 임혜숙 (이화여자대학교 전자정보통신학과)
  • Published : 2009.02.15

Abstract

Packet forwarding in the Internet routers is to find out the longest prefix that matches the destination address of an input packet and to forward the input packet to the output port designated by the longest matched prefix. The IP address lookup is the key of the packet forwarding, and it is required to have efficient data structures and search algorithms to provide the high-speed lookup performance. In this paper, an efficient IP address lookup algorithm using binary search is investigated. Most of the existing binary search algorithms are not efficient in search performance since they do not provide a balanced search. The proposed binary search algorithm performs perfectly balanced binary search using switch pointers. The performance of the proposed algorithm is evaluated using actual backbone routing data and it is shown that the proposed algorithm provides very good search performance without increasing the memory amount storing the forwarding table. The proposed algorithm also provides very good scalability since it can be easily extended for multi-way search and for large forwarding tables

인터넷 라우터에서의 패킷 포워딩은 라우팅 테이블에 저장되어 있는 다양한 길이의 프리픽스들 중, 입력된 패킷의 목적지 주소와 가장 길게 일치하는 프리픽스를 찾아 그 프리픽스가 지정하는 출력 포트로 입력된 패킷을 내 보내주는 일련의 과정을 말한다. 패킷 포워딩 속도의 관건은 IP 주소 검색 성능이라 할 수 있는데, 고속의 IP 주소 검색을 제공하기 위해서는 포워딩 테이블을 저장하기 위한 효율적인 데이타 구조 및 우수한 검색 알고리즘이 필수적이라 할 수 있다. 본 논문에서는 이진 검색 트리를 이용한 주소 검색 알고리즘에 주목한다. 기존에 나와 있는 모든 이진 검색 알고리즘은 균형 검색을 제공하지 못하여 효율적이지 못하고, 프리픽스 영역에 대한 이진 검색 알고리즘은 균형 검색을 제공하나 프리픽스 개수보다 많은 수의 포워딩 엔트리를 저장하여 또한 효율적이지 못하다. 본 논문에서는 효율적인 IP 주소 검색을 위하여 완전 균형 트리 구조를 만들어 이진 검색을 수행하는 알고리즘을 제안하고, 그 성능을 평가하여 기존의 다른 주소 검색 알고리즘과 비교한다. 성능 평가 결과 본 논문에서 제안하는 알고리즘은 메모리 요구량의 증가 없이 검색 속도가 매우 향상됨을 보았다.

Keywords

References

  1. H. J. Chao, "Next generation routers," Proceedingsof the IEEE, vo1.90, no.9, pp1518-1558, Sep. 2002 https://doi.org/10.1109/JPROC.2002.802001
  2. N. yazdani and P. S. Min, "Fast and scalableschemes for the IP address lookup problem," Proc.IEEE HPSR2000, pp.83-92, 2000
  3. C. Yim, B. Lee, and H. Lim, "Efficient binarysearch for IP address lookup," IEEE CommunimtionsLetters, vol.9, no.7, pp.652-654, Jul. 2005 https://doi.org/10.1109/LCOMM.2005.1461694
  4. H. Lim and J. Mun, "An efficient IP addresslookup algorithm using a priority-trie," Proc.IEEE Globecom2006, pp.1-5, Nov. 2006
  5. V. C. Raviknmar, R. Mahapatra, and J. Lin,"Modified LC-trie based efficient routing lookup,"Proc. MASCOTS2002, pp.177-182, Oct. 2002
  6. B. Lampson, V. Srinivasan, and G. Varghese, "IFlookups using multiway and multicolumn search,"IEEE/ACM Trnas Networking, vol.7, no.3, pp.324-334,Jun. 1999 https://doi.org/10.1109/90.779199
  7. http://www.potaroo.net