TY - JOUR
T1 - Helix
T2 - IP lookup scheme based on helicoidal properties of binary trees
AU - Rojas-Cessa, Roberto
AU - Kijkanjanarat, Taweesak
AU - Wangchai, Wara
AU - Patil, Krutika
AU - Thirapittayatakul, Narathip
N1 - Publisher Copyright:
© 2015 Elsevier B.V. All rights reserved.
PY - 2015/10/4
Y1 - 2015/10/4
N2 - In this paper, we propose an IP lookup scheme, called Helix, that performs parallel prefix matching at the different prefix lengths and uses the helicoidal properties of binary trees to reduce tree height. The reduction of the tree height is achieved without performing any prefix modification. Helix minimizes the amount of memory used to store long and numerous prefixes and achieves IP lookup and route updates in a single memory access. We evaluated the performance of Helix in terms of the number of memory accesses and amount of memory required for storing large IPv4 and IPv6 routing tables with up to 512,104 IPv4 and 389,956 IPv6 prefixes, respectively. In all the tested routing tables, Helix performs lookup in a single memory access while using very small memory amounts. We also show that Helix can be implemented on a single field-programmable gate array (FPGA) chip with on-chip memory for the IPv4 and IPv6 tables considered herein, without requiring external memory. Specifically, Helix uses up to 72% of the resources of an FPGA to accommodate the most demanding routing table, without performance penalties. The implementation shows that Helix may achieve lookup speeds beyond 1.2 billion packets per second (Gpps).
AB - In this paper, we propose an IP lookup scheme, called Helix, that performs parallel prefix matching at the different prefix lengths and uses the helicoidal properties of binary trees to reduce tree height. The reduction of the tree height is achieved without performing any prefix modification. Helix minimizes the amount of memory used to store long and numerous prefixes and achieves IP lookup and route updates in a single memory access. We evaluated the performance of Helix in terms of the number of memory accesses and amount of memory required for storing large IPv4 and IPv6 routing tables with up to 512,104 IPv4 and 389,956 IPv6 prefixes, respectively. In all the tested routing tables, Helix performs lookup in a single memory access while using very small memory amounts. We also show that Helix can be implemented on a single field-programmable gate array (FPGA) chip with on-chip memory for the IPv4 and IPv6 tables considered herein, without requiring external memory. Specifically, Helix uses up to 72% of the resources of an FPGA to accommodate the most demanding routing table, without performance penalties. The implementation shows that Helix may achieve lookup speeds beyond 1.2 billion packets per second (Gpps).
KW - Binary tree
KW - Double helix
KW - Helicoidal properties
KW - IP lookup
KW - IPv6 lookup
KW - One memory access
UR - http://www.scopus.com/inward/record.url?scp=84940399146&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84940399146&partnerID=8YFLogxK
U2 - 10.1016/j.comnet.2015.07.012
DO - 10.1016/j.comnet.2015.07.012
M3 - Article
AN - SCOPUS:84940399146
SN - 1389-1286
VL - 89
SP - 78
EP - 89
JO - Computer Networks
JF - Computer Networks
ER -