TI-MFA: Keep Calm and Reroute Segments Fast Klaus-Tycho Foerster Mahmoud Parham University of Vienna, Austria University of Vienna, Austria Marco Chiesa Stefan Schmid KTH, Sweden University of Vienna, Austria
Fast Rerouting (FRR) • Networks (enterprise networks, datacenter networks, Internet): critical infrastructure of the t information society • Modern communication networks support fast reroute : s local failover without invoking control plane, no reconvergence Preinstalled conditional failover rule 1
Fast Rerouting (FRR) • Networks (enterprise networks, datacenter networks, Internet): critical infrastructure of the t information society • Modern communication networks support fast reroute : s local failover without invoking control plane, no reconvergence Preinstalled conditional failover rule 1
Fast Rerouting (FRR) • Networks (enterprise networks, datacenter networks, Internet): critical infrastructure of the t information society • Modern communication networks support fast reroute : s local failover without invoking control plane, no reconvergence Preinstalled conditional failover rule 1
Fast Rerouting (FRR) Good alternative • Networks (enterprise networks, under 1 failure! datacenter networks, Internet): critical infrastructure of the t information society • Modern communication networks support fast reroute : s local failover without invoking control plane, no reconvergence Preinstalled conditional failover rule 1
Fast Rerouting (FRR) Good alternative • Networks (enterprise networks, under 1 failure! datacenter networks, Internet): critical infrastructure of the t information society • Modern communication networks support fast reroute : s local failover without invoking control plane, no reconvergence E.g., conventional IGP-based restauration requires notifying all routers about failure: 100s ms. IP FRR much faster. 1
Fast Rerouting (FRR) • Networks (enterprise networks, What if there is another failure? datacenter networks, Internet): critical infrastructure of the t information society • Modern communication networks support fast reroute : s local failover without invoking control plane, no reconvergence Challenge: conditional rules can only depend on local failures 1
Fast Rerouting (FRR) • Networks (enterprise networks, What if there is another failure? datacenter networks, Internet): critical infrastructure of the t information society • Modern communication networks support fast reroute : s local failover without invoking control plane, no reconvergence Challenge: conditional rules can only depend on local failures 1
Fast Rerouting (FRR) Given 2nd failure, • Networks (enterprise networks, this would have datacenter networks, Internet): been better! critical infrastructure of the t information society • Modern communication networks support fast reroute : s local failover without invoking control plane, no reconvergence Challenge: conditional rules can only depend on local failures 1
A Fundamental Algorithmic Problem How to define these conditional (local) failover rules? Challenges: • Rules have local knowledge only: can depend only on incident failures • Want to minimize additional information that packets should carry in header 2
Some Recent Results: Arborescence-Based (Chiesa et al.) Known result: always exist E.g., Chiesa et al.: in k-connected graphs (efficient) • Given: • k-connected network G, destination d • G decomposed into k d-rooted arc-disjoint spanning arborescences Basic principle: • Route along fixed arborescence (“directed spanning tree”) towards the destination d • If packet hits a failed edge at vertex v , reroute along a different arborescence The Crux: which arborescence to choose next? Influences resiliency! 3
Simple Example: Hamilton Cycle Chiesa et al.: if k -connected graph has k arc disjoint Hamilton Cycles, k -1 resilient routing can be constructed! 4
Example: 3-Resilient Routing Function for 2-dim Torus k=4 connected 5
Example: 3-Resilient Routing Function for 2-dim Torus Edge-Disjoint Hamilton Cycle 1 5
Example: 3-Resilient Routing Function for 2-dim Torus Edge-Disjoint Hamilton Cycle 1 spans all nodes: each node visited exactly once! 5
Example: 3-Resilient Routing Function for 2-dim Torus Edge-Disjoint Hamilton Cycle 2 5
Example: 3-Resilient Routing Function for 2-dim Torus Edge-Disjoint Hamilton Cycle 2 Edge disjoint: Together span all edges! 5
Example: 3-Resilient Routing Function for 2-dim Torus 4 Arc-Disjoint Arborescences Make Hamilton cycles directed: so 4 Arc- Disjoint Hamilton Cycles. 5
Example: 3-Resilient Routing Function for 2-dim Torus 4 Arc-Disjoint Arborescences d Failover: In order to reach destination d: go along 1 st directed HC, if hit failure, reverse direction, if again failure switch to 2 nd HC, if again failure reverse direction: no more failures possible! 5
Example: 3-Resilient Routing Function for 2-dim Torus 4 Arc-Disjoint Arborescences Torus 4-connected, has 4 arc disjoint d Hamilton cycles, so can construct optimal 3-resilient routing! No header space needed at all! Open Problem: k-resilient local fast failover scheme for k-connected graphs?
Variants with Stretch and Load Guarantees: Pignolet et al. & Foerster et al. • Local Fast Failover Routing With Low Stretch Klaus-Tycho Foerster, Yvonne-Anne Pignolet, Stefan Schmid, and Gilles Tredan. ACM SIGCOMM Computer Communication Review ( CCR ), 2018. Based on Balanced Incomplete Block Designs (BIBDs): Distributed computing without communication. • Load-Optimal Local Fast Rerouting for Dependable Networks Yvonne-Anne Pignolet, Stefan Schmid, and Gilles Tredan. 47th IEEE/IFIP International Conference on Dependable Systems and Networks ( DSN ), Denver, Colorado, USA, June 2017. 6
Some Recent Results: Polynomial-Time What-If Analysis for MPLS • MPLS: forwarding based on top label of label stack in 1 10 11 20 21 12 v 3 v 4 out 1 v 1 v 2 Default routing of in 2 22 two flows v 5 v 6 v 7 v 8 out 2 • For failover: push and pop label in 1 12 v 3 v 4 out 1 v 1 v 2 One failure: push 30: in 2 22 30|11 11 route around (v 2 ,v 3 ) 30|21 21 v 5 v 6 v 7 v 8 out 2 7
Some Recent Results: Polynomial-Time What-If Analysis for MPLS • MPLS: forwarding based on top label of label stack in 1 10 11 20 12 21 v 3 v 4 out 1 v 1 v 2 Default routing of in 2 22 two flows v 5 v 6 v 7 v 8 out 2 If (v 2 ,v 3 ) failed, push 30 and • For failover: push and pop label forward to v 6 . in 1 12 v 3 v 4 out 1 v 1 v 2 One failure: push 30: in 2 Normal 22 30|11 11 route around (v 2 ,v 3 ) 30|21 swap 21 Pop v 5 v 6 v 7 v 8 out 2 7
Some Recent Results: Polynomial-Time What-If Analysis for MPLS • MPLS: forwarding based on top label of label stack in 1 10 11 20 12 21 v 3 v 4 out 1 v 1 v 2 Default routing of in 2 22 two flows v 5 v 6 v 7 v 8 out 2 If (v 2 ,v 3 ) failed, What about multiple link failures? push 30 and • For failover: push and pop label forward to v 6 . in 1 12 v 3 v 4 out 1 v 1 v 2 One failure: push 30: in 2 Normal 22 30|11 11 route around (v 2 ,v 3 ) 30|21 swap 21 Pop v 5 v 6 v 7 v 8 out 2 7
MPLS Networks: 2 Failures in 1 10 11 12 21 20 v 3 v 4 out 1 v 1 v 2 in 2 Original Routing 22 v 5 v 6 v 7 v 8 out 2 in 1 10 11 20 21 12 v 3 v 4 out 1 v 1 v 2 One failure : push 30: in 2 22 30|11 11 route around (v 2 ,v 3 ) 30|21 21 v 5 v 6 v 7 v 8 out 2 31|11 31|21 Push 30 in 1 10 Two failures : 11 20 12 21 v 3 v 4 out 1 Push 40 v 1 v 2 first push 30: route in 2 22 around (v 2 ,v 3 ) 40|30|11 11 40|30|21 21 Push recursively 40: v 5 v 6 v 7 v 8 out 2 route around (v 2 ,v 6 ) 31|11 30|11 31|21 30|21
MPLS Networks: 2 Failures in 1 10 11 12 21 20 v 3 v 4 out 1 v 1 v 2 in 2 Original Routing 22 v 5 v 6 v 7 v 8 out 2 in 1 10 11 20 21 12 v 3 v 4 out 1 v 1 v 2 One failure : push 30: in 2 22 30|11 11 route around (v 2 ,v 3 ) 30|21 21 But masking links one-by- v 5 v 6 v 7 v 8 out 2 one can be inefficient: 31|11 31|21 Push 30 (v 7 ,v 3 ,v 8 ) could be shortcut in 1 10 Two failures : 11 to (v 7 ,v 8 ). 20 12 21 v 3 v 4 out 1 Push 40 v 1 v 2 first push 30: route in 2 22 around (v 2 ,v 3 ) 40|30|11 11 40|30|21 21 Push recursively 40: v 5 v 6 v 7 v 8 out 2 route around (v 2 ,v 6 ) 31|11 30|11 31|21 30|21
MPLS Networks: 2 Failures in 1 10 11 12 21 20 v 3 v 4 out 1 v 1 v 2 in 2 Original Routing 22 v 5 v 6 v 7 v 8 out 2 More efficient but also more complex! How complex? in 1 10 11 20 21 12 v 3 v 4 out 1 v 1 v 2 One failure : push 30: in 2 22 30|11 11 route around (v 2 ,v 3 ) 30|21 21 But masking links one-by- v 5 v 6 v 7 v 8 out 2 one can be inefficient: 31|11 31|21 Push 30 (v 7 ,v 3 ,v 8 ) could be shortcut in 1 10 Two failures : 11 to (v 7 ,v 8 ). 20 12 21 v 3 v 4 out 1 Push 40 v 1 v 2 first push 30: route in 2 22 around (v 2 ,v 3 ) 40|30|11 11 40|30|21 21 Push recursively 40: v 5 v 6 v 7 v 8 out 2 route around (v 2 ,v 6 ) 31|11 30|11 31|21 30|21
Forwarding Tables for Our Example Alternative Protected link link Label Failover Tables Flow Table 9
Can be verified in polynomial time via automata-theoretic approach Compilation What if...?! pX ⇒ qXX pX ⇒ qYX qY ⇒ rYY rY ⇒ r rX ⇒ pX Interpretation Pushdown Automaton and Prefix MPLS configurations Rewriting Systems Theory
Recommend
More recommend