Efficient prefix updates for IP router using lexicographic ordering and updateable address set
description
Transcript of Efficient prefix updates for IP router using lexicographic ordering and updateable address set
1
Efficient prefix updates for IP router using lexicographic ordering and updateable
address set
Authors: Sieteng Soh, Lely Hiryanto and Surech
Publisher: IEEE Transactions on Computer, 2008
Present: Chen-Yu Lin
Date: Feb,25, 2009
Notations and background
Notations :• A routing table T contains a list of pairs T = (p, h).
• Assume that T contains a pair (ε,hε) (the default next-hop interface). A table T is sorted in decreasing lexicographic order. <T1 ,T2 ,…,Tn >.
• Ti precedes Tj if and only if i < j and pj is lexicographically in lower order than pi .
• pi > pj , if• 1. pj = prefix(pi)
• 2. for some value of 0 < k ≤ min(|pi|,| pj |), the first k-1 bits of the two prefix agree, but the kth bit of pi (=1) is larger than the kth bit of pj(=0).
2
Notations and background
Given a routing table T, construct a next-hop array (NHA) of size 2w *1.
3
Note:NHA could solve the IP lookup problem in 1 MA.
Notations and background
The FEC (full expansion/compression) techniques• [2] propose an FEC structure that is comprised of a 2D NHA (called table F).• A 32-bit address X=a.b.c.d is split into Xr
0 = a.b and Xcr = c.d
• In this scheme, the lookup for X is in 3 MAs.• However, a prefix update on this scheme is difficult.
4
Notations and background
The CNHA/CWA (Compressed next hop array/code word array) scheme• This scheme split each IP address X=a.b.c.d into a segment a.b and an offset c.d • [5] proposed using a ST(Segment Table) with 216 entries, each of which stores
either a next hop or a pointer to an associated NHA (with 216 entries contains next hop).
• [5] took advantage of the distribution of the prefixes within a segment to reduce the size of its NHA so that the size depends on the length of the longest prefix in the segment 16 < l ≤ 32.
• Each entry in ST contains a 28-bit pointer or a 28-bit next hop and a 4-bit offset length k.
5
offset
Goals of paper
In this paper, we propose a faster algorithm for constructing RLE sequences and an efficient unification technique for reducing the FEC construction time.
In this paper, we propose the use of lexicographically decreasing ordered prefixes to construct the CNHA and CWA structure for a given segment in O(m) time. In addition, using the updateable address set concept, we propose a technique to enable the CNHA/CWA scheme for online prefixes updates.
6
Updates using Lexicographic ordered prefix
7
Aggregated IP addresses of a prefix pq
Lowest address in Aq
Highest address in Aq
Some properties of lexicographic ordered prefixes.
Property 1. Property 2. Property 3.
A sequence of prefixes sorted in decreasing lexicographic order
Updates using Lexicographic ordered prefix
Ti = (pi, hi). A segment q, denoted by ST[q] or STq , contains:
• The length of longest prefixes in ST[q] , l = max(lj).
• A list of triples STjq = (subprefix spj, prefix length lj ≤ 32, next hop hj).
Each Ti with |pi|≥ 16• Represented in a segment ST[q = (pi )0
16 ] by a triple
Each Ti with |pi|< 16• Needs to be expanded into a set • Represented as a triple (0.0, | pi |, hj) in 216-|p
i|
8
Updates using Lexicographic ordered prefix
Some examples: • T = 200.27.240/20/B
• Represented in segment ST[200.27] as a triple (240.0, 20, B).• T = 200.27/16/C
• Represented in segment ST[200.27] as a triple (0.0, 16, C).• T = 200.24/14/C
• Represented in 4 segment ST[200.24], ST[200.25], ST[200.26], ST[200.27] as a triple (0.0, 14, C).
Letbe a sequence of triples (ssi, sei, hi)
9
Starting address Ending
address
Updates using Lexicographic ordered prefix
10
Updates using Lexicographic ordered prefix
Efficient RLE sequence generation• For each segment ST[q], we generate a set of sequences RLE[q] ; thus , for an ST,
we obtain a table RLE.• Each RLE[q] contains a sequence of RLEi
q = <starti, endi, hi>.
• 0 ≤ starti ≤ endi ≤ 216 -1.
• Note that we use this RLE table to construct the FEC and CNHA/CWA structures. As an example, consider ST[200.27].
11
111
Updates using Lexicographic ordered prefix
12
111
111
update
Updates using Lexicographic ordered prefix
Improved technique for FEC table construction.• Convert table RLE into the FEC structure.• Note that table RLE is equivalent to row R of the FEC structure, hence, its
conversion is straightforward.• The row compression steps for FEC can be directly processed by sequentially
deleting any duplicate RLEq and adjusting its corresponding pointer.
13
Updates using Lexicographic ordered prefix
[2] used a function so that each of the non-duplicate RLE sequences contains the same number of RLEs.
In this unification step, an RLEiq = <starti, endi, hi> may be expanded into
14
Updates using Lexicographic ordered prefix
15
Updates using Lexicographic ordered prefix
Improved technique for the CNHA/CWA construction.• First construct table ST. Let 0 ≤ l ≤ 32 be the length of the longest prefix in ST[q].• For l ≤ 16 : S[q] = h• For l > 16 : S[q].offset_length = l – 16 . We use the function below to construct a
CNHAq and CWAq from RLE[q].
16
Updates using Lexicographic ordered prefix
Example : consider RLE[200.27] in previous figure.
17
|RLE| = 6l = 20
For i = 0 :
CNHA[0] = Cstart0 = 0a0 = 0s0 = 0w0 = 0CWA[0].mapw = 1000000000000000CWA[1].base = 1
For i = 1 :
CNHA[1] = Astart1 = 16384a1 = 4s1 = 0w1 = 4CWA[0].mapw = 1000100000000000CWA[1].base = 2
Updates using Lexicographic ordered prefix
18
Updates using Lexicographic ordered prefix
19
Experimental results
Databases for test data
FEC table construction time
20
Experimental results Online prefix update time on DFEC
The CNHA/CWA construction time
21
Experimental results Online prefix update time for the CNHA/CWA scheme
22
23