HardwareBased IP Routing Using Partitioned Lookup Table - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

HardwareBased IP Routing Using Partitioned Lookup Table

Description:

PS: IFPLUT= IP Forwarding based on Partitioned Lookup Table. THE IFPLUT ... routing tables of three major network access points, AADS, MAE-WEST, and PacBell. ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 35
Provided by: kaewei
Category:

less

Transcript and Presenter's Notes

Title: HardwareBased IP Routing Using Partitioned Lookup Table


1
Hardware-Based IP Routing Using Partitioned
Lookup Table
  • Mohammad J. Akhbarizadeh
  • Student Member, IEEE,
  • Mehrdad Nourani,
  • Senior Member, IEEE

IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 13, NO.
4, AUGUST 2005
2
Outline
  • THE IFPLUT ALGORITHM
  • THE IFPLUT ARCHITECTURE
  • EXPERIMENTAL RESULTS
  • PS IFPLUTgt IP Forwarding based on Partitioned
    Lookup Table

3
THE IFPLUT ALGORITHM Notations, and
Definitions
  • P P1,P2,PG is the set of prefixes G
    collected by a backbone router.
  • There are N output ports, let Q 1,2,,N
    denote the set of these port indices.
  • FT (Forwarding Table) is an organized ei (pi ,
    qi) set of pairs, where pi ? P and qi ? Q.
  • IPNi IP address
  • leni Length of the prefix

4
THE IFPLUT ALGORITHM Notations, and
Definitions
  • Definition 1 Two prefixes are disjoint if none
    of them is a prefix of the other.
  • Definition 2 A prefix pi ? P is called an
    enclosure , if there is at least one prefix pj ?
    P (j?i and leni lt lenj) such that pi is a prefix
    for pj.
  • Definition 3 If both prefixes pi and pj point to
    the same egress q and pi is an enclosure of pj
    then we call an identical enclosure of pj.
  • Definition 5 If there is no enclosure in , then
    is a disjoint set.

5
THE IFPLUT ALGORITHM
SAMPLE SET OF FORWARDING TABLE ENTRIES (IPv4)
6
THE IFPLUT ALGORITHM
  • For a forwarding table FT,FT is defined as
    follows.
  • If (pi, q), (pj, q) ? FT and pi is an identical
    enclosure of pj then FT is generated by
    replacing (pi, q) with d entries (pi1, q) through
    (pid, q), such that
  • (A) pi1, pi2, .. pid and pj are disjoint
  • (B) pi1 U pi2 U pid U pj pi
  • Here is the distance between and (i.e., the
    difference between their length).
  • Consequently, FT contains no identical
    enclosures.

7
THE IFPLUT ALGORITHM
  • Partitioning Rule We partition set FT into N
    subsets PFT1,PFTN such that for partition we
    have
  • Having partitioning rule applied to set FT,
    every PFTk is a disjoint set.
  • Given an IP address to be looked up, searching a
    PFT will result in zero or one match.

8
THE IFPLUT ALGORITHM
9
THE IFPLUT ALGORITHM
  • The percentage of identical enclosures cannot be
    too high because a prefix must 1) be an
    enclosure and 2) point to the same egress as its
    child.
  • This is based on our empirical analysis of the
    routing tables of three major network access
    points, AADS, MAE-WEST, and PacBell.

10
THE IFPLUT ALGORITHM
11
THE IFPLUT ALGORITHM
12
THE IFPLUT ALGORITHM
13
THE IFPLUT ARCHITECTURE Basic IFPLUT
forwarding architecture
Basic IFPLUT forwarding architecture.
14
THE IFPLUT ARCHITECTURE
  • If a particular egresss PFT becomes much larger
    than the other PFTs we say the imbalance
    distribution of prefixes has occurred. This may
    become a serious problem as it may lead to
    under-utilization or even malfunctioning of
    IFPLUT.
  • We decided to break the one-to-one correspondence
    between PLUs and partitions and have a big pool
    of search units and let a management unit
    dynamically assign them to partitions whenever
    the need exists.

15
THE IFPLUT ARCHITECTURE
  • In this design, there is a pool of distinct
    memory units. Each partition (corresponding to an
    egress port) will be assigned zero or more memory
    units. To keep track of which unit is assigned to
    which partition, a register is accompanying each
    unit.
  • This register will store the identification (Id)
    of the associated partition, which can simply be
    the corresponding egress port index.

16
THE IFPLUT ARCHITECTURE Improved IFPLUT
forwarding architecture
Improved IFPLUT forwarding architecture.
17
THE IFPLUT ARCHITECTURE Concept of the
search unit
Concept of the search unit.
18
THE IFPLUT ARCHITECTURE
selector
Modified selector block.
19
THE IFPLUT ARCHITECTURE
Comparator
Comparator slice
20
THE IFPLUT ARCHITECTURE
Macro selector
  • The critical path of the selector goes through
    only one gt block and it is very fast but,
    because of a large amount of interconnect needed
    between the sub-blocks of the selector, this unit
    is not scalable beyond a limit.

21
THE IFPLUT ARCHITECTURE
Update
  • To keep track of the identical enclosures we add
    a hashing table to the IFPLUT architecture.
  • Each entry of this table contains two fields a
    prefix and its Id. The prefix part stores the
    identical enclosure prefix and the Id part links
    it to the expanded prefixes that represent it in
    the IFPLUT.
  • One proper choice for the Id value would be the
    prefix length. We refer to this table as the
    Expansion Table or simply ExpTab.

22
THE IFPLUT ARCHITECTURE
Update
  • The Id field is also added to each entry in the
    IFPLUT. In PFTk, prefix pi comes with idi . The
    value of this Id is zero for all original
    prefixes. For an expanded prefix, the Id field
    copies the value of the longest identical
    enclosure in the ExpTab that parents it.

23
THE IFPLUT ARCHITECTURE
Update
  • Add Say (p1, qk) is going to be added to our
    IFPLUT. The new route prefix will be written into
    PFTk. Two special situations should be taken care
    of

24
THE IFPLUT ARCHITECTURE
Update
25
THE IFPLUT ARCHITECTURE
Update
  • Remove To remove prefix p1 ? PFTk from IFPLUT
    the system has to take care of two special
    situations as well

26
THE IFPLUT ARCHITECTURE
Update
27
THE IFPLUT ARCHITECTURE
Metrics and Tradeoffs
  • N is the number of ports
  • M is the number of SUs
  • S is the size of each SU memory
  • G is the expected size of the FT
  • For given M and G values, the size of each SU
    memory (S) must at least be.

28
THE IFPLUT ARCHITECTURE
Metrics and Tradeoffs
  • The worst case memory usage comes about when all
    partitions except one have only one entry each.
  • In this case each of those N-1 partitions will
    get a single SU so that SUs will be assigned to
    N-1 partitions.
  • In this scenario the rest of the FT entries
    (i.e.,G - (N-1) entries) belong to the last
    partition. So, the IFPLUT is left with G (N-1)
    entries to be fit in the remaining M - (n-1)
    SUs.
  • S( M - (N-1) ) ? (G (N-1)) ? lower bound

29
THE IFPLUT ARCHITECTURE
Metrics and Tradeoffs
  • To be ready for the worst case, we need to have
    the minimum value of S as
  • S max G/M , (G-N1)/(M-N1)
  • As G M the condition that is always true.So, S
    can be always determined as

30
THE IFPLUT ARCHITECTURE
Metrics and Tradeoffs
  • Actual memory size is in total
  • which is always greater than or equal to G.
  • The difference between these two values (G - G)
    is the amount of memory waste that must be
    tolerated to be safe at the worst case scenario.
    So, the memory waste W is given as

31
THE IFPLUT ARCHITECTURE
Metrics and Tradeoffs
  • M always has a value between N and G,
  • i.e. N?M ?G. From the above equation, memory
    waste is maximum when M has its minimum value and
    it is minimum when is maximized. Hence
  • Wmin 0, When M G
  • Wmax (G-N)(N-1) , When MN

32
EXPERIMENTAL RESULTS
  • For the purpose of experimentation, a system with
    an FT capacity of G 20000 entries was designed
    and evaluated.

IMPLEMENTATION OF COMPARATOR BLOCKS (COST
EXPRESSED AS THE NUMBER of TWO-INPUT NAND GATES)
33
EXPERIMENTAL RESULTS
  • M show (number of search units, which is also
    the number of the corresponding macro selectors
    inputs)
  • K (size of search units in the first stage)
  • Q (size of search units in the second stage)
  • N 32 Ports

34
EXPERIMENTAL RESULTS
Overhead cost of different IFPLUT designs.
Write a Comment
User Comments (0)
About PowerShow.com