A Bit-Map Trie for the High-Speed Longest Prefix Search of IP Addresses

고속의 최장 IP 주소 프리픽스 검색을 위한 비트-맵 트라이

  • Published : 2003.04.01

Abstract

This paper proposes an efficient data structure for forwarding IPv4 and IPv6 packets at the gigabit speed in backbone routers. The LPM(Longest Prefix Matching) search becomes a bottleneck of routers' performance since the LPM complexity grows in proportion to the forwarding table size and the address length. To speed up the forwarding process, this paper introduces a data structure named BMT(Bit-Map Tie) to minimize the frequent main memory accesses. All the necessary search computations in BMT are done over a small index table stored at cache. To build the small index table from the tie representation of the forwarding table, BMT represents a link pointer to the child node and a node pointer to the corresponding entry in the forwarding table with one bit respectively. To improve the poor performance of the conventional tries when their height becomes higher due to the increase of the address length, BMT adopts a binary search algorithm for determining the appropriate level of tries to start. The simulation experiments show that BMT compacts the IPv4 backbone routers' forwarding table into a small one less than 512-kbyte and achieves the average speed of 250ns/packet on Pentium II processors, which is almost the same performance as the fastest conventional lookup algorithms.

본 논문은 IPv4와 IPv6을 지원하는 라우터에서 기가비트의 속도로 포워딩 검색을 수행하는 효율적인 포워딩 테이블 구조를 제안한다. 포워딩 검색은 최장 프리픽스 일치검색, LPM(Longest Prefix Matching)의 복잡도가 포워딩 테이블 및 주소크기에 따라 증가하여 라우터 성능의 병목지점으로 알려져 있다. 포워딩 검색의 고속화를 위해 본 논문에서는 빈번한 메모리 접근을 최소화할 수 있는 BMT(Bit-Map Trie) 자료구조를 소개한다. BMT 포워딩 검색은 필요한 모든 검색연산이 캐쉬에 저장된 소형 인덱스 테이블에서만 발생한다. 포워딩 테이블의 트라이로부터 소형 인덱스 테이블을 구축하기 위해서 BMT는 차일드(child) 노드 포인터와 포워딩 테이블 엔트리에 대한 포인터를 각각 한 비트로 표현하는 비트-맵을 구성한다. 또한 IPv6와 같이 주소길이가 증가하면 트라이의 깊이가 깊어져서 전통적인 트라이 검색속도가 느려지는 문제점을 해결하기 위해서 BMT에서는 검색을 시작할 적절한 트라이의 레벨을 결정하는 이진검색 알고리즘을 사용한다. 실험 결과 BMT는 IPv4 백본 라우팅 테이블을 펜티엄-II 프로세서의 L2 캐쉬 크기인 512KB 보다 작게 압축하였으며, 최대 250ns/패킷의 검색속도를 제공하여 기존의 알려진 가장 빠른 최장 검색 알고리즘의 성능과 같은 속도를 실현하였다.

Keywords

References

  1. Peter Newman, Greg Minshall, and Larry Huston, 'IP Switching and Gigabit Routers,' IEEE Communications Magazine, January 1997 https://doi.org/10.1109/35.568212
  2. Keith Sklower, 'A Tree-Based Routing Table for Berkeley Unix,' Technical report, University of California, Berkeley
  3. David C. Feldmeier, 'Improving gateway performance with a routing-table cache,' In proceedings of IEEE Infocom'98, New Orleans, Louisiana, March 1998 https://doi.org/10.1109/INFCOM.1988.12930
  4. Anthony J. Bloomfeld NJ McAuley, Paul F. Lake Hopatcong NJ Tsuchiya, and Daniel V. Rockaway Township Morris Country NJ Wilson, 'Fast Mul-tilevel hierarchial routing table using content-addressable memory,' U.S. Patent serial number 034444
  5. P. Gupta, et al., 'Routing Lookups in Hardware at Memory Access Speeds,' In Proceedings of IEEE Infocom'98, San Francisco, April 1998 https://doi.org/10.1109/INFCOM.1998.662938
  6. A. Moestedt, et al., 'IP Address Lookup in Hardware for High-Speed Routing,' Hot Interconnects, August 1998
  7. Pinar A. Yilmaz, Andrey Belenkiy, Necdet Uzun, and Nitin Gogate, A Trie-based Algorithm for IP Lookup Problem, In Proceedings of Globecom'00, 2000 https://doi.org/10.1109/GLOCOM.2000.892085
  8. A. Brernler-Barr, Y. Afek, and S. Har-Peled, 'Routing with Clue,' In Proceedings of ACM SIGCOMM 99, Cambridge, September 1999
  9. E. Rosen, et al., 'Multiprotocol Label Switching Architecture,' ftp://ds.internic.net/internet-drafts/ draft-ietf-mpls-arch-07.txt, July 2000
  10. Yakov Rekhter et aI, 'Tag switching architecture overview, 'ftP://ds.internic.net/internet-drafts/draft-rfcedinfo-rekhter-00.txt, 1996
  11. Peter Newman, Tom Lyon, and Greg Minshall, 'Flow labeled IP: a connectionless approach to ATM,' In Proceedings of IEEE Infocom'96, San Francisco, California, March 1996 https://doi.org/10.1109/INFCOM.1996.493071
  12. Donald R. Morrison, 'PATRICIA-Practical Algorithm to Retrieve Information Coded In Alfanumeric,' journal of the ACM, 15(4):514-534, October 1968 https://doi.org/10.1145/321479.321481
  13. Mikael Degermark, Andrej Brodnik, Svante Carlsson, and Stephen pink, 'Small Forwarding Tables for Fast Routing Lookups,' In Proceedings of ACM SIGCOMM'97, October 1997 https://doi.org/10.1145/263105.263133
  14. B. Lampson, V. Srinivasan and G. Varghese, 'IP Lookups using Multiway and Multicolumn Search,' In Proceeding of INFOCOM'98, March 1998 https://doi.org/10.1109/INFCOM.1998.662939
  15. S. Venkatachary and G. Varghese, 'Faster IP Lookups using Controlled Prefix Expansion,' In Proceedings of ACM Sigmetrics'98, June 1998 https://doi.org/10.1145/277851.277863
  16. Marcel Waldvogel, George Varghese, Jon Turner, and Bernhard Plattner, 'Scalable High Speed IP Routing Lookups,' In Proceedings of ACM SIGCOMM'97, October 1997 https://doi.org/10.1145/263105.263136
  17. S. Nilsson and G. karlsson, 'Fast Address Look-Up for Internet Routers,' In Proceedings of IEEE Broadband Communications '98, April 1998
  18. T. Kijkanjanarat and H.J,Chao, 'Fast IP Lookups using a Two-Trie Data Structure,' In Proceedings of Globecom'99, 1999 https://doi.org/10.1109/GLOCOM.1999.830044
  19. S. Deering, and R. Hinden, 'Internet Protocol, Version 6 (IPv6) Specification,' IETF RFC 2460, December 1998
  20. www.intel.com/design/Pentiumll/
  21. 오승현, 안종석, '고속 라우터의 기가비트 포워딩 검색을 위한 비트-맵 트라이 구조', 정보과학회 논문지: 정보통신, 2001
  22. Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman, 'Data Structure and Algorithms,' Addison-Wesley, 1983
  23. Michigan University and merit Network, Internet Performance Management and Analysis (IPMA) project, http://nic.rnerit.edu/~ipma
  24. Y. Rekhter and T. Li. 'A Border Gateway Protocol 4 (BGP-4),' IETF RFC 1771, March 1995