link failure recovery for mpls networks with …mngroup/projects/mpls/documents/ms...link failure...
TRANSCRIPT
![Page 1: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/1.jpg)
1/33
Link Failure Recovery for MPLS Networks with Multicasting
Master’s Thesis Presentation – August 12th, 2002Yvan Pointurier
Advisor: Jörg Liebeherr
Multimedia Networks GroupDepartment of Computer Science
University of Virginia
![Page 2: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/2.jpg)
2/33
Outline
Introduction: MPLS, multicasting, tree repair problemA solution to the tree repair problem using graph theoryMPLS multicast Fast Reroute mechanismProtocol design and implementationExperimental resultsConclusion
![Page 3: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/3.jpg)
3/33
Switching technology
Circuit Switching• PSTN
Datagram Packet Switching• IP
Virtual Circuit Packet Switching• ATM and MPLS
![Page 4: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/4.jpg)
4/33
Recovery from link failures
Traditional approaches to link failure recovery• Physical layer
• Example: SONET ring wrapping after a failure• Pro: fast (50 ms)• Con: hardware solution ⇒ high cost
• Network layer• Example: rerouting after IP tables convergence• Pro: software solution done by routing algorithms ⇒ no
additional cost• Con: slow convergence (several minutes)
MPLS goals• Recovery at the network layer• Same recovery time as SONET using backup virtual circuits
![Page 5: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/5.jpg)
5/33
MPLS(Multiprotocol Label Switching)
Provides Virtual Circuit Switching to IP networks • Design started in 1997 by
IETF, RFC 3031 was released in 2001.
Label• Identifier (20 bits) for a
Virtual Circuit • With Ethernet and IP: a
label is contained in a “shim header”
• A label can be pushed, popped, swapped by MPLS routers
Ethernet header
IP header DataMPLS
“shim header”
MPLS domain
IPEth L1IPEth IPEth
push L1 swap L1, L2 pop L2
IPEth L2
![Page 6: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/6.jpg)
6/33
MPLS: Signaling protocol
Protocol responsible for virtual circuits management Two signaling protocols have been defined in MPLS: LDP/CR-LDP and RSVP-TEExample: establishing a label “binding” between two MPLS routers
U D
Upstream node for flow “a”
Label binding for “a”
Request for binding for “a”
Direction for flow “a”
Downstream node for flow “a”
![Page 7: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/7.jpg)
7/33
MPLS Fast Reroute
Name given to a rerouting technique with MPLS• Pre-planned techniques are faster • MPLS Fast Reroute provides a trade-off between cost and speed • Objective: 50 ms rerouting time
![Page 8: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/8.jpg)
8/33
MPLS Fast Reroute
6 steps:• 1. Link failure detection• 2. Link failure notification• 3. Path switchover
• 4. Link recovery detection• 5. Link recovery notification• 6. Path switchback
Link failure
Original path
Backup path
Notification path
MPLS Router
A B C D
D E F
![Page 9: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/9.jpg)
9/33
Multicasting
Goal: provide group communication
Shared multicast routing trees
Multicast and MPLS• Still in early draft stage
A
B
C
D
Core
![Page 10: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/10.jpg)
10/33
The tree repair problem
Pre-planned multicast tree protection against link failure
Research Problem: Where should backup paths be placed ?
Objective: find an algorithm to place “good” backup paths in a multicast routing tree
C
B
D
A
B
D
CA
Unicast-style protection
Cheaper protection with the same effect
![Page 11: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/11.jpg)
11/33
In this Thesis, we…
Define a metric (resilience) which measures the degree to which a backup path protects a multicast treeSpecify and analyze a Graph Algorithm for multicast tree protection against single link failurePropose protocol mechanisms (“MPLS multicast Fast Reroute”) for repair of multicast trees Design and implement the protocol mechanisms as extensions to MPLS signaling protocolsMeasure the performance of the implementation
![Page 12: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/12.jpg)
12/33
Outline
Introduction: MPLS, multicasting, tree repair problemA solution to the tree repair problem using graph theoryMPLS multicast Fast Reroute mechanismProtocol design and implementationExperimental resultsConclusion
![Page 13: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/13.jpg)
13/33
A tree repair algorithm
Given: Network, multicast routing tree and a resilience metric
Find: Single backup path that maximizes the resilience of the multicast tree for single link failures
Algorithm is presented as a graph algorithm:• MPLS network ⇒ graph• Multicast routing tree ⇒ tree embedded in the graph
![Page 14: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/14.jpg)
14/33
Modeling process (1/2)
MPLS network
Other link
Link of amulticast tree
Access link
MPLS Router
Core
A
B
C D
E
![Page 15: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/15.jpg)
15/33
Modeling process (2/2)
Other link of the network
Link of a multicast tree
root
Other node of the tree
Other node of the network
Node attached to receivers
A
B
E
C D
![Page 16: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/16.jpg)
16/33
Link failure and backup path in a tree
root
Link of a multicast tree
Protected path
Backup path
Other node of the tree
Node attached to receivers
![Page 17: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/17.jpg)
17/33
Formalization
w=0f=1tdrop=2
number of receivers downstream of a link l
wl:
root
w=1f=1tdrop=1
w=1f=1tdrop=1w=0
f=1tdrop=3
number of receivers dropped when a link l fails
tdropl:
∑∈
=lsubtreekkl wtdrop
Link failure rate of link lfl:A
B
C
D
E
F
G
H
![Page 18: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/18.jpg)
18/33
Defining “Resilience for a tree witha backup path”
Resilience R(A,B) of a tree protected by a backup path between nodes A and B:
Rt : number of receivers dropped on a link failure (no backup path)Rd(A, B): number of receivers dropped on a link failure if a backup path is set between A and B R(A, B): number of receivers not dropped on a single link failure if a backup path is set between A and B
∑∈
⋅=treek
kkt tdropfR )( ∑∉
∈
⋅=
),(
)(),(
BApathprimaryktreek
kkd tdropfBAR
),(),( BARRBAR dt −=
![Page 19: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/19.jpg)
19/33
Resilience of a tree protected by a backup path
Large resilience R(A, B) ó more hosts are in the rearranged multicast tree on a single link failure
We want to maximize the resilience • This is equivalent to minimizing Rd
• Find the two nodes of the tree A, B such that
),(min),(,
ZYRBAR d
treetheofnodesZYd =
![Page 20: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/20.jpg)
20/33
Algorithm
1. Compute Rd for all pairs of nodes • It can be proven that one node of the pair that maximizes the resilience
is a leaf • Rd can be computed in time log(n) with n=number of nodes in the tree
2. Choose the pair of nodes that minimizes Rd
3. Compute the shortest path between the two nodes
Time complexity: O(n2log(n)+(N-n) log(N-n)) =O(nNlog(N))• n = number of nodes in the tree • N = number of nodes in the network
Incremental version
![Page 21: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/21.jpg)
21/33
Outline
Introduction: MPLS, multicasting, tree repair problemA solution to the tree repair problem using graph theoryMPLS multicast Fast Reroute mechanismProtocol design and implementationExperimental resultsConclusion
![Page 22: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/22.jpg)
22/33
MPLS multicast Fast Reroute (1/3)
A multicast virtual circuit The mechanism consists of 6 steps
SA
B
C
D
E
FG
H
J
1. Link failure detection • Use probes • Several missing probes ó failure
2. Link failure notification • Propagate notification messages
on the tree
SA
B
C
DFG
E
![Page 23: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/23.jpg)
23/33
MPLS multicast Fast Reroute (2/3)
3. Switchover • Traffic flows on the backup path • The tree is repaired, no node is dropped
S A
B
C
D
E
FG
H
J
B
C
A D
S
E
F
G
J
H
![Page 24: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/24.jpg)
24/33
MPLS multicast Fast Reroute (3/3)
4. Link recovery detection • Faster then link failure detection
5. Link recovery notification • Same as link failure notification
SA
B
C
D
E
FG
H
J
6. Switchback• Same topology as before
the failure occurred
B
C
A D
S
E
F
GH
J
![Page 25: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/25.jpg)
25/33
Outline
Introduction: MPLS, multicasting, tree repair problemA solution to the tree repair problem using graph theoryMPLS multicast Fast Reroute mechanismProtocol design and implementationExperimental resultsConclusion
![Page 26: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/26.jpg)
26/33
Design and implementation
MPLS multicast • MPLS multicast is not standardized • Extension to MPLS-Linux unicast• Duplicate packets inside the Linux kernel and forward the copies
on different interfaces: “mswap” • We provide a C API that enables users to create forwarding rules
MulTreeLDP signaling protocol• A label distribution protocol for MPLS multicast• Support for Explicit Tree Routing• Message formats are similar to those in LDP • Implements MPLS multicast Fast Reroute
![Page 27: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/27.jpg)
27/33
Hardware used for the experiments
The Indra testbed• 6 PC routers, PII-450, 128MB RAM,
4x100 Mbps Ethernet, Linux
Fast enough to duplicate packets that arrive at full speed• We achieved rates of 93Mbps even
when each packet gets duplicated twice
1 sender3 receivers
![Page 28: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/28.jpg)
28/33
Testbed setup
PC1
PC5
PC6PC4
PC2
PC3X
![Page 29: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/29.jpg)
29/33
Experimental resultsLink failure detection• Two consecutive missing probes are
interpreted as a link failure• Distributed between 10 ms and 40 ms,
average: 25.4 msLink recovery detection• First probe received after link failure
is interpreted as link recovery• Distributed between 0 ms and 10 ms,
average: 5.5 msNotification• Measured 1.2 ms per hop
Service interruption time• Measured at PC5: 29.4 ms (average)
PC1
PC5
PC6PC4
PC2
PC3X
![Page 30: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/30.jpg)
30/33
1. Experimental distribution of the service interruption times
0.0%
2.0%
4.0%
6.0%
8.0%
10.0%
12.0%
14.0%
10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48
Repair time (ms)
Fre
quen
cy (%
)
Mean: 29.4 msMax: 49.6 msStdev: 7.1 ms
![Page 31: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/31.jpg)
31/33
2. Traffic received by PC5
0 1 2 3 4 5 6
Time (s)
Tra
ffic
rec
eive
d (M
Byt
es)
5
10
15
20
25
30
21 ms
10 ms
![Page 32: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/32.jpg)
32/33
Conclusions
Contributions• Algorithm that selects a backup path• MPLS multicast implementation for Linux • Explicit Tree routing • MPLS multicast Fast Reroute• Design, implementation and evaluation
Future work• Algorithm: multiple link/node failure - testing• Standardize MulTreeLDP• Avoid packet duplicates on switchback• Implementation in larger networks
![Page 33: Link Failure Recovery for MPLS Networks with …mngroup/projects/mpls/documents/ms...Link Failure Recovery for MPLS Networks with Multicasting ... IP header Data MPLS ... • Distributed](https://reader034.vdocuments.us/reader034/viewer/2022051508/5aa1b1927f8b9ab4208c0b43/html5/thumbnails/33.jpg)
33/33
Questions and Answers
Thanks for your attention !
After the Questions and Answers session, I will show a demo of MPLS multicast Fast Reroute in the MNG lab