Towards Dynamic and Scalable High-Speed IP Address Lookup Based on B+ Tree

High-speed IP address lookup with fast prefix update is essential for designing wire-speed packet forwarding routers. The developments of optical fiber and 100 Gbps interface technologies have placed IP address lookup as the major bottleneck of high performance networks. In this paper, we propose a novel structure named Compressed Multi-way Prefix Tree (CMPT) based on B+ tree to perform dynamic and scalable high-speed IP address lookup. Our contributions are to design a practical structure for high-speed IP address lookup suitable for both IPv4 and IPv6 addresses, and to develop efficient algorithms for dynamic prefix insertion and deletion. By investigating the relationships among routing prefixes, we arrange independent prefixes as the search indexes on internal nodes of CMPT, and by leveraging a nested prefix compression technique, we encode all the routing prefixes on the leaf nodes. For any IP address, the longest prefix matching can be made at leaf nodes without backtracking. For a forwarding table with u independent prefixes, CMPT requires O(logm u) search time and O(m logm u) dynamic insert and delete time. Performance evaluations using real life IPv4 forwarding tables show promising gains in lookup and dynamic update speeds compared with the existing B-tree structures. key words: IP address lookup, forwarding table, longest prefix matching, dynamic update, B+ tree

[1]  Sun-Yuan Hsieh,et al.  Multiprefix Trie: A New Data Structure for Designing Dynamic Router-Tables , 2011, IEEE Transactions on Computers.

[2]  Gaogang Xie,et al.  Offset addressing approach to memory-efficient IP address lookup , 2011, 2011 Proceedings IEEE INFOCOM.

[3]  Ali Ghiasian,et al.  IP Lookup Using the Novel Idea of Scalar Prefix Search with Fast Table Updates , 2010, IEICE Trans. Inf. Syst..

[4]  Sangjin Han,et al.  PacketShader: a GPU-accelerated software router , 2010, SIGCOMM '10.

[5]  Hyesook Lim,et al.  Survey and proposal on packet classification algorithms , 2010, 2010 International Conference on High Performance Switching and Routing.

[6]  Hyesook Lim,et al.  Priority Tries for IP Address Lookup , 2010, IEEE Transactions on Computers.

[7]  H. Jonathan Chao,et al.  FlashTrie: Hash-based Prefix-Compressed Trie for IP Route Lookup Beyond 100Gbps , 2010, 2010 Proceedings IEEE INFOCOM.

[8]  W. Lu,et al.  Low-Power TCAMs for Very Large Forwarding Tables , 2010, IEEE/ACM Transactions on Networking.

[9]  Fang Hao,et al.  Scalable IP lookups using shape graphs , 2009, 2009 17th IEEE International Conference on Network Protocols.

[10]  Yung-Chieh Lin,et al.  A Fast and Memory Efficient Dynamic IP Lookup Algorithm Based on B-Tree , 2009, 2009 International Conference on Advanced Information Networking and Applications.

[11]  Jonathan S. Turner,et al.  ClassBench: A Packet Classification Benchmark , 2005, IEEE/ACM Transactions on Networking.

[12]  Sartaj Sahni,et al.  Prefix and interval-partitioned dynamic IP router-tables , 2005, IEEE Transactions on Computers.

[13]  F G4HIKJL,et al.  A B-Tree Dynamic Router-Table Design , 2005 .

[14]  Sartaj Sahni,et al.  Enhanced interval trees for dynamic IP router-tables , 2004, IEEE Transactions on Computers.

[15]  Sartaj Sahni,et al.  An O(logn) dynamic router-table design , 2004, IEEE Transactions on Computers.

[16]  George Varghese,et al.  Multiway range trees: scalable IP lookup with fast updates , 2004, Comput. Networks.

[17]  Haibin Lu,et al.  O(log n) dynamic router-tables for prefixes and ranges , 2004, IEEE Transactions on Computers.

[18]  Gunnar Karlsson,et al.  IP-address lookup using LC-tries , 1999, IEEE J. Sel. Areas Commun..

[19]  Yakov Rekhter,et al.  An Architecture for IP Address Allocation with CIDR , 1993, RFC.