IPFRR WITH tle pt FAST NOTIFICATION Andrs CSSZR, tle Gbor - - PowerPoint PPT Presentation

ipfrr with
SMART_READER_LITE
LIVE PREVIEW

IPFRR WITH tle pt FAST NOTIFICATION Andrs CSSZR, tle Gbor - - PowerPoint PPT Presentation

IPFRR WITH tle pt FAST NOTIFICATION Andrs CSSZR, tle Gbor ENYEDI, pt Sriganesh KINI itle Outline pt ws Conceptual idea l 1 pt Details -5 pt Preparation phase Fail-over operation Packet contents


slide-1
SLIDE 1

tle pt tle pt

IPFRR WITH FAST NOTIFICATION

András CSÁSZÁR, Gábor ENYEDI, Sriganesh KINI

slide-2
SLIDE 2

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 2

Outline

› Conceptual idea › Details

– Preparation phase – Fail-over operation – Packet contents – Bypassing legacy nodes

slide-3
SLIDE 3

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 3

IPFRR – A Fresh Perspective

› LFA is not perfect because not all failures can be repaired purely locally › IGP can repair all failures but it is slow › Can we combine them and get the best of both worlds? › YES, WE CAN

D A S

Default shortest path Without any info in S: loop

slide-4
SLIDE 4

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 4

IPFRR with Fast Notification

Basic idea

› Have failure information propagate the area quickly: on the fast path, without control plane involvement › Distant nodes can switch to pre-calculated alternative next-hops (if needed) › Preparing for remote failures also investigated in “Remote LFAPs”

– draft-hokelek-rlfap-01 – Needs a proper notification procedure

LFA local repair IGP global repair IPFRR-FN

Local or external trigger

LC CP

Local trigger

LC CP

local reconfig. Pre-configure backup entries download new entries advertise further

LC CP

local reconfig. Pre-configure backup entries Local or external trigger send up to CP advertise further

slide-5
SLIDE 5

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 5

Network Simulator ns-2 did Fast Notification 13 years ago!

› Remember “rtProto LS” in ns-2?

– it’s a simplified link state routing protocol

› ns-2 does NOT simulate message processing time! › See what happens when re-routing:

– Failure notification instantly sent out – Re-configuration in no time – User packets follow notifications instantly

› Our goal is to come as close to this as possible

– By doing processing in the forwarding plane – No control plane involvement during fail-over

slide-6
SLIDE 6

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 6

This draft

Fast Notification service (draft-lu-fn-transport)

IPFRR based on Fast Notification: Main components

Preparation for the failure › Pre-calculate and pre-install routes to distribute notifications › Pre-calculate and pre-install failure specific alternative routes

BFD, L2 trigger, LoS, etc.

Fail-over mechanism › Quick local failure detection in the linecard › Originate notification from within the linecard immediately › Distribute notification › Process notification in the linecard – perform fail-over without consulting the control plane

slide-7
SLIDE 7

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 7

Preparation Phase

› Let the IGP pre-calculate its response to protected failures

– If the failure of a protected resource resulted in FIB change, pre- install this change to the forwarding plane

› Area scope: prepare only for intra-area failures › Backup calculation/storage limited by:

– Only need to prepare for failures on the SPT from the current node – Only need to install a backup route for a failure if failure specific alternate next-hop is different from primary NH …

Failure ID i Failure ID j New Value a Pointer 1 Pointer 2 New Value b Pointer 3 Pointer 4 Pointer 5 New Value c Pointer 6 New Value c Pointer 2 Pointer 5 New Value a Pointer 6 Pointer 7 Pointer 8 New Value d Pointer 1

The IPFRR detour is identical to the “final” path after re-convergence!

~ New NH/ adjacency ~ Destinations needing update

slide-8
SLIDE 8

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 8

Fail-Over: Step by Step

Initiate FN

› Detect failure › Create (or just load) payload of FN packet

– OrigID: Identifier of the originator – NbrID: Identifier of the node to which the connectivity was lost – LinkID: Identifier of the link/SRLG through which the connectivity was lost – Sequence number: LSDB digest › To protect against replay attacks

› Disseminate using FN

– Redundant tree distribution mode is preferred – Punt and forward in each hop – FN packet loss should be minimised (e.g. priority) › Redundant trees è likely receiving multiple replicas

  • At least one should get through to every node

Data pre-loaded by IGP to forwarding plane

slide-9
SLIDE 9

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 9

Fail-Over: Step by Step

Activate Backups after Receiving FN

› Implementation dependent › In general:

– Find routes which have alternates installed for FailureID

› E.g. if Failure ID in pkt is “j”, make updates described by second row:

Failure ID i Failure ID j New Value a Pointer 1 Pointer 2 New Value b Pointer 3 Pointer 4 Pointer 5 New Value c Pointer 6 New Value c Pointer 2 Pointer 5 New Value a Pointer 6 Pointer 7 Pointer 8 New Value d Pointer 1

… …

slide-10
SLIDE 10

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 10

IPFRR with Fast Notification

Legacy Node Bypass › Legacy

– It can at least forward the multicast packets of FN – FN packets are not recognised/processed à routes are not changed!

› FN-capable nodes

– When pre-calculating backups, have to consider that legacy nodes won’t change routes

› Needs:

– Advertisement of FN capability – Router Capability TLVs › OSPF [RFC4970] › IS-IS [RFC4971]

Dest

FN FN

Dest

FN FN

legacy

slide-11
SLIDE 11

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 11

Summary

› FN enables preparing for remote failures › IGP runs pre-calculation in the background preparing for topology changes

– IPFRR detour identical to “final” path (after IGP re-convergence) è eliminates IGP micro-loop

slide-12
SLIDE 12

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 12

Questions, comments?

› FN Framework › FN Transport › IPFRR FN

slide-13
SLIDE 13

tle pt tle pt

BACKUP SLIDES

slide-14
SLIDE 14

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 14

IETF’s Existing IPFRR

› Assumes very quick failure detection – not part of IPFRR

– e.g. BFD, lower layer upcall

› “…to compute backup routes that allow the failure to be repaired locally by the router(s) detecting the failure without the immediate need to inform other routers of the failure…” › Options

– Loop free alternates (LFA) – “Multi-hop repair paths”

slide-15
SLIDE 15

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 15

Existing Solutions

› Rely on safe, loop-free neighbours (LFA)

– Loop free alternative next-hops not always exist: not full coverage (ca. 80% in practice) › Especially, if failure handling is needed bi-directionally › LFA can be good enough if we are in control of topology

› Multi-hop repair paths (full coverage)

– Rely on tunnelling/encapsulation (e.g. Not-Via Addresses) › Encapsulation not preferred due to fragmentation at MTU (SAR decreases forwarding performance) › Special tunnel endpoint addresses represent extra management burden – Rely on interface-specific forwarding (e.g. FIFR, U-Turn LFA) › Existing router design often have the same replica of the forwarding table at each linecard (serving multiple interfaces/adjacencies) – an assumption deep in HW/SW à hard to change – Assume packet marking to encode routing configuration ID (e.g. MRC) › No free bits in IP header for this purpose › Alternative would be encapsulation (see above)

slide-16
SLIDE 16

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 16

Fail-Over: Step by Step

Processing FN: Identifying the Failure

Failure-free

FailureID=LinkID NodeID=NbrID

SRLG failure

FailureID=LinkID NodeID=NbrID

Node failure

FailureID=NbrID

Same SRLG?

FailureID==LinkID

Common node?

NodeID==NbrID FN msg: OrigID, NbrID, LinkID Yes No Yes

Multiple failures

No

Same node?

FailureID==NbrID No Yes FN msg: OrigID, NbrID, LinkID FN msg: OrigID, NbrID, LinkID

slide-17
SLIDE 17

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 17

Application to LDP

› LDP unsolicited / liberal retention mode › FN initiates MPLS FIB update

Failure ID i Failure ID j New Value a Pointer 1 Pointer 2 New Value b Pointer 3 Pointer 4 Pointer 5 New Value c Pointer 6 New Value c Pointer 2 Pointer 5 New Value a Pointer 6 Pointer 7 Pointer 8 New Value d Pointer 1

~ New label & new NH/adj ~ Destinations needing update

slide-18
SLIDE 18

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 18

Building a Redundant Tree – An Example

  • 1. Select a Root
  • 2. Let k be one of Root’s

neighbours

  • 3. Find the shortest path from k

to the Root without the direct k-Root link

  • 4. On the resulting cycle, start

from Root and add all links until the last node to red tree

  • 5. Do the same in reverse

direction, adding links to the blue tree

  • 6. Add all nodes incl. Root and k

to the Ready set

A C D E F G B

Irrelevant which router, but it has to be consistent

slide-19
SLIDE 19

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 19

Building a Redundant Tree – An Example

  • 1. Select a Root
  • 2. Let k be one of Root’s

neighbours

  • 3. Find the shortest path from k

to the Root without the direct k-Root link

  • 4. On the resulting cycle, start

from Root and add all links until the last node to red tree

  • 5. Do the same in reverse

direction, adding links to the blue tree

  • 6. Add all nodes incl. Root and k

to the Ready set

A C D E F G B

k=B

slide-20
SLIDE 20

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 20

Building a Redundant Tree – An Example

  • 1. Select a Root
  • 2. Let k be one of Root’s

neighbours

  • 3. Find the shortest path from k

to the Root without the direct k-Root link

  • 4. On the resulting cycle, start

from Root and add all links until the last node to red tree

  • 5. Do the same in reverse

direction, adding links to the blue tree

  • 6. Add all nodes incl. Root and k

to the Ready set

A C D E F G B

k=B

slide-21
SLIDE 21

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 21

Building a Redundant Tree – An Example

  • 1. Select a Root
  • 2. Let k be one of Root’s

neighbours

  • 3. Find the shortest path from k

to the Root without the direct k-Root link

  • 4. On the resulting cycle, start

from Root and add all links until the last node to red tree

  • 5. Do the same in reverse

direction, adding links to the blue tree

  • 6. Add all nodes incl. Root and k

to the Ready set

A C D E F G B

Ready Ready Ready

slide-22
SLIDE 22

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 22

Building a Redundant Tree – An Example

7. Select a neighbour k of a Ready node x 8. Find the shortest path from k to Root without x 9. Let y be the first Ready node of the previously found path

  • 10. Add the links/nodes between x and y to

the to red tree in one direction, to blue tree in the other direction

  • 11. If k’s two paths to the Root are not

independent, do 10 in the reverse direction

  • 12. Add all newly touched nodes to the

Ready set

  • 13. If there are non Ready nodes, Goto 7.

A C D E F G B

k=D x=C

slide-23
SLIDE 23

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 23

Building a Redundant Tree – An Example

7. Select a neighbour k of a Ready node x 8. Find the shortest path from k to Root without x 9. Let y be the first Ready node of the previously found path

  • 10. Add the links/nodes between x and y to

the to red tree in one direction, to blue tree in the other direction

  • 11. If k’s two paths to the Root are not

independent, do 10 in the reverse direction

  • 12. Add all newly touched nodes to the

Ready set

  • 13. If there are non Ready nodes, Goto 7.

A C D E F G B

k=D x=C y=Root

slide-24
SLIDE 24

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 24

Building a Redundant Tree – An Example

7. Select a neighbour k of a Ready node x 8. Find the shortest path from k to Root without x 9. Let y be the first Ready node of the previously found path

  • 10. Add the links/nodes between x and y to

the to red tree in one direction, to blue tree in the other direction

  • 11. If k’s two paths to the Root are not

independent, do 10 in the reverse direction

  • 12. Add all newly touched nodes to the

Ready set

  • 13. If there are non Ready nodes, Goto 7.

A C D E F G B

k=D x=C y=Root

slide-25
SLIDE 25

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 25

Building a Redundant Tree – An Example

7. Select a neighbour k of a Ready node x 8. Find the shortest path from k to Root without x 9. Let y be the first Ready node of the previously found path

  • 10. Add the links/nodes between x and y to

the to red tree in one direction, to blue tree in the other direction

  • 11. If k’s two paths to the Root are not

independent, do 10 in the reverse direction

  • 12. Add all newly touched nodes to the

Ready set

  • 13. If there are non Ready nodes, Goto 7.

A C D E F G B

k=D x=C y=Root

slide-26
SLIDE 26

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 26

Building a Redundant Tree – An Example

7. Select a neighbour k of a Ready node x 8. Find the shortest path from k to Root without x 9. Let y be the first Ready node of the previously found path

  • 10. Add the links/nodes between x and y to

the to red tree in one direction, to blue tree in the other direction

  • 11. If k’s two paths to the Root are not

independent, do 10 in the reverse direction

  • 12. Add all newly touched nodes to the

Ready set

  • 13. If there are non Ready nodes, Goto 7.

A C D E F G B

Ready Ready Ready

slide-27
SLIDE 27

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 27

Building a Redundant Tree – An Example

7. Select a neighbour k of a Ready node x 8. Find the shortest path from k to Root without x 9. Let y be the first Ready node of the previously found path

  • 10. Add the links/nodes between x and y to

the to red tree in one direction, to blue tree in the other direction

  • 11. If k’s two paths to the Root are not

independent, do 10 in the reverse direction

  • 12. Add all newly touched nodes to the

Ready set

  • 13. If there are non Ready nodes, Goto 7.

A C D E F G B

k=G x=D

slide-28
SLIDE 28

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 28

Building a Redundant Tree – An Example

7. Select a neighbour k of a Ready node x 8. Find the shortest path from k to Root without x 9. Let y be the first Ready node of the previously found path

  • 10. Add the links/nodes between x and y to

the to red tree in one direction, to blue tree in the other direction

  • 11. If k’s two paths to the Root are not

independent, do 10 in the reverse direction

  • 12. Add all newly touched nodes to the

Ready set

  • 13. If there are non Ready nodes, Goto 7.

A C D E F G B

k=G x=D y=F

slide-29
SLIDE 29

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 29

Building a Redundant Tree – An Example

7. Select a neighbour k of a Ready node x 8. Find the shortest path from k to Root without x 9. Let y be the first Ready node of the previously found path

  • 10. Add the links/nodes between x and y to

the to red tree in one direction, to blue tree in the other direction

  • 11. If k’s two paths to the Root are not

independent, do 10 in the reverse direction

  • 12. Add all newly touched nodes to the

Ready set

  • 13. If there are non Ready nodes, Goto 7.

A C D E F G B

k=G x=D y=F Path from G to Root is not redundant due to D-F link! REVERSE!

slide-30
SLIDE 30

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 30

Building a Redundant Tree – An Example

7. Select a neighbour k of a Ready node x 8. Find the shortest path from k to Root without x 9. Let y be the first Ready node of the previously found path

  • 10. Add the links/nodes between x and y to

the to red tree in one direction, to blue tree in the other direction

  • 11. If k’s two paths to the Root are not

independent, do 10 in the reverse direction

  • 12. Add all newly touched nodes to the

Ready set

  • 13. If there are non Ready nodes, Goto 7.

A C D E F G B

k=G x=D y=F

slide-31
SLIDE 31

itle pt ws l 1 pt

  • 5

pt

ˆˇ

s or rea

IPFRR with Fast Notification | draft-csaszar-ipfrr-fn | IETF 80, Prague | 2011-03-28 | Page 31

Tie Braking

› Irrelevant which node is selected for Root, it just has be consistent › Irrelevant which neighbour is selected, just keep it consistent › Irrelevant which shortest path is selected, just keep it consistent › E.g. highest Router ID