High-Performance IPv6 Lookup with Real-Time Updates Using Hierarchical-Balanced Search Tree

Packet forwarding is the foundation of network communications. Internet routers forward packets by matching the packet destination address against the prefixes in the forwarding information base. Due to the emergence of cloud computing and network function virtualization, more and more applications require high-bandwidth low-latency IPv6 networks. However, most of the current IP lookup algorithms in practice are designed for IPv4 addresses and hard to scale to IPv6 addresses. In this paper, we first propose a novel data structure called hierarchical-balanced search tree (Hi-BST). The compact and scalable data structure built can be stored in on-chip memory. On the basis of Hi-BST, we present a fast IPv6 lookup algorithm and prefix update algorithms. In the worst case, our algorithm can achieve fast lookup and update with the time that is proportional to the logarithm of the number of prefixes. Experiments using real FIBs give an integrated evaluation. Compared with the state-of-the-art algorithms, our algorithm achieves a fast lookup with real-time updates, which is 1.33~6.78 times that of the comparison algorithms respectively. Moreover, Hi-BST saves 4.3%~79.0% memory footprint of the comparison algorithms respectively.

[1]  Cecilia R. Aragon,et al.  Randomized search trees , 2005, Algorithmica.

[2]  Sartaj Sahni,et al.  A B-tree dynamic router-table design , 2005, IEEE Transactions on Computers.

[3]  Gaogang Xie,et al.  Partial Order Theory for Fast TCAM Updates , 2018, IEEE/ACM Transactions on Networking.

[4]  Viktor K. Prasanna,et al.  Scalable Packet Classification on FPGA , 2012, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[5]  Anand Rangarajan,et al.  Algorithms for advanced packet classification with ternary CAMs , 2005, SIGCOMM '05.

[6]  T. V. Lakshman,et al.  Multilayer Packet Classification With Graphics Processing Units , 2016, IEEE/ACM Transactions on Networking.

[7]  George Varghese,et al.  Tree bitmap: hardware/software IP lookups with incremental updates , 2004, CCRV.

[8]  Hirochika Asai,et al.  Poptrie: A Compressed Trie with Population Count for Fast and Scalable Software IP Routing Table Lookup , 2015, SIGCOMM.

[9]  Kirill Kogan,et al.  General ternary bit strings on commodity longest-prefix-match infrastructures , 2017, 2017 IEEE 25th International Conference on Network Protocols (ICNP).

[10]  Qi Li,et al.  Guarantee IP lookup performance with FIB explosion , 2015, SIGCOMM 2015.

[11]  Miljenko Mikuc,et al.  DXR: towards a billion routing lookups per second in software , 2012, CCRV.

[12]  Bernhard Plattner,et al.  Scalable high speed IP routing lookups , 1997, SIGCOMM '97.

[13]  Yongqiang Xiong,et al.  ClickNP: Highly Flexible and High Performance Network Processing with Reconfigurable Hardware , 2016, SIGCOMM.

[14]  George Varghese,et al.  Multiway range trees: scalable IP lookup with fast updates , 2001, GLOBECOM'01. IEEE Global Telecommunications Conference (Cat. No.01CH37270).

[15]  Haoyu Song,et al.  Fast hash table lookup using extended bloom filter: an aid to network processing , 2005, SIGCOMM '05.

[16]  Lih-Chyau Wuu,et al.  A longest prefix first search tree for IP lookup , 2005, IEEE International Conference on Communications, 2005. ICC 2005. 2005.

[17]  Fang Hao,et al.  IPv6 Lookups using Distributed and Load Balanced Bloom Filters for 100Gbps Core Router Line Cards , 2009, IEEE INFOCOM 2009.

[18]  Gaogang Xie,et al.  A Hybrid Hardware Architecture for High-Speed IP Lookups and Fast Route Updates , 2014, IEEE/ACM Transactions on Networking.

[19]  Gang Wang,et al.  Towards Dynamic and Scalable High-Speed IP Address Lookup Based on B+ Tree , 2012, IEICE Trans. Inf. Syst..

[20]  Sarang Dharmapurikar,et al.  Longest prefix matching using bloom filters , 2006, IEEE/ACM Transactions on Networking.

[21]  Bo Sun,et al.  A High Performance IPv6 Flow Table Lookup Algorithm Based on Hash , 2016 .

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

[23]  Nick McKeown,et al.  Routing lookups in hardware at memory access speeds , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[24]  Kirill Kogan,et al.  SAX-PAC (Scalable And eXpressive PAcket Classification) , 2015, SIGCOMM 2015.