Overlapping Hash Trie: A Longest Prefix First Search - CSIE -NCKU

Overlapping Hash Trie:
A Longest Prefix First Search
Scheme for IPv4/IPv6 Lookup
Author: Qiong Sun, Zhenqi_ng Li, Yan Ma
Publisher: Communication Tecnology, 2006.
ICCT ’06. Iternational Conference on
Presenter: Chen-Yu Chang
Outline

Related work

Introduction

OHT of IPv4/IPv6
 OHT construction
 Prefixs of corresponding data structure
 Important parameters
 IP lookup in OHT
 OHT updating operation

Performance evaluation
Related work

LPFST

Puts the routing entry with longer prefix on the upper
level of the tree

This scheme can stop immediately as matching
Outline

Related work

Introduction

OHT of IPv4/IPv6
 OHT construction
 Prefixs of corresponding data structure
 Important parameters
 IP lookup in OHT
 OHT updating operation

Performance evaluation
Introduction

Although LPFST scheme can stop immediately when
meeting a match, the bottleneck that choosing the entry
in numerous long-prefixes within a few memory
accesses is still unsettled and so that increased
performance from LPFS is very limited compared to
SPFS scheme.

OHT can not only find out the longest matching prefix
within a great many long-prefixes immediately taking
advantage of hash, but can also support fast update.
Outline

Related work

Introduction

OHT of IPv4/IPv6
 OHT construction
 Prefixs of corresponding data structure
 Important parameters
 IP lookup in OHT
 OHT updating operation

Performance evaluation
OHT construction(1/8)
According to the routing table, we created a
binary trie as follow.
A
B
C
D
E
F
G
H
I
J
OHT construction(2/8)
There is no prefix shorter than 2 in the routing table.
so we firstly constructed a segment at length 2 .
(SL for segment- length).
Segment
A
B
C
D
E
F
G
H
I
J
OHT construction(3/8)
Secondly, we carve out a two stride sub-trie
between length 3(TSL for trie start_length)
and 4(TEL for trie end length)
Sub-trie
A
B
C
D
E
F
G
H
I
J
OHT construction(4/8)
Overlap the next two-stride prefixes of length 5 and 6 on
its own sub-trie. As it is a longest prefix first search scheme,
we overlap the prefixes of length 6 on trie length(TL) 3
(say prefix G overlap on D) and the ones of length 5 on TL
4 ( F overlap on the node under C).
A
Overlapping
B
C
D
E
F
G
H
I
J
OHT construction(5/8)
Finally, we put prefixes longer than 6(TEL) in hash
tables overlapping on segment.
Overlapping
A
B
C
D
E
F
G
H
I
J
OHT construction(6/8)
As one segment node can have more than one length,
we introduce another structure: hash index link to indicate
the length of its hash table and they are organized
in length-descending order.
Index
A
B
C
D
7
E
7
F
8
G
H
I
J
OHT construction(7/8)
Data Structure of OHT developed from ordinary trie.
I
7
Hash table
I
J
H
7
8
7
Hash index
Segment
A
Sub-trie
B
C
F
D
G
E
OHT construction(8/8)

We should keep in mind that every TL is overlapped by the long-prefixes
with fixed corresponding length (CL), for instance, CL3 is 6 on TL3 and
CL4 is 5 on TL4, and they has the following equation:
( CLn = 2*TEL + 1 – TLn)
I
J
H
7
8
7
A
B
C
F
5 = CL3 = 2*4+1-4
D
G
E
6 = CL3 = 2*4+1-3
Prefixs of corresponding data structure

In conclusion, we classify all the prefixes into 4
categories based on their lengths and every class has its
data structure to deal with (summarized in tablel).
Important parameters(1/3)

For the routing table in above example, the parameters
like SL, TSL, TEL can be chosen easily, but for real
routing table, these parameters should be defined based
on the analysis of real routing table. The conclusion of
prefix distribution is summarized in table2.
Important parameters(2/3)

In accordance, we choose these
parameters with the following guidelines:

1. SL should be the length less than which there are no prefixes.
Only in this way can a segment be formed without prefixexpansion.

2. CLTSL should be the length greater than which there are few
distinct length prefixes, so that the length of hash index link on
segment will not be long.
Important parameters(3/3)

The table3 shows these parameters we
choose for IPv4 and IPv6.
IP lookup in OHT



Ex1:11101101
Ex2:00110001
Ex3:10001010
0010001*
11101100
I
J
H
7
8
7
00*
A
10*
C
F
00100*
001*
100*
D
1110110*
B
G
100010*
E
1110*
OHT updating operation

while for deleting or modifying, we could
execute the similar algorithm of insert(x,
length) to find the node and change the next
hop information either to a default one or to
the modified one. It is quite simple and
flexible.
Outline

Related work

Introduction

OHT of IPv4/IPv6
 OHT construction
 Prefixs of corresponding data structure
 Important parameters
 IP lookup in OHT
 OHT updating operation

Performance evaluation
Performance comparision of IPv4