Weighted Binary Prefix Tree for IP Address Lookup

IP 주소 검색을 위한 가중 이진 프리픽스 트리

  • 임창훈 (건국대학교 정보통신대학 인터넷미디어공학부) ;
  • 임혜숙 (이화여자대학교 공과대학 정보통신학과 SoC설계연구실) ;
  • 이보미 (건국대학교 정보통신대학 인터넷미디어공학부)
  • Published : 2004.11.01

Abstract

IP address lookup is one of the essential functions on internet routers, and it determines overall router performance. The most important evaluation factor for software-based IP address lookup is the number of the worst case memory accesses. Binary prefix tree (BPT) scheme gives small number of worst case memory accesses among previous software-based schemes. However the tree structure of BPT is normally unbalanced. In this paper, we propose weighted binary prefix tree (WBP) scheme which generates nearly balanced tree, through combining the concept of weight to the BPT generation process. The proposed WBPT gives very small number of worst case memory accesses compared to the previous software-based schemes. Moreover the WBPT requires comparably small size of memory which can be fit within L2 cache for about 30,000 prefixes, and it is rather simple for prefix addition and deletion. Hence the proposed WBPT can be used for software-based If address lookup in practical routers.

IP 주소 검색은 인터넷 라우터의 필수적인 기능의 하나로서, 라우터 전체의 성능을 결정하는 중요한 요소이다. 소프트웨어에 기반한 IP 주소 검색 방식의 성능 평가 기준 중 가장 중요한 것은 라우터의 처리 속도를 보장해 주는 의미를 갖는 최대 메모리 접근 횟수이다. 이진 프리픽스 트리 방식(BPT)은 최대 메모리 접근 횟수에 있어서 기존의 다른 소프트웨어에 기반한 방식 중 우수한 방식이지만, 트리의 구조가 불균형적이 되는 단점이 있다. 본 논문에서는 기존의 BPT 방식의 트리 생성 과정에 가중치 개념을 추가하여, 완전 균형 트리에 매우 근접하는 트리를 생성하는 가중 이진 프리픽스 트리 (WBPT) 방식을 제안한다. 제안하는 WBPT 방식은 기존의 소프트웨어에 근거한 방식들에 비교하여 최대 메모리 접근 횟수에 있어서 가장 적은 성능을 보인다. 또한 3만 개 정도의 프리픽스에 대해서 L2 캐쉬에 저장이 가능한 정도의 작은 메모리 크기를 요구하구 프리픽스의 추가, 삭제가 용이하므로 실제적인 라우터의 IP 검색을 위하여 사용될 수 있는 방식이다.

Keywords

References

  1. H.J. Chao, 'Next Generation Routers,' Proceedings of the IEEE, Vo1.90, No.9, pp.1518-1558, Sep, 2002 https://doi.org/10.1109/JPROC.2002.802001
  2. M.A. Ruiz-Sanchex, E.W. Biersack, and W. Dabbous, 'Survey and Taxonomy of IP Address Lookup Algorithms,' IEEE Network, pp.8-23, March/April 2001
  3. P. Gupta, S. Lin, and N. McKeown, 'Routing lookups in hardware at memory access speed,' Proc. IEEE INFOCOM'98, pp 1240-1247, ARP 1998
  4. Mohammad Peyravian, Gordon Davis, and Jean Calvignac, 'Search Engine Implications for Network Processor Efficiency,' IEEE Network, pp.12-20, July/August 2003
  5. M. Waldvogel, G. Varghese, J. Turner, and B. Plattner, 'Scalable High Speed IP Routing Lookups,' in Proc. ACM SIGCOMM'97 Conf., pp. 25-35, 1997
  6. 정여진, 이보미, 임혜숙, '복수의 해쉬 함수를 이용한 병렬 IP 어드레스 검색 구조,' 한국통신학회 논문지, 29권, 2B호, pp.158-166, 2004
  7. D. Yu, B. C. Smith, and B. Wei, 'Forwarding Engine for Fast Routing Lookups and Updates,' Proc.IEEE GLOBECOM'99, pp.1556-1564, 1999
  8. B. Lampson, V. Srinivasan, and G. Varghese, 'IP Lookups Using Multiway and Multicolumn Search', IEEE/ACM Transactions on Networking, pp 324-334, Vol.7, No.3, Jun. 1999 https://doi.org/10.1109/90.779199
  9. V. Srinivasan and G. Varghese, 'Faster IP Lookup using Controlled Preftx Expansion,' in Proc. ACM SIGMATICS'98, pp.1-1O, June 1998
  10. S. Nilsson and G. Karlsson, 'IP-Address Lookup using LC-tries,' IEEE Journal on Selected Area in Communication, Vol. 17, pp.1083-1092, June 1999 https://doi.org/10.1109/49.772439
  11. M. Degennark, A. Brodnik, S. Carlsson, and S. Pink, 'Small Forwarding Tables for Fast Routing Lookups,' Proc. ACM SIGCOMM, pp.3-14, 1997
  12. N. Yazdani and P. S. Min, 'Fast and Scalable Schemes for the IP Address Lookup Problem,' Proc. IEEE HPSR2000, pp 83-92, 2000
  13. H. Lim and B. Lee, 'A New Pipelined Binary Search Architecture for IP Address Lookup', Proc. IEEE HPSR2004, pp.86-90, Apr. 2004