1 / 35

An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs

An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs. Author: Jinsoo Kim, Junghwan Kim Publisher: WWIC 2008 Presenter: Chen-Yu Chaug Date: 2008/11/12. Outline. Introduction Related work Propose IP Lookup Architecture IP Lookup and Update Algorithms

Download Presentation

An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs

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. An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs Author: Jinsoo Kim, Junghwan Kim Publisher: WWIC 2008 Presenter: Chen-Yu Chaug Date: 2008/11/12

  2. Outline • Introduction • Related work • Propose IP Lookup Architecture • IP Lookup and Update Algorithms • Performance Evaluation • Conclusion

  3. Introduction(1/4) • Most of the IP lookup schemes can be classified into software approaches based on trie and hardware approaches based on TCAM (Ternary Content Addressable Memory). • Trie-based IP lookup schemes usually require several memory accesses. In contrast, TCAM can perform a lookup operation in a single cycle owing to its parallel access characteristics. Therefore, TCAM have been paid much attention to in recent years.

  4. Introduction(2/4) • There may be several matches in an IP lookup operation, it is required to determine the best match, i.e., LMP. • For the determination of the LMP, all prefixes of a TCAM needs to be ordered by some criteria such as length. Under the ordered circumstance a priority encoder can select the LMP on the uppermost location among all matched prefixes.

  5. Introduction(3/4) • Most of TCAM-based lookup schemes need several movements of prefix entries for a single update because the ordering must be maintained in the TCAMs. • Therefore, frequent updates may consume many computation cycles in the IP lookup engine and result in the degradation of the lookup performance.

  6. Introduction(4/4) • In this paper, we present a new architecture to provide fast update by using single-match TCAMs. • Our algorithms guarantee that each single-match TCAM generates at most one match for a given destination address. So, it can eliminate both the ordering constraint and the priority encoder in a single-match TCAM, which makes the update fast.

  7. Outline • Introduction • Related work • Propose IP Lookup Architecture • IP Lookup and Update Algorithms • Performance Evaluation • Conclusion

  8. Ordering constraint • Prefix-length ordering constraint: Two prefixes of the same length don’t need to be in any specific order. • L-algorithm • PLO_OPT • Chain-ancestor ordering constraint There’s an ordering constraint between two prefixes if and only if one is a prefix of the other. • CAO_OPT

  9. L-algorithm • Two prefix in the same length can be in any order. • L-algorithm, that can create an empty space in a TCAM in no more than L memory shifts (recall that L = 32 ).

  10. PLO_OPT • The basic idea of the PLO_OPT algorithm is to keep all the unused entries in the center of the TCAM. • PLO_OPT brings down the worst-case number of memory operations per update to L/2.

  11. Better Algorithm ? P4 31 Maximal chain P2 has no ordering constraint with P3 or P4. P3 29 P2 15 PLO constraint is too Restrictive than needed. 8 P1

  12. CAO_OPT(1/2) • The CAO_OPT algorithm also keeps thefree space pool in the center of the TCAM. • Basic idea: for every prefix, the longest chain that this prefix belongs to should be split around the free space pool as equally as possible.

  13. P4 P2 P3 P1 CAO_OPT(2/2) P4 < P3 < P1, P2 < P1

  14. Summary of Simulation Results

  15. Outline • Introduction • Related work • Propose IP Lookup Architecture • IP Lookup and Update Algorithms • Performance Evaluation • Conclusion

  16. Location Prefix Next-hop 1 0 P1 103.23.122/23 171.3.2.22 1 P2 103.23/16 171.3.2.4 1 0 P3 101.1/16 120.33.32.98 2 Priority Encoder 103.23.122.7 P1 0 P4 101.20/13 320.3.3.1 3 0 P5 100/9 10.0.0.111 4 0 5 0 6 Conventional TCAM-Based Architecture • Conventional TCAM-based IP Lookup architecture in PLO (prefix length order).

  17. Design of the Proposed Architecture(1/4) • The maximum number of matched entries in a TCAM depends on the maximum depth of levels of the prefix search trie. • The maximum length of any chain currently does not exceed 7, so there can be at most 7 matches. • If the forwarding table is partitioned into several TCAMs so that there is no ancestor-descendant relation in each partitioned TCAM, then it is guaranteed that there exists at most one match in each TCAM.

  18. Design of the Proposed Architecture(2/4) • Proposed IP Lookup Architecture

  19. Design of the Proposed Architecture(3/4) • Each of TCAM0 to TCAM6 should contain a disjoint set of prefixes. So the result of lookup for a given IP address will be no more than one match in each TCAM. • Obviously, the single-match TCAMs don’t have priority encoder logic. • The selection logic selects longest one among those matches by using length data and sends out the corresponding output port number.

  20. Design of the Proposed Architecture(4/4) • In case that there is no suitable singlematch TCAM for a new inserting prefix, the conventional TCAM will be assigned. • Ex: There are only two single-match TCAMs and two disjoint prefixes p1=10100* and p2 = 1011* are stored in different single-match TCAMs. Then there is no way to insert a new prefix, p8=10* into any of the single-match TCAMs without moving an existing prefix.

  21. Outline • Introduction • Related work • Propose IP Lookup Architecture • IP Lookup and Update Algorithms • Performance Evaluation • Conclusion

  22. P1(10100*),10 P7(00*),15 TCAM0 P2(1011*),11 P4(010*),13 TCAM1 P1,5 Selection Logic P3(1110*),11 TCAM2 P5(100*),14 10 TCAM3 P6(110*),14 TCAM4 P8,2 P10(0*),18 P8(10*),16 TCAM5 P9(11*),17 TCAM6 Search algorithm • Ex: 10100100

  23. P1(10100*),10 P7(00*),15 TCAM0 P2(1011*),11 P4(010*),13 TCAM1 P3(1110*),11 TCAM2 Available[0] ← true Available[0] ← false P5(100*),14 TCAM3 Available[0] ← false Available[0] ← true P6(110*),14 TCAM4 Available[0] ← false Available[0] ← true P10(0*),18 P8(10*),16 TCAM5 P9(11*),17 TCAM6 Available[0] ← true Available[0] ← false P9(11*),17 TCAM7 Conventional TCAM Insertion algorithm(1/3) Available[0] ← false • Ex: 101* Available[0] ← false Randomly Insertion 101* Available[0] ← false

  24. P1(10100*),10 P7(00*),15 TCAM0 Available[0] ← false P2(1011*),11 P4(010*),13 TCAM1 Available[0] ← false P3(1110*),11 TCAM2 Available[0] ← false P5(100*),14 TCAM3 Available[0] ← false P6(110*),14 TCAM4 Available[0] ← false P10(0*),18 P8(10*),16 TCAM5 Available[0] ← false P9(11*),17 TCAM6 Available[0] ← false TCAM7 Conventional TCAM Insertion algorithm(2/3) • Ex: 1* Insert to TCAM7 1*

  25. Insertion algorithm(3/3)

  26. Deletion algorithm • For the prefix deletion it is needed to determine which TCAM contains the prefix p (As shown in line 1). • Then the prefix can be deleted from the TCAM (As show in line 2). • The function delete_from() is performed differently whether it operates on conventional TCAM or single-match TCAM.

  27. Outline • Introduction • Related work • Propose IP Lookup Architecture • IP Lookup and Update Algorithms • Performance Evaluation • Conclusion

  28. Simulation Environment(1/2) • In our simulation we used routing tables from Route Views[9].

  29. Simulation Environment(2/2) • Comparison of Memory Movements

  30. Simulation Results(1/3) • Memory Movements per Update

  31. Simulation Results(2/3) • The Number of Prefixes in Each TCAM 0.33%

  32. Simulation Results(3/3) • Insertions and Deletions 0.19% and 0.18%

  33. Discussion • The updating performance is related to two factors • The number of updates in the conventional TCAM. • The number of deletions in the single -match TCAMs. • The simulation results show that the number of updates in the conventional TCAM is quite small.

  34. Outline • Introduction • Related work • Propose IP Lookup Architecture • IP Lookup and Update Algorithms • Performance Evaluation • Conclusion

  35. Conclusion • Novel assignment strategies for prefix insertion should be developed and evaluated in further research. • The design of the hardware to eliminate memory movements also remains for future work.

More Related