Title: Fast IP Routing Lookups and Updates in Hardware
1Fast IP Routing Lookups and Updates in Hardware
- Cheng-Chi You, Yuan-Sun Chu, Chi-Fang Li, Hui-Kai
Su - National Chung Cheng University, Taiwan, R.O.C
2Proposed Scheme
3 Example
- If we have two routes (50/8, 50.123.240/20)
- 50/8 requires entries addressed from 50.050.255
except for 50.123. - 240(dec) 11110000
4IP routing lookup mechanism
Tab 0-15 ,Tab 16-19 and Tab 20-23 use the same
architecture. Tab 24-31 use SPA( Start Point
Array ) and CNH_LA( Compressed Next Hop and
Length Array ) for compress memory space.
5IP routing lookup mechanism (SPA/CNH_LA)
- For example, assume IP address is 8-bit long and
there are four route (0/1,010/3,001001/6,010101/6)
6IP routing lookup mechanism (SPA/CNH_LA)
If the destination address 45 is looked up.
Because 45 is between 4064 in SPA, we get an
index 2(0 ? addresslt36 gt index 0,36 ?addresslt40
gt index1, 40?addresslt64 gt index 2, etc), and
then we use the index into CNH_LA and find the
next hop is A.
7Update and Insertion (First 3 levels)
- 1. For each entry in updating region R in the
table whose length filed is less than or equal to
L, the new next hop is entered. - 2. Otherwise, those entries with length filed
greater than L are unchanged.
8Update and Insertion (SPA/CNH_LA)
Original table
New table
32
9Deletion
delete
10Improvement for the Update andInsertion
add a RP register in the table and one RP bit in
every entry of the second level. The RP register
stores the next hop and prefix length of the
route A. The RP bits in regions S0S1, S2S3,
and S4S5 are set 1, and others are set 0. When
the route A is updated, we just modify the region
of the route A in the first level and the RP
register.
11 Conclusions
- In this paper, we propose a novel architecture
with the fast speed for lookups and updates. - The longest delay time for IP lookups is 5 memory
accesses (Tab0_15 Tab16_19 Tab20_23 SPA
CNH_LA). Implemented in a pipelined fashion, the
lookup speed can achieve one memory access for
every IP lookup. - The memory requirement for our design is small.
The large routing table with 20000 routes in
Mac-east 10 can be compacted to a forwarding
table with about 570 KB.
12Appendix (algorithm)
13Appendix (IPV6)