Title: HardwareBased IP Routing Using Partitioned Lookup Table
1Hardware-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
2Outline
- THE IFPLUT ALGORITHM
- THE IFPLUT ARCHITECTURE
- EXPERIMENTAL RESULTS
- PS IFPLUTgt IP Forwarding based on Partitioned
Lookup Table
3THE 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
4THE 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.
5THE IFPLUT ALGORITHM
SAMPLE SET OF FORWARDING TABLE ENTRIES (IPv4)
6THE 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.
7THE 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.
8THE IFPLUT ALGORITHM
9THE 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.
10THE IFPLUT ALGORITHM
11THE IFPLUT ALGORITHM
12THE IFPLUT ALGORITHM
13THE IFPLUT ARCHITECTURE Basic IFPLUT
forwarding architecture
Basic IFPLUT forwarding architecture.
14THE 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.
15THE 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.
16THE IFPLUT ARCHITECTURE Improved IFPLUT
forwarding architecture
Improved IFPLUT forwarding architecture.
17THE IFPLUT ARCHITECTURE Concept of the
search unit
Concept of the search unit.
18THE IFPLUT ARCHITECTURE
selector
Modified selector block.
19THE IFPLUT ARCHITECTURE
Comparator
Comparator slice
20THE 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.
21THE 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.
22THE 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.
23THE 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
24THE IFPLUT ARCHITECTURE
Update
25THE IFPLUT ARCHITECTURE
Update
- Remove To remove prefix p1 ? PFTk from IFPLUT
the system has to take care of two special
situations as well
26THE IFPLUT ARCHITECTURE
Update
27THE 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.
28THE 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
29THE 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
30THE 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
31THE 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
32EXPERIMENTAL 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)
33EXPERIMENTAL 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
34EXPERIMENTAL RESULTS
Overhead cost of different IFPLUT designs.