2. 2 Orange Restricted
A micro-loop ? Does my network have loops ?
Micro-loops are a natural phenomenon in hop by
hop routed networks
This applies to MPLS networks !
Caused by a transient disagreement between
routers during convergence
Good and bad events may create loops
Duration of micro-loop depends of convergence
time
S N1
N2
D
1
101
1
3. 3 Orange Restricted
A micro-loop ? Does my network have loops ?
Micro-loops are a natural phenomenon in hop by
hop routed networks
This applies to MPLS networks !
Caused by a transient disagreement between
routers during convergence
Good and bad events may create loops
Duration of micro-loop depends of convergence
time
S N1
N2
D
1
101
1
4. 4 Orange Restricted
A micro-loop ? Does my network have loops ?
Micro-loops are a natural phenomenon in hop by
hop routed networks
This applies to MPLS networks !
Caused by a transient disagreement between
routers during convergence
Good and bad events may create loops
Duration of micro-loop depends of convergence
time
S N1
N2
D
1
101
1
5. 5 Orange Restricted
A micro-loop ? Does my network have loops ?
Micro-loops are a natural phenomenon in hop by
hop routed networks
This applies to MPLS networks !
Caused by a transient disagreement between
routers during convergence
Good and bad events may create loops
Duration of micro-loop depends of convergence
time
S N1
N2
D
1
101
1
6. 6 Orange Restricted
A micro-loop ? Does my network have loops ?
Micro-loops are a natural phenomenon in hop by
hop routed networks
This applies to MPLS networks !
Caused by a transient disagreement between
routers during convergence
Good and bad events may create loops
Duration of micro-loop depends of convergence
time
S N1
N2
D
1
101
1
! SLOW !
7. 7 Orange Restricted
A micro-loop ? Does my network have loops ?
Micro-loops are a natural phenomenon in hop by
hop routed networks
This applies to MPLS networks !
Caused by a transient disagreement between
routers during convergence
Good and bad events may create loops
Duration of micro-loop depends of convergence
time
S N1
N2
D
1
101
1
! SLOW !
8. 8 Orange Restricted
A micro-loop ? Does my network have loops ?
Micro-loops are a natural phenomenon in hop by
hop routed networks
This applies to MPLS networks !
Caused by a transient disagreement between
routers during convergence
Good and bad events may create loops
Duration of micro-loop depends of convergence
time
S N1
N2
D
1
101
1
9. 9 Orange Restricted
Where do micro-loops happen ?
Anywhere ! They can be local or remote !
R1 R4
R2
DS
10
111
1
R3
Local loop
Remote loop
Remote loop
10. 10 Orange Restricted
Why do I need to take of micro-loops ?
Micro-loops break Fast-reroute !
Micro-loops affect traffic which is not concerned by the
topology change !
Traffic between S and N2 suffers of packet loss !
100Mbps of traffic entering a loop on a 5ms RTD link
will become 1Gbps in about 40msec !
S N1
N2
D
1
101
1Traffic
Time
11. 11 Orange Restricted
Why do I need to take of micro-loops ?
Micro-loops break Fast-reroute !
Micro-loops affect traffic which is not concerned by the
topology change !
Traffic between S and N2 suffers of packet loss !
100Mbps of traffic entering a loop on a 5ms RTD link
will become 1Gbps in about 40msec !
S N1
N2
D
1
101
1Traffic
Time
12. 12 Orange Restricted
Why do I need to take of micro-loops ?
Micro-loops break Fast-reroute !
Micro-loops affect traffic which is not concerned by the
topology change !
Traffic between S and N2 suffers of packet loss !
100Mbps of traffic entering a loop on a 5ms RTD link
will become 1Gbps in about 40msec !
S N1
N2
D
1
101
1Traffic
Time
13. 13 Orange Restricted
Why do I need to take of micro-loops ?
Micro-loops break Fast-reroute !
Micro-loops affect traffic which is not concerned by the
topology change !
Traffic between S and N2 suffers of packet loss !
100Mbps of traffic entering a loop on a 5ms RTD link
will become 1Gbps in about 40msec !
S N1
N2
D
1
101
1
FRR !
Traffic
Time
14. 14 Orange Restricted
Why do I need to take of micro-loops ?
Micro-loops break Fast-reroute !
Micro-loops affect traffic which is not concerned by the
topology change !
Traffic between S and N2 suffers of packet loss !
100Mbps of traffic entering a loop on a 5ms RTD link
will become 1Gbps in about 40msec !
S N1
N2
D
1
101
1
FRR !
Traffic
Time
15. 15 Orange Restricted
Why do I need to take of micro-loops ?
Micro-loops break Fast-reroute !
Micro-loops affect traffic which is not concerned by the
topology change !
Traffic between S and N2 suffers of packet loss !
100Mbps of traffic entering a loop on a 5ms RTD link
will become 1Gbps in about 40msec !
S N1
N2
D
1
101
1
! SLOW !
FRR !
Traffic
Time
16. 16 Orange Restricted
Why do I need to take of micro-loops ?
Micro-loops break Fast-reroute !
Micro-loops affect traffic which is not concerned by the
topology change !
Traffic between S and N2 suffers of packet loss !
100Mbps of traffic entering a loop on a 5ms RTD link
will become 1Gbps in about 40msec !
S N1
N2
D
1
101
1
! SLOW !
Traffic
Time
17. 17 Orange Restricted
Why do I need to take of micro-loops ?
Micro-loops break Fast-reroute !
Micro-loops affect traffic which is not concerned by the
topology change !
Traffic between S and N2 suffers of packet loss !
100Mbps of traffic entering a loop on a 5ms RTD link
will become 1Gbps in about 40msec !
S N1
N2
D
1
101
1Traffic
Time
18. 18 Orange Restricted
Why do I need to take of micro-loops ?
Micro-loops break Fast-reroute !
Micro-loops affect traffic which is not concerned by the
topology change !
Traffic between S and N2 suffers of packet loss !
100Mbps of traffic entering a loop on a 5ms RTD link
will become 1Gbps in about 40msec !
S N1
N2
D
1
101
1Traffic
Time
19. 19 Orange Restricted
Why do I need to take of micro-loops ?
Micro-loops break Fast-reroute !
Micro-loops affect traffic which is not concerned by the
topology change !
Traffic between S and N2 suffers of packet loss !
100Mbps of traffic entering a loop on a 5ms RTD link
will become 1Gbps in about 40msec !
S N1
N2
D
1
101
1Traffic
Time
Link
congestion !
20. 20 Orange Restricted
Strategies to address micro-loop issues
Not a new topic ! Look at RFC5715 ..
Mitigation
• Drop looping packets (not so easy !)
• Converge faster (minimize micro-loop duration)
Avoidance
• Local delay (draft-ietf-rtgwg-uloop-delay)
• Ordered FIB (RFC6976)
• PLSN (RFC5715)
• Incremental metric (INFOCOM 2007 paper from P. Francois, M. Shand, O. Bonaventure)
• …
21. 22 Orange Restricted
Strategies to avoid micro-loops
Local delay = OFIB(1)
Upon link down, only local router will delay its convergence
Upon link up, local router will delay flooding
Solves only local micro-loops
Multiple implementations available for link down event
S N R1 R2 D
N2
I will delay by
1200msec
I will delay by
1200msec
22. 23 Orange Restricted
Conclusion on current state of the art
No definitive solution to avoid micro-loops
Local delay is good but not perfect
Mitigation is not enough and sometimes complex to implement
How can we improve ?
23. 24 Orange Restricted
Why not using Segment Routing ?
Segment Routing can build a loop-free path
See my talks in 2014 and 2015 on TI-LFA
Why not applying a temporary loop-free path ?
Two stages convergence
Stage#1 : use loop-free path (timer based)
Stage#2 : use standard path
S N R1 D
N2
10
Node_SID_N2
Adj_SID_N2R1
Payload
24. 36 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
25. 37 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Payload
26. 38 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Payload
27. 39 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Payload
28. 40 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Payload
29. 41 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Payload
Stage#1 : tunnel
{Adj-SID_R2-D}
30. 42 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Stage#1 : tunnel
{Adj-SID_R2-D}
Payload
Adj-
SID_R2-D
31. 43 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Stage#1 : tunnel
{Adj-SID_R2-D}
Payload
Adj-
SID_R2-D
Stage#1 : tunnel
{Node_SID_R2;Adj-SID_R2-D}
32. 44 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Stage#1 : tunnel
{Adj-SID_R2-D}
Payload
Adj-
SID_R2-D
Stage#1 : tunnel
{Node_SID_R2;Adj-SID_R2-D}
Stage#1 : tunnel
{forward to D}
33. 45 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Payload
Stage#1 : tunnel
{Node_SID_R2;Adj-SID_R2-D}
Stage#1 : tunnel
{forward to D}
Stage#2 :
normal FIB
update
34. 46 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Payload
Stage#1 : tunnel
{forward to D}
Stage#2 :
normal FIB
update
Stage#2 :
normal FIB
update
35. 47 Orange Restricted
Multiple approaches possible to build a loop-free path
One is TI-LFA-like approach
Upon link failure, we can compute a loop-free label stack to the destination (as in TI-LFA)
The loop-free path will be kept for a time waiting for the other to convergence
All the routers applies this two stages convergence
R1S
DR2
10 R4
100
Payload
Stage#2 :
normal FIB
update
Stage#2 :
normal FIB
update
Stage#2 : normal FIB
update
36. 48 Orange Restricted
Dream or reality ? Technology is a reality !
And we already tested it !
R2R1S
R3 R4
R5 R6
10
10
S,R1,R2 are Cisco XR nodes with early code
R3,R4,R5,R6 are non Cisco
In the setup, SPF delays have been
highly increased to make the
microloop phenomenon more visible
37. 49 Orange Restricted
Lab evaluation : S-R1 link failure
Without micro-loop
avoidance
FRR
Micro-loop effect
WITH micro-loop
avoidance (LOCAL-
DELAY)
FRR
! LOOP AVOIDED !
FRR
! LOOP AVOIDED !
WITH micro-loop
avoidance (SR)
38. 50 Orange Restricted
Lab evaluation : R2-R4 link failure
Without micro-loop
avoidance
Micro-loop effect
WITH micro-loop
avoidance (LOCAL-
DELAY)
Micro-loop effect
!!! LOOP NOT AVOIDED !!!
FRR
WITH micro-loop
avoidance (SR)
! LOOP AVOIDED !
39. 51 Orange Restricted
Segment routing micro-loop avoidance
Early code testing shown very good results
Works for multiple traffic types (IP, MPLS LDP, SR)
The technology brings a high benefit in avoiding micro-loops
Local mechanism :
no protocol extension
no interoperability required (expect support of SR)
Incremental deployment with incremental benefit
40. 52 Orange Restricted
Conclusion
Micro-loops are a real issue
Current solutions are not satisfying (complex or limited)
Segment routing helps in creating temporary loop-free path
Two stages convergence remains the GOOD idea !
SR micro-loop avoidance works ! : see demo from Cisco at their booth