Dynamic IP RouterTables Using Highest Priority Matching - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Dynamic IP RouterTables Using Highest Priority Matching

Description:

The data structure binary tree on binary tree (BOB) comprises a single balanced ... Each range of R is stored in exactly one of the nodes of the PTST ... – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 23
Provided by: dun101
Category:

less

Transcript and Presenter's Notes

Title: Dynamic IP RouterTables Using Highest Priority Matching


1
Dynamic IP Router-Tables Using Highest Priority
Matching
  • Haibin Lu. Sartaj Sahni
  • Computers and Communications, 2004. Proceedings.
    ISCC 2004. Ninth International Symposium on
    , Volume 2 , 28 June-1 July 2004

2
Outline
  • Preliminaries
  • Nonintersecting Highest Priority Rule Tables
    (NHPRTs) BOB
  • Highest Priority Prefix Table (HPPTs) PBOB
  • Longest Matching Prefix Tables (LMPTS) LMPBOB
  • Experiment and conclusion

3
Preliminaries
  • Def1 Let ru, v and sx, y be two ranges. R
    and s are disjoint iff
  • rnsØ. R and s are nested iff one
    of the ranges is contained
  • within the other. r and s
    intersect iff r and s have a nonempty
  • intersection that is different
    from both r and s
  • Def2 The range set R is nonintersecting iff
    there is no pair of
  • ranges r and s ? R such that r
    and s intersect
  • Def3 Let R be a range set, ranges(d, R)(or
    simply ranges(d) when
  • R is implicit) is the subset of
    ranges of R that match the
  • destination address d. hpr(d) is
    the highest-priority range in
  • ranges(d)

4
Preliminaries
  • Def4 Let r and s be two ranges. rlts ? start(r)
    lt start(s) v
  • (start(r)start(s) ? finish(r) gt
    finish(s))
  • Lemma1 Let R be a nonintersecting range set. If
    rnsØ for r, s ? R ,
  • then the following are
    true
  • 1 start(r) lt start(s) gt finish(r)
    finish(s).
  • 2 finish(r) gt finish(s) gt start(r)
    start(s)

5
(NHPRTs) BOB (Data structure)
  • The data structure binary tree on binary tree
    (BOB) comprises a single balanced binary search
    tree at the top level
  • Top-level balanced binary search tree is called
    the point search tree (PTST)
  • Each node z of PTST, we associate a point,
    point(z). For every node z of PTST, node in the
    left subtree of z have smaller point values than
    point(z), and nodes in the right subtree of z
    have larger point values than point(z)

6
(NHPRTs) BOB (Data structure)
  • Let R be the set of nonintersecting ranges of the
    NHPRT.
  • Each range of R is stored in exactly one of the
    nodes of the PTST
  • The root of the PTST stores all ranges r ? R such
    that start(r) point(root) finish(r) all
    ranges r ? R such that finish(r) lt point(root)
    are stored in the left subtree of the root all
    ranges r ? R such that point(root) lt start(r) are
    stored in the right subtree of the root

7
(NHPRTs) BOB (Data structure)
8
(NHPRTs) BOB (Data structure)
  • The number inside each node is point(z), and the
    outside each node, we give ranges(z)

9
(NHPRTs) BOB (Data structure)
  • The ranges in ranges(z) may be ordered using the
    lt relation of Def4. Using this lt relation, we put
    the ranges of ranges(z) into a red-black tree
    called the range search-tree or RST(z)
  • Each node x of RST(z) stores exactly one range of
    ranges(z), we refer to this range as range(x)
  • Every node y in the left (right) subtree of node
    x of RST(z) has range(y) lt range(x) (range(y) gt
    range(x))

10
(NHPRTs) BOB (Data structure)
  • Each node x stores the quantity mp(x), which is
    the maximum of the priorities of the ranges
    associated with the nodes in the subtree rooted
    at x
  • When x is a leaf, mp(x) p(x), where
  • p(x) priority(range(x)),
  • and when x is not a leaf
  • mp(x) maxmp(leftchild(x)),
    mp(rightchild(x)), p(x)

11
(NHPRTs) BOB (Data structure)
12
(NHPRTs) BOB (Data structure)
  • Lemma 2
  • Let z be a node in a PTST and let x be a node
    in RST(z).
  • Let st(x) start(range(x)) and fn(x)
    finish(range(x))
  • 1 for every node y in the right subtree of x,
    st(y) st(x)
  • and fn(y) fn(x)
  • 2 for every node y in the left subtree of x,
    st(y) st(x)
  • and fn(y) fn(x)

13
(NHPRTs) BOB (search for hpr(d))
14
(NHPRTs) BOB (search for hpr(d))
15
(NHPRTs) BOB (insert a range)
16
(NHPRTs) BOB (complexity of BOB)
  • Lookup O(lognlogmaxR)
  • a destination address is matched by about 1
    prefix on average, the maximum number of prefixes
    that match a destination address is at most 6. we
    conclude that maxRlt6. so complexity of BOB on
    real router tables is O(logn) per operation
  • Insert, delete gt O(logn)

17
Highest Priority Prefix Table (HPPTs) PBOB
  • Since maxRlt6 for real router-tables, we replace
    the RST in each node z of the BOB PTST with an
    array linear list. ALL(z) of pairs of the form
    (pLength, priority)
  • The pairs in ALL(z) are in ascending order of
    pLength

18
Longest Matching Prefix Tables (LMPTS) LMPBOB
  • Using priority pLength
  • Replace the array linear list that is stored in
    each node of the PTST by a W-bit vector,
    bit(z)i denotes the ith bit of the bit vector
    stored in node z of the PTST, bit(z)i1 iff
    ALL(z) has a prefix whose length is i

19
Experiment and conclusion
  • Memory usage

20
Experiment and conclusion
  • Search time

21
Experiment and conclusion
  • Insert time

22
Experiment and conclusion
  • Delete time
Write a Comment
User Comments (0)
About PowerShow.com