Restoration by Path Concatenation: Fast Recovery of MPLS Paths Anat Bremler-Barr Yehuda Afek Haim Kaplan Tel-Aviv University Edith Cohen Michael Merritt AT&T Labs-Research Agenda MPLS A - quick introduction fast restoration scheme for MPLS MPLS: Multi Protocol Label Switching Two motivating forces: Fast forwarding (eliminate IP-lookup) Traffic Engineering & QoS IP Lookup forwarding 1011001101011011001111110101 Destination Address Prefix NxtHop * 00* 011101110* 10000001* 10110* 101111* 10110011 * 10110011010* 4 12 3 3 3 5 2 4 Forwarding Table IP lookup - given an IP address, determine the next hop for reaching that destination Fast Address lookup key component for high performance routers Multi Protocol Label Switching Label MPLS Header IP Packet – Short, fixed-length packet identifier – Label swapping (similar to forwarding algorithm used in Frame Relay and ATM) – Incoming Label Mapping (ILM) Incoming Label Mapping IP In Out (port, label) (port, label) 8 Port 1 Port 2 Port 3 Port 4 IP 7 (1, 2) (1, 6) (1, 8) (2, 13) (2, 17) (2, 21) (4, 7) (3, 32) Label Operation Swap Swap Swap Swap MPLS Forward Equivalence Class (FEC) The same label to a stream/flow of IP packets: – Forwarded over the same path – Treated in the same manner FEC/label binding mechanism – Currently based on destination IP address prefix – Future mappings based on TE-defined policy MPLS Header 32-bits IP Packet MPLS Forwarding Example 134.5.6.1 ILM Table In Out (2, 84) 2 (6, 3) 134.5.1.5 6 2 134.5.1.5 FEC Table Destination Next Hop 134.5/16 (2, 84) 200.3.2/24 (3, 99) 3 1 2 ILM Table In Out (1, 99) (2, 56) 3 5 ILM Table In Out (3, 56) (5, 3) 200.3.2.1 200.3.2.7 MPLS Label Stack – Stack of labels in the header IP Packet MPLS Label MPLS Label – Each LSR processes the top label IP 21 IP 1 2 3 IP 21 12 2 21 3 6 IP 1 5 IP 21 4 56 2 5 3 ILM Table In Out (1, 21) (2, Push [12]) (3, 9) (2, Push [12]) ILM Table In Out (2, 12) (6, 3 ) ILM Table In Out (1, 3) (5, Pop ) ILM Table In Out (4, 21) (2, 56) (4, 9) (5, 7) In conclusion: MPLS benefits: + + + - No IP lookup Traffic engineering QoS Restoration Fault Teardown Calculate – loop free Establish Part II Restoration by Path Concatenation: Fast Recovery of MPLS Paths Restoration By Path Concatenation (RBPC) Restore by concatenating existing paths m s t Main claim: Unweighted case: Any shortest path after k edge failures is a concatenation of at most k+1 original surviving shortest paths. Weighted case: k+1 paths and k edges The basic set of Paths: Either All shortest paths or One shortest path for each pair of routers. Example m s t o n One edge failure - concatenation of two paths Two edge failures - concatenation of three paths Path Concatenation with MPLS • Use the stack of labels mechanism: • source pushes two labels (one fault) 200.3.2/24 27 87 s t 1 30 Ingress Routing Table (FEC) Destination 134.5/16 Next Hop (1, 30) (2, 27|87) 200.3.2/24 (2, 87) 134.5/16 No changes in ILM tables Concatenation mechanism in ATM or WDM • Need an IP-lookup at m !!! m V87 s V27 1 VC Table of S Dest label (vci/vpi) port t V30 V87 1 2 m V87 2 V30 t The restoration method requirements • Global knowledge at Ingress LSR • Store the global view locally (on a disk) Limitations of RBPC •Bandwidth reservation: have not yet dealt with •Non shortest paths: Requires T.E. Algorithms at the source •Theory does not apply to node failure •Does not, in general work in directed graphs v s t Main claim: Unweighted case: Any shortest path after k edge failures is a concatenation of at most k+1 original surviving shortest paths. Weighted case: k+1 paths and k edges The basic set of Paths: Either All shortest paths or One shortest path for each pair of routers. Unweighted case: sketch of proof Let p be the shortest path after removing k edges. Let bypasses {bp1, bp2, bp3, bp4} be: e1 e1 s u e1 s e2 e3 p x w v e2 e2 t e3 t Claim: There are at most k bypasses ==> Main claim Proof by contradiction: •Assume there are more than k bypasses •Then exists p* (s->t), s.t., p* is shorter than p. e1 e1 e2 e3 e2 p s t constructing p*: claim: exists a subset of bypasses, s.t., each removed edge occurs in an even number of bypasses. e1 x y s e1 e2 x y z w e2 z w t p Building blocks for the shortest path p*: e1 x y s e1 e2 x y z w e2 z w t p Building blocks for the shortest path p*: e1 x y e1 e2 x y z w e2 z w s t x P* must exist - Euler z e2 t s y e1 p w e3 p* Pre-provisioned method For each link & LSP (label swapping path) going over it maintain (pre-provision) a restoration path Similarly, for each two links in an LSP maintain a restoration path Huge O/H: ILM tables Not scalable The restoration method benefits • Fast restoration • Static set of paths • No messages for tearing down and setting up • Static & Small ILM tables • Only one router changes the FEC table. •Speed and simplicity of pre-provisioned restoration paths without the associated overhead. Empirical results Name Nodes Links Avg. degree ISP ~200 ~400 ~3.7 Internet 40,377 101,659 5.035 AS Graph 4,746 9,878 4.16 AS Graph AS After one link failure Network max ILM Avg ILM. Avg. Concate Length. savings savings s.factor ISP weighted 12.5% 25.6% 2.05 1.15 ISP unweighted 20.0% 32.3% 2 1.14 Internet 16.7% 22.8% 2 1.08 AS graph 25.0% 32.7% 2 1.19 RBPC ILM table size / pre-provisioned t.s. After two link failures Network max ILM Avg ILM. Avg. PC length Length. savings savings s.factor ISP weighted 2.3% 6.1% 2.38 1.77 ISP unweighted 3.6% 8.5% 2.20 1.34 Internet 3.0% 4.7% 2.06 1.15 AS graph 7.1% 16.4% 2.09 1.32 RBPC ILM table size / pre-provisioned t.s. After one router failure Network max ILM Avg ILM. Avg. PC length Length. savings savings s.factor ISP weighted 25.0% 43.7% 2.10 1.38 ISP unweighted 20.0% 36.8% 2.03 1.18 Internet 12.5% 21.1% 2.02 1.08 AS graph 25.0% 38.5% 2.03 1.26 RBPC ILM table size / pre-provisioned t.s. v s t After two router failures Network max ILM Avg ILM. Avg. PC length Length. savings savings s.f. ISP weighted 5.26% 11.1% 2.43 1.57 ISP unweighted 6.67% 13.3% 2.21 1.44 Internet 2.50% 4.1% 2.23 1.17 AS graph 8.33% 18.5% 2.17 1.31 RBPC ILM table size / pre-provisioned t.s. End