IP Address Lookup using Segment Trees

세그먼트 트리를 이용한 IP 주소 검색

  • Published : 2001.12.01

Abstract

The IP address lookup problem is to find the longest matching IP prefix for a given IP address from the routing table and has been a central bottleneck in speeding up the Internet. In this paper, we propose a new algorithm for this problem based on the segment tree data structure. Given n IP prefixes, our algorithm can do IP address in Ο(log n) time. It also handles the insertion and deletion of IP prefixes efficiently without rebuilding the total data structure.

IP 주소 검색 문제는 IP 주소에 대해서 매칭되는 길이가 가장 IP 접두사를 라이팅 테이블로부터 찾는 것으로서, 인터넷의 고속화에 장애가 되어 왔다. 본 논문에서는 세그먼트 트리라는 자료 구조를 이용하여 이 문제에 대한 새로운 알고리즘을 제시한다. 본 논문에서는 제시하는 알고리즘은 n개의 접두사가 주어졌을 때 Ο(log n) 시간에 IP 접두사를 검색할 수 있다. 또 기존의 알고리즘에서 문제가 되었던 IP 접두사의 삽입과 삭제 연산을 자료 구조 전체를 다시 만들지 않고 효율적으로 처리한다.

Keywords

References

  1. V. Fuller. T. Li, J. Yu and K. Vardhan, Classless Inter-domain Routing(CIDR): An Address Assignment and Aggregation Strategy, RFC 1519, 1993
  2. Internet Performance Measurement and Analysis Project(IPMA). http://unnuimerit.edu/ipma
  3. C. Labovitz, G. Malan and F. Jahanian. Internet Routing Instability. ACM SIGCOMM 97, 1997 https://doi.org/10.1145/263105.263151
  4. S. Deering and R. Hinden. Internet Protocol, Version 6(IPv6), RFC 1883, 1996
  5. R. Sedgewick. Algorithms in $C^{++}$. Addison-Wesley, 1992
  6. A. McAulcy and P. Francis. Past Routing Table Lookup Using CAMs. IEEE INFOCOM 93, 1993 https://doi.org/10.1109/INFCOM.1993.253403
  7. T. Pei and C. Zukowski. Putting Routing Tables in Silicon. IEEE Network magazine, January 1992 https://doi.org/10.1109/65.120723
  8. M. Waldvogel, G. Varghese, J. Turner and B. Plattner, Scalable High Speed IP Routing Lookups. ACM SIGCOMM 97, 1997 https://doi.org/10.1145/263105.263136
  9. V. Srinivasan and G. Varghese. Faster IP Lookups Using Controlled Prefix Expansion. ACM SIGMETRICS 98, 1998 https://doi.org/10.1145/277851.277863
  10. B. Lampson, V. Srinivasan and G. Varghese. IP Lookups Using Multiway and Multicolumn Search. IEEE INFOCOM 98. 1998 https://doi.org/10.1109/INFCOM.1998.662939
  11. A. Brodnik, S. Carlsson and M. Degermark, Small Forwarding Tables for Fast Routing Lookups. ACM SIGCOMM 97, 1997 https://doi.org/10.1145/263105.263133
  12. S. Nilsson and G. Karlsson. Fast Addresss Lookup for Internet Routers. IEEE Broadband Communications, 1998
  13. P. Crescenzi, L. Dardini and R Grossi. IP Address Lookup Made Fast and Simple. ESA 99, 1999
  14. F. P. Preparata and M. L Shames. Computational Geometry-An Introduction. Springer-Verlag, 1995
  15. J. L. Bentley and D. Wood, An Optimal Worst Case Algorithm for Reporting Intersections of Rectangles, IEEE Transactions on Computers, 29(7):571-576, July 1980 https://doi.org/10.1109/TC.1980.1675628
  16. T. H. Cormen, C. E. Leiserson and R. L. Rivest, Introduction to Algorithms. MIT Press, 1990
  17. A. Anderson. General Balanced Trees. Journal of Algorithms, 30:1-18, 1999 https://doi.org/10.1006/jagm.1998.0967
  18. I. Galperin and R. L. Rivest. Scapegoat Trees. Proceedings of the fourth Annual ACM-SIAM Symposium on Discrete Algorithms, p. 165-174, 1993
  19. M. J. van Kreveld and M. H. Overmars, Union-Copy Structures and Dynamic Segment Trees. Journal of ACM, 40(3):635-652, July 1993 https://doi.org/10.1145/174130.174140
  20. K. Melhorn. Data Structures and Efficient Algorithms Vol. III: Multi-dimensional Searcning and Computational Geometry. Springer-Verlag, 1984