1 / 23

Efficient prefix updates for IP router using lexicographic ordering and updateable address set

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 :

paloma
Download Presentation

Efficient prefix updates for IP router using lexicographic ordering and updateable address set

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  2. 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).

  3. Notations and background • Given a routing table T, construct a next-hop array (NHA) of size 2w *1. Note: NHA could solve the IP lookup problem in 1 MA.

  4. 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 Xr0 = 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.

  5. 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. offset

  6. 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.

  7. Updates using Lexicographic ordered prefix • Some properties of lexicographic ordered prefixes. • Property 1. • Property 2. • Property 3. Aggregated IP addresses of a prefix pq Lowest address in Aq Highest address in Aq A sequence of prefixes sorted in decreasing lexicographic order

  8. 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 )016 ] 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-|pi|

  9. 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). • Let be a sequence of triples (ssi, sei, hi) Starting address Ending address

  10. Updates using Lexicographic ordered prefix

  11. 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 RLEiq = <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]. 111

  12. Updates using Lexicographic ordered prefix 111 update 111

  13. 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.

  14. 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

  15. Updates using Lexicographic ordered prefix

  16. 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].

  17. Updates using Lexicographic ordered prefix • Example : consider RLE[200.27] in previous figure. |RLE|=6 l = 20 For i = 0 : CNHA[0] = C start0 = 0 a0 = 0 s0 = 0 w0 = 0 CWA[0].mapw = 1000000000000000 CWA[1].base = 1 For i = 1 : CNHA[1] = A start1 = 16384 a1 = 4 s1 = 0 w1 = 4 CWA[0].mapw = 1000100000000000 CWA[1].base = 2

  18. Updates using Lexicographic ordered prefix

  19. Updates using Lexicographic ordered prefix

  20. Experimental results • Databases for test data • FEC table construction time

  21. Experimental results • Online prefix update time on DFEC • The CNHA/CWA construction time

  22. Experimental results • Online prefix update time for the CNHA/CWA scheme

More Related