A trie merging approach with incremental updates for virtual routers

Virtual routers are increasingly being studied, as an important building block to enable network virtualization. In a virtual router platform, multiple virtual router instances coexist, each having its own FIB (Forwarding Information Base). In this context, memory scalability and route updates are two major challenges. Existing approaches addressed one of these challenges but not both. In this paper, we present a trie merging approach, which compactly represents multiple FIBs by a merged trie and a table of next-hop-pointer arrays to achieve good memory scalability, while supporting fast incremental updates by avoiding the use of leaf pushing during merging. Experimental results show that storing the merged trie requires limited memory space, e.g., we only need 10MB memory space to store the merged trie for 14 full FIBs from IPv4 core routers, achieving a memory reduction by 87% when compared to the total size of the individual tries. We implement our approach in an SRAM (Static Random Access Memory)-based lookup pipeline. Using our approach, an on-chip SRAM-based lookup pipeline with 5 external stages is sufficient to store the 14 full IPv4 FIBs. Furthermore, our approach can guarantee a minimum update overhead of one write bubble per update, as well as a high lookup throughput of one lookup per clock cycle, which corresponds to a throughput of 251 million lookups per second in the implementation.

[1]  Girija J. Narlikar,et al.  Fast incremental updates for pipelined forwarding engines , 2005, IEEE/ACM Transactions on Networking.

[2]  Raouf Boutaba,et al.  A survey of network virtualization , 2010, Comput. Networks.

[3]  Glen Gibb,et al.  NetFPGA—An Open Platform for Teaching How to Build Gigabit-Rate Network Switches and Routers , 2008, IEEE Transactions on Education.

[4]  Gaogang Xie,et al.  PEARL: a programmable virtual router platform , 2011, IEEE Communications Magazine.

[5]  Wladek Olesinski,et al.  Backlog Aware Low Complexity Schedulers for Input Queued Packet Switches , 2007 .

[6]  Viktor K. Prasanna,et al.  Towards Practical Architectures for SRAM-Based Pipelined Lookup Engines , 2010, 2010 INFOCOM IEEE Conference on Computer Communications Workshops.

[7]  Lixin Gao,et al.  Scalable network virtualization using FPGAs , 2010, FPGA '10.

[8]  Nick Feamster,et al.  SwitchBlade: a platform for rapid deployment of network protocols on programmable hardware , 2010, SIGCOMM '10.

[9]  Mark Handley,et al.  Towards high performance virtual routers on commodity hardware , 2008, CoNEXT '08.

[10]  Viktor K. Prasanna,et al.  A Memory-Balanced Linear Pipeline Architecture for Trie-based IP Lookup , 2007, 15th Annual IEEE Symposium on High-Performance Interconnects (HOTI 2007).

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

[12]  Gaogang Xie,et al.  A hybrid IP lookup architecture with fast updates , 2012, 2012 Proceedings IEEE INFOCOM.

[13]  George Varghese,et al.  Memory-efficient state lookups with fast updates , 2000, SIGCOMM.

[14]  Viktor K. Prasanna,et al.  Memory-efficient and scalable virtual routers using FPGA , 2011, FPGA '11.

[15]  V. Srinivasan,et al.  Fast address lookups using controlled prefix expansion , 1999, TOCS.

[16]  Viktor K. Prasanna,et al.  Towards On-the-Fly Incremental Updates for Virtualized Routers on FPGA , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.

[17]  Walid Dabbous,et al.  Survey and taxonomy of IP address lookup algorithms , 2001, IEEE Netw..

[18]  Viktor K. Prasanna,et al.  Multiroot: Towards Memory-Efficient Router Virtualization , 2011, 2011 IEEE International Conference on Communications (ICC).

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

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

[21]  Fang Hao,et al.  Building Scalable Virtual Routers with Trie Braiding , 2010, 2010 Proceedings IEEE INFOCOM.