1 / 31

Routing with a clue

Routing with a clue. Anat Bremler-Barr Joint work with Yehuda Afek & Sariel Har-Peled Tel-Aviv University. IP Lookup. 1011001101011011001111110101. Destination Address. Prefix NxtHop. IP lookup - given an IP address, determine the next hop for reaching that destination

tyler
Download Presentation

Routing with a clue

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. Routing with a clue Anat Bremler-Barr Joint work with Yehuda Afek & Sariel Har-Peled Tel-Aviv University

  2. IP Lookup 1011001101011011001111110101 Destination Address Prefix NxtHop • IP lookup - given an IP address, determine the next hop for reaching that destination • Fast Address lookup key component for high performance routers * 4 00* 12 011101110* 3 01111* 7 1* 2 10000001* 3 10110* 3 101111* 5 10110011 * 2 10110011010* 4 Forwarding Table

  3. Best Matching Prefix (BMP) • Routers today use kind of trie data structure (Patricia) • BMP lookup is expensive • Count in number of memory reference Prefix NxtHop * 1 00* 2 000* 3 0001* 4 01* 2 1* 1 110* 3 0 1 0 1 1 0 0 1 Forwarding table trie Example: The BMP of 0000 is 000*

  4. Three Approaches • Faster data structure • [WVTP 97] log W (W=32) • [DBCP 97] [ DKVZ 99] [CM99] [NK98] compression • [LSV 98] binary and 6-way search • [SV 98] version on tries • [ CP99] caching • Hardware • CAMs [MF 93] • Pipeline [GLM 98], [HZPS99] • Reducing the need of IP lookup • Tag-Switching • CSR • ARIS • IP-Switching • threaded indices • MPLS

  5. Our ApproachRouting with a Clue:Distributed IP-lookup Clue: Telling a router where its upstream neighbor ended the IP lookup 0 0 0 0 1 1 1 1 1 1 1 1 R1 R2 R3 R4 Many times the BMP’s are identical

  6. Distributed IP-lookup Prefix length  Work in Trie 32 backbone Work with a clue backbone 1

  7. Distributed IP lookup, why ? Each router on the path to the destination performs a similar IP-lookup: • Same destination address • Similar forwarding tables at neighboring routers Number of Prefixes

  8. Forwarding tables are similar Number of Prefixes

  9. Even if the routers are not neighbors Number of Prefixes

  10. Outline: • Simple method • Clue table and fields • Advanced method • Experimental results • MPLS improvements • Conclusions

  11. When the clue vertex (in the trie): (a) has no descendants, (b) does not exist In many cases the Clue directly determines the best matching prefix: (a) (b) Trie of R1 Trie of R2 R1 R2

  12. Dest. Add. :001101010... 0 0 In other cases the clue is - a good point to start IP lookup 0 0 1 1 1 • Search from the vertex that corresponds to the clue • If search fails, then forward according to the BMP of the clue string Trie of R1 Trie of R2 R1 R2

  13. R1 R2 Clue Table Clues table Clue table Clue table R3

  14. The clue table • An entry for each clue a router may receive from its neighbors • Two fields, that are pre-computed: • Ptr - pointer to the vertex that corresponds to the clue • FD - Final Decision (BMP, next hop): • When clue fixes the BMP • When the search from the clue fails (two cases are distinguished by Ptr value) Clue table size: Estimation 500KB

  15. Example Forwarding table Forwarding table Prefix NxtHop * 00* 0001* 00010* 0101* 011* 1* Prefix NxtHop * 00* 0001* 01* 1* Clue FD Ptr * 00* 00* 0001* 01* * 1* 1* 1 0 1 0 0 0 1 1 1 0 0 0 Clue table 1 1 1 0 R1 R2

  16. Combining the clue table of several neighbors • A clue table at each interface • If not, combine them into one table

  17. Clue encoding in the header • 5 bits (IPv4) indicating the prefix of the dest. address which is the clue Example: Dest address:10110011111101011011001111110101 Clue is coded:10001 The clue: 10110011111101011 • Need a hash-table

  18. To avoid hash-table • Replace clue with <clue,index> pair: index is into the clue table (16 bits) • Learning on the fly Dest address:10110011111101011011001111110101 Clue is coded:10001 The clue: 10110011111101011 Index:1110110101010110 1011…01 Clue Ptr FD 1110110101010110 Similar to the idea [CV96]

  19. Example Forwarding table Forwarding table Prefix NxtHop * 00* 0001* 00010* 0101* 011* 1* Prefix NxtHop * 00* 0001* 01* 1* Clue FD Ptr * 00* 00* 0001* 01* * 1* 1* 1 0 1 0 0 0 1 1 1 0 0 0 Clue table 1 1 1 0 R1 R2

  20. Advanced methodorget more from a clue BMP of clue clue clue Trie at R1 Trie at R2 R1 R2

  21. Advanced Method - Claim: No search is necessary, if on any path going down from the “clue” at the trie of R2, a prefix of R1 is encountered, before or at the same time that a prefix of R2 is encountered If Claim holds on the received clue, lookup costs one memory reference Otherwise Problematic clues need further search

  22. Problematic Clues Number of Prefixes 2.45% AT&T1->AT&T2 Number of Prefixes 0.0008% AT&T2->AT&T1

  23. Problematic Clues Number of Prefixes 0.0011% ISP-B1->ISP-B2 Number of Prefixes 0.0006% ISP-B2->ISP-B1

  24. Combining the clue table of several neighbors • A clue table at each interface • Advanced method - behavior depends on which neighbor the clue came from: Three solutions: • Intersection • No search - if all neighbors agree that no further search is necessary • Bit Map • Join the clues of neighbors in one table • Add a Bit Map to each clue entry: The j bit is set - further search is necessary if clue came from the j-th neighbor • Sub-tables: • One table for the intersection: the clues that behave the same, • Specific table per neighbors for the other clue

  25. Method of continued search Clue from R1 Prefix of R1 Prefix of R2 Trie at R2 Trie, Patricia[S93,LS88], binary, 6-way[LSV98], Log W [WVTP97]

  26. Experimental resultsAT&T1 AT&T2 Mem ref’s

  27. Experimental resultsAT&T2 AT&T1 Mem ref’s

  28. Multi Protocol Label Switching “Route once switch many”

  29. CLUE & MPLS • MPLS still needs an IP-lookup • Data driven: at set up • Control driven: at aggregation point The label here is the clue 10.0.0.1/25 R5 10.0.0/24 10.0.0/24 10.0.0/24 10.0.0/24 R1 R2 R3 R4 10.0.0.0/25 R6

  30. Advantages • Simplicity • 10 times faster • Switching speed, without major changes (but MPLS w/o TE) • Heterogeneous IP networks • No coordination • No setup time • Helps MPLS too

  31. Future Work • Clue with multidimensional classification • Further experiments

More Related