dynamic forwarding table aggregation without update churn
play

Dynamic Forwarding Table Aggregation without Update Churn: The Case - PowerPoint PPT Presentation

Dynamic Forwarding Table Aggregation without Update Churn: The Case of Dependent Prefixes Marcin Bienkowski (Uni Wroclaw) Nadi Sarrar (TU Berlin) Stefan Schmid (TU Berlin & T-Labs) Steve Uhlig (Queen Mary, London) 1 Wow! Growth of


  1. Dynamic Forwarding Table Aggregation without Update Churn: The Case of Dependent Prefixes Marcin Bienkowski (Uni Wroclaw) Nadi Sarrar (TU Berlin) Stefan Schmid (TU Berlin & T-Labs) Steve Uhlig (Queen Mary, London) 1

  2. Wow! Growth of Forwarding Tables Why? Scale, virtualization, … Problem: - TCAM expensive and power-hungry! - IPv6 may not help! 2 Stefan Schmid (T-Labs)

  3. Local FIB Compression: 1-Page Overview Model  FIB: Forwarding Information Base  FIB consists of Routers or set of <prefix, next-hop> SDN Switches:  IP only: most specific IP prefix   Control: (1) RIB or (2) SDN Controller (s. picture) Basic Idea  Dynamically aggregate FIB “Adjacent” prefixes with same next -hop (= color):  one rule only!  But be aware that BGP updates (next-hop change, insert, delete) may change forwarding set, need to de- aggregate again RIB or SDN Controller Benefits  Only single router affected  Aggregation = simple software update 3 Stefan Schmid (T-Labs)

  4. Local FIB Compression: 1-Page Overview Model  FIB: Forwarding Information Base  FIB consists of Routers or set of <prefix, next-hop> SDN Switches:  Memory! IP only: most specific IP prefix   Control: (1) RIB or (2) SDN Controller (s. picture) Basic Idea  Dynamically aggregate FIB “Adjacent” prefixes with same next -hop (= color):  one rule only! Update!  But be aware that BGP updates (next-hop change, insert, delete) may change forwarding set, need to de- aggregate again RIB or SDN Controller Benefits  Only single router affected  Aggregation = simple software update 4 Stefan Schmid (T-Labs)

  5. Setting: A Memory-Efficient Switch/Router Route processor FIB (e.g., TCAM on SDN switch) (RIB or SDN controller) BGP 0 1 updates updates traffic 0 1 0 1 full list of forwarded compressed list prefixes: (prefix, port) Goal: keep FIB small but consistent! Without sending too many additional updates. 5 Stefan Schmid (T-Labs)

  6. Setting: A Memory-Efficient Switch/Router Route processor FIB (e.g., TCAM on SDN switch) (RIB or SDN controller) BGP 0 1 updates updates Expensive! traffic 0 1 Memory 0 1 constraints? full list of forwarded compressed list prefixes: (prefix, port) Goal: keep FIB small but consistent! Without sending too many additional updates. 6 Stefan Schmid (T-Labs)

  7. Setting: A Memory-Efficient Switch/Router Route processor FIB (e.g., TCAM on SDN switch) (RIB or SDN controller) BGP 0 1 updates updates traffic 0 1 0 1 Update Churn? full list of forwarded Data structure, compressed list prefixes: (prefix, port) n etworking, … Goal: keep FIB small but consistent! Without sending too many additional updates. 7 Stefan Schmid (T-Labs)

  8. Motivation: FIB Compression and Update Churn Benefits of FIB aggregation  Routeviews snapshots indicate 40% memory gains  More than under uniform distribution  But depends on number of next hops Churn  Thousands of routing updates per second  Goal: do not increase more (or improve!) 8 Stefan Schmid (T-Labs)

  9. Model: Online Perspective Competitive analysis framework: Online Algorithm Competitive Analysis Online algorithms make An r-competitive online algorithm decisions at time t without any ALG gives a worst-case knowledge of inputs at times performance guarantee: the t’>t. performance is at most a factor r worse than an optimal offline algorithm OPT! Competitive Ratio Competitive ratio r, r = Cost(ALG) / cost(OPT) No need for complex predictions but still good! The price of not knowing the future! 9 Stefan Schmid (T-Labs)

  10. Model: Online Input Sequence Update: Color change Route processor (RIB or SDN controller) 0 1 0 1 BGP 0 1 updates 0 1 0 1 0 1 Update: Insert/Delete full list of forwarded prefixes: (prefix, port) 0 1 0 1 0 1 1 10 Stefan Schmid (T-Labs)

  11. Model: Costs Ports = Next-Hops = Colors Route processor FIB (e.g., TCAM on SDN switch) (RIB or SDN controller) BGP 0 1 updates updates traffic 0 1 0 1 online and worst-case arrival consistent at any time! (rule: most specific) full list of forwarded compressed list prefixes: (prefix, port) Cost = α (# updates to FIB) + ∫ memory t 11 Stefan Schmid (T-Labs)

  12. Model 1: Aggregation without Exceptions (SIROCCO 2013) FIB w/o exceptions size 3 Theorem: Uncompressed FIB (UFIB): BLOCK(A,B) is 3.603-competitive. independent prefixes Theorem: size 5 Any online algorithm is at least 1.636-competitive. (Even ALG can use exceptions and OPT not.) 12 Stefan Schmid (T-Labs)

  13. Model 1: Aggregation without Exceptions (SIROCCO 2013) BLOCK(A,B) operates on trie:  Two parameters A and B for amortization (A ≥ B)  Definition: internal node v is c-mergeable if subtree T(v) only constains color c leaves  Trie node v monitors: how long was subtree T(v) c- mergeable without interruption? Counter C(v).  If C(v) ≥ A α , then aggregate entire tree T(u) where u is furthest ancestor of v with C(u) (u) ≥ B B α . (Maybe v is u.)  Split lazily: only when forced. Nodes with square inside: mergeable. Nodes with bold border: suppressed for FIB1. 13 Stefan Schmid (T-Labs)

  14. Model 1: Aggregation without Exceptions (SIROCCO 2013) BLOCK(A,B) operates on trie:  Two parameters A and B for amortization (A ≥ B)  Definition: internal node v is c-mergeable if subtree T(v) only constains color c leaves  Trie node v monitors: how long was subtree T(v) c- mergeable without interruption? Counter C(v).  If C(v) ≥ A α , then aggregate entire tree T(u) where BLOCK: u is furthest ancestor of v with C(u) (u) ≥ B B α . (Maybe (1) balances memory and update costs v is u.)  Split lazily: only when forced. (2) exploits possibility to merge multiple tree nodes simultaneously at lower price (threshold A and B) Nodes with square inside: mergeable. Nodes with bold border: suppressed for FIB1. 14 Stefan Schmid (T-Labs)

  15. Model 2: Aggregation with Exceptions (DISC 2013) FIB w/ exceptions size 2 Theorem: Uncompressed FIB (UFIB): HIMS is O(w)-competitive, w = address length. dependent prefixes Theorem: size 5 Asymptotically optimal for general class of online algorithms. 15 Stefan Schmid (T-Labs)

  16. Exceptions: Concepts and Definitions Sticks Maximal subtrees of UFIB with colored leaves and blank internal nodes. Idea: if all leaves in Stick have same color, they would become mergeable. 16 Stefan Schmid (T-Labs)

  17. The HIMS Algorithm  Hide Invisibles Merge Siblings (HIMS)  Two counters in Sticks: Merge Sibling Hide Invisible Counter: Counter: u u u H(u) = how long do nodes have C(u) = time since Stick same color as the least colored descendants are ancestor? unicolor Note: C(u) ≥ H(u), C(u) ≥ C(p(u)), H(u) ≥ H(p(u)), where p() is parent. 17 Stefan Schmid (T-Labs)

  18. The HIMS Algorithm Keep rule in FIB if and only if all three conditions hold: (1) H(u) < α (do not hide yet) (2) C(u) ≥ α or u is a stick leaf (do not aggregate yet if ancestor low) (3) C(p(u)) < α or u is a stick root Examples: Trivial stick: node is both root and leaf (Conditions 2+3 fulfilled). Ex 1. So HIMS simply waits until invisible node can be hidden. Ex 2. Stick without colored ancestors: H(u)=0 all the time (Condition 1 fulfilled). So everything depends on counters inside stick. If counters large, only root stays. 18 Stefan Schmid (T-Labs)

  19. Analysis Theorem: HIMS is O(w) -competitive. Proof idea:  In the absence of further BGP updates (1) HIMS does not introduce any changes after time α (2) After time α , the memory cost is at most an factor O(w) off  In general: for any snapshot at time t, either HIMS already started aggregating or changes are quite new  Concept of rainbow points and line coloring useful rainbow point rainbow point 2 w -1 0 addresses  A rainbow point is a “witness” for a FIB rule  Many different rainbow points over time give lower bound 19 Stefan Schmid (T-Labs)

  20. Lower Bound Theorem: Any (online or offline) Stick-based algo is Ω (w) -competitive. Proof idea: Stick-based: (1) never keep a node outside a stick (2) inside a stick, for any pair u,v in ancestor- descendant relation, only keep one Consider single stick: prefixes representing lengths 2 w-1 , 2 w-2 , ..., 2 1 , 2 0 , 2 0 Cannot aggregate stick! But OPT could do that: QED 20 Stefan Schmid (T-Labs)

  21. LFA: A Simplified Implementation  LFA: Locality-aware FIB aggregation  Combines stick aggregation with offline optimal ORTC  Parameter α : depth where aggregation starts  Parameter β : time until aggregation 21 Stefan Schmid (T-Labs)

  22. LFA Simulation Results For small alpha, Aggregated Table (AT) significantly smaller than Original Table (OT) 22 Stefan Schmid (T-Labs)

  23. Conclusion  Without exceptions in input and output: BLOCK is constant competitive  With exceptions in input and output: HIMS is O(w)-competitive  Note on offline variant: fixed parameter tractable, runtime of dynamic program in f( α ) n O(1) Thank you! Questions? 23 Stefan Schmid (T-Labs)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend