link failure recovery for mpls networks with …mngroup/projects/mpls/documents/ms...link failure...

33
1/33 Link Failure Recovery for MPLS Networks with Multicasting Master’s Thesis Presentation – August 12 th , 2002 Yvan Pointurier Advisor: Jörg Liebeherr Multimedia Networks Group Department of Computer Science University of Virginia

Upload: buidieu

Post on 09-Mar-2018

234 views

Category:

Documents


7 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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