Efficient Trie Braiding in Scalable Virtual Routers

Many popular algorithms for fast packet forwarding and filtering rely on the tree data structure. Examples are the trie-based IP lookup and packet classification algorithms. With the recent interest in network virtualization, the ability to run multiple virtual router instances on a common physical router platform is essential. An important scaling issue is the number of virtual router instances that can run on the platform. One limiting factor is the amount of high-speed memory and caches available for storing the packet forwarding and filtering data structures. An ideal goal is to achieve good scaling while maintaining total isolation among the virtual routers. However, total isolation requires maintaining separate data structures in high-speed memory for each virtual router. In this paper, we study the case where some sharing of the forwarding and filtering data structures is permissible and develop algorithms for combining tries used for IP lookup and packet classification. Specifically, we develop a mechanism called trie braiding that allows us to combine tries from the data structures of different virtual routers into just one compact trie. Two optimal braiding algorithms and a faster heuristic algorithm are presented, and the effectiveness is demonstrated using the real-world data sets.

[1]  Carsten Lund,et al.  Scalable VPN routing via relaying , 2008, SIGMETRICS '08.

[2]  Jing Fu,et al.  Efficient IP-address lookup with a shared forwarding table for multiple virtual routers , 2008, CoNEXT '08.

[3]  Stanley M. Selkow,et al.  The Tree-to-Tree Editing Problem , 1977, Inf. Process. Lett..

[4]  Haoyu Song,et al.  Shape shifting tries for faster IP route lookup , 2005, 13TH IEEE International Conference on Network Protocols (ICNP'05).

[5]  Nick McKeown,et al.  Algorithms for packet classification , 2001, IEEE Netw..

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

[7]  Nick Feamster,et al.  In VINI veritas: realistic and controlled network experimentation , 2006, SIGCOMM.

[8]  T. V. Lakshman,et al.  High-speed policy-based packet forwarding using efficient multi-dimensional range matching , 1998, SIGCOMM '98.

[9]  Chip Elliott,et al.  GENI - global environment for network innovations , 2008, LCN.

[10]  Stephen E. Deering,et al.  Non-random generator for IPv6 tables , 2004, Proceedings. 12th Annual IEEE Symposium on High Performance Interconnects.

[11]  Viktor K. Prasanna,et al.  Beyond TCAMs: An SRAM-Based Parallel Multi-Pipeline Architecture for Terabit IP Lookup , 2008, IEEE INFOCOM 2008 - The 27th Conference on Computer Communications.

[12]  Pankaj Gupta,et al.  Packet Classification using Hierarchical Intelligent Cuttings , 1999 .

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

[14]  Erik Nordmark,et al.  Basic Transition Mechanisms for IPv6 Hosts and Routers , 2005, RFC.

[15]  George Varghese,et al.  Faster IP lookups using controlled prefix expansion , 1998, SIGMETRICS '98/PERFORMANCE '98.

[16]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[17]  George Varghese,et al.  Packet classification using multidimensional cutting , 2003, SIGCOMM '03.

[18]  T. N. Vijaykumar,et al.  Dynamic pipelining: making IP-lookup truly scalable , 2005, SIGCOMM '05.

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

[20]  Jonathan S. Turner A proposed architecture for the GENI backbone platform , 2006, 2006 Symposium on Architecture For Networking And Communications Systems.

[21]  Patrick Crowley,et al.  CAMP: fast and efficient IP lookup architecture , 2006, ANCS '06.

[22]  Lixin Gao,et al.  How to lease the internet in your spare time , 2007, CCRV.

[23]  Wuu Yang,et al.  Identifying syntactic differences between two programs , 1991, Softw. Pract. Exp..

[24]  Gabriel Valiente,et al.  Algorithms on Trees and Graphs , 2002, Springer Berlin Heidelberg.

[25]  A. Myers,et al.  Global Environment for Network Innovations , 2005 .

[26]  Nick McKeown,et al.  Packet classification on multiple fields , 1999, SIGCOMM '99.

[27]  Svante Carlsson,et al.  Small forwarding tables for fast routing lookups , 1997, SIGCOMM '97.