FlashTrie: beyond 100-Gb/s IP route lookup using hash-based prefix-compressed trie

  • Authors:
  • Masanori Bando;Yi-Li Lin;H. Jonathan Chao

  • Affiliations:
  • Department of Electrical and Computer Engineering, Polytechnic Institute of New York University, Brooklyn, NY;Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan, Taiwan;Department of Electrical and Computer Engineering, Polytechnic Institute of New York University, Brooklyn, NY

  • Venue:
  • IEEE/ACM Transactions on Networking (TON)
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is becoming apparent that the next-generation IP route lookup architecture needs to achieve speeds of 100 Gb/s and beyond while supporting IPv4 and IPv6 with fast real-time updates to accommodate ever-growing routing tables. Some of the proposed multibit-trie-based schemes, such as TreeBitmap, have been used in today's high-end routers. However, their large data structures often require multiple external memory accesses for each route lookup. A pipelining technique is widely used to achieve high-speed lookup with the cost of using many external memory chips. Pipelining also often leads to poor memory load-balancing. In this paper, we propose a new IP route lookup architecture called FlashTrie that overcomes the shortcomings of the multibit-trie-based approaches. We use a hash-based membership query to limit off-chip memory accesses per lookup and to balance memory utilization among the memory modules. By compacting the data structure size, the lookup depth of each level can be increased. We also develop a new data structure called Prefix-Compressed Trie that reduces the size of a bitmap by more than 80%. Our simulation and implementation results show that FlashTrie can achieve 80-Gb/s worst-case throughput while simultaneously supporting 2 M prefixes for IPv4 and 318 k prefixes for IPv6 with one lookup engine and two Double-Data-Rate (DDR3) SDRAM chips. When implementing five lookup engines on a state-of-the-art field programmable gate array (FPGA) chip and using 10 DDR3 memory chips, we expect FlashTrie to achieve 1-Gpps (packet per second) throughput, equivalent to 400 Gb/s for IPv4 and 600 Gb/s for IPv6. FlashTrie also supports incremental real-time updates.