arcs - etsi...a bicasted routing (ex) cursor cursor 2 packet copies are colored by the colors of the...
TRANSCRIPT
ARCs
ETSI, 9-11 April 2013
Pascal Thubert (Cisco Systems)
Patrice Bellagamba (Cisco Systems)
Centralized Routing Goals
� Distributed was created for high availability (DARPA)
� Centralized can optimize routing from God’s view
Traffic Engineering
Deterministic Routing
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 2
� Yet must provide additional reliability measures
Multipath redundancy
Duo/bicasting
� Room for both centralized and distributed
Centralized for optimization and virtualization
Distributed for autonomic and ultra available
Problem: routing availability
� Classical trees and Directed Acyclic Graph (DAG) topologies do not provide non-congruent alternate routes for all nodes
� State of the art Fast Reroute (FRR) tolerates 1 failure but may drop traffic or loop upon 2
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 3
failure but may drop traffic or loop upon 2
� Yet accidental damage to a fiber harness hits multiple links (Shared Risk Link Group)
� Same goes for interferences in wireless
Arc concept
An Arc is a 2 ended reversible path
C
Rev
Re
v
Re
v Rev
EdgeCursor
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 4
An Arc is a 2 ended reversible path
Edges are directed outwards; links within are reversible
An arc is resilient to any link or Junction break by returning links
Links are oriented from cursor to edges and returned by moving the cursor.
We build Arcs between Safe Nodes
ARC topology
ARCs form dual or multi-ended structures• An ARC stitches 2 SPF subpaths together
• ARCs + buttressing ARCs = Comb
• One cursor per ARC / Comb as the water separation line
cursor
cursor cursor
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 5
cursor
cursor cursor
cursor
cursorcursor
cursor
Omega
Forwarding
In normal operations, traffic flows away from the cursor and cascades from ARC to ARC along shortest path
cursor
cursor cursor
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 6
cursor
cursor cursor
cursor
cursorcursor
cursor
Omega
A
Forwarding errors
Are Addressed inside an ARC by returning the incoming link, In order to exit via the other edge of this ARC
In control plane, this means that the Cursor is placed at the failure location
cursor
cursor cursor
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 7
A
cursor
cursor cursor
cursor
cursorcursor
Bcursor
Omega
A
Double breakage
Each ARC is its own domain of fault recovery
cursor
cursor cursor
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 8
A
cursor
cursor cursor
cursor
cursor
cursor
Bcursor
Omega
A
Bicasted routing (ex)
cursor
cursor
2 packet copies are colored by the colors of the ARC through which the original packet is injected
Packet copies exit ARCs by the the edge corresponding to their color.
Below, the black path is shortest whereas theorange and green paths are Left and Right paths (via H2 and H6)
cursor
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 9
A
cursor
cursor
cursor
cursorcursor
cursor
Bcursor
H2 H6
Omega
A
Bicasted reservation (ex)
cursor
cursor
Reservation Packets are routed away along there E/W tag,
For traffic coming back from root (bi-casted, in red)Collisions are identified and resolved (next slides)
cursor
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 10
A
cursor
cursor
cursor
cursorcursor
cursor
Bcursor
Omega
Load Balancing & complex destinations
The cursor may send traffic on both directionsOther ingresses send traffic away from cursor
cursor
cursor cursor
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 11
cursor
cursor cursor
cursor
cursor
cursor
Omega
cursor
50/50
Load Balancing (light congestion)
The cursor may balanceClassical control loop, no routing change, no « ARPANET » oscillation
cursor
cursor cursor Fwd plane
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 12
cursor
cursor cursor
cursor
cursor
Omega
cursor
75/25
Fwd plane Control loop
cursor
Load Balancing (hard congestion)
Congestion notification is injected in incoming ARCs
cursor
cursor cursor
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 13
cursor
cursor cursor
cursor
cursor
Omega
cursor
50/50
cursor
Load Balancing (hard congestion)
Load spreads over slightly longer paths
cursor
cursor cursor
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 14
cursor
cursor cursor
cursor
cursor
Omega
cursor
50/50
cursor
oLAF
© 2010 Cisco and/or its affiliates. All rights reserved. 15UnclassifiedBRKEWN-3012
Notations for Link types
A is SPF successor of BA B
A is non shortest path successor of
BA B
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 16
B -> A is unresolved for Safe Node SA B
A B
A B
B is standby alternate on A isolation
Non SPF Link used to join an ARC
B
Rev
?-S
LAF (Lowest ARC First)
LAF is a SPF variation that creates ARCs by connecting SPF paths
- The ARCs include the SPF tree- The algorithm identifies the mono-connected zones
- and provides redundancy inside such zones
R
B
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 17
F
M
N
L
A
E
G H
I
M
K
J
D
C
B
oLAF Example: Initial topology
R
A
D
B
K
C
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 18
L
K
J
EF
GH I
M
N
Running the modified Algo, Start from R:
A
D
B
K
C
Root
R(A) R(B) A and B are Heir
Since we have a
single root wecreate virtual rootsR(A) and R(B)
We note the set
?-A
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 19
L
K
J
EF
GH I
We note the set dependent on R(A)
as ?-A for
convenience
N
Picking A (closest to root), and D, and C:
R
A
D
B
K
C
Then pickPick D,
Pick C,
Each time place in the parent set
?-A ?-A
?-A
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 20
L
K
J
EF
GH I
N
Picking B:R(A)
A
D
B
K
C
Pick K, startbuilding up B’s
dependent set
?-A ?-A?-B
R(B)
?-A ?-B
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 21
L
K
J
EF
GH I
M
N
Picking M and J:
A
D
B
K
C - The dependent
sets grow.
?-A ?-A?-B
?-B
R(A) R(B)
?-A ?-B
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 22
L
K
J
EF
GH I
?-BM
?-B
N
Running the AlgoPicking L and then E:
A
D
B
K
C?-B
?-A?-A
?-A ?-A
?-B
?-A ?-BR(A) R(B)
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 23
L
K
J
EF
GH I
?-B
?-A?-AM
?-B
N
Picking G:
A
D
B
K
C?-B
?-A?-A
?-A ?-A
?-B
?-A ?-BR(A) R(B)
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 24
L
K
J
EF
GH I
?-B
?-A?-A
?-A
M
?-B
N
Picking F; F is a Safe node!
A
D
B
K
C
Examining F’s
neighbors we find J
that is B-dependent
F has 2 non
congruent path to 2
Safe Nodes, though virtual this time
?-B
?-A?-A
?-A ?-A
?-B
?-A ?-BR(A) R(B)
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 25
L
K
J
EF
G
H I
virtual this time since they are R(A)
and R(B)?-B
?-A?-A?-A
?-A
M
?-B
N
We can form the first infrastructure ARC!
R
A
D
B
K
C
We can use F-J to
tie F’s shortest path
to R(A) with J’s shortest path to
R(B)?-B
?-A?-A
?-A ?-A
?-B
?-A ?-B
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 26
L
K
J
EF
GH I
?-B
?-A?-A?-A
?-A
M
?-B
All nodes along the ARC are Safe
R
A
D
B
K
CRev
RevNodes along the
ARC are placed alone in there own
dependent set(not represented)
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 27
L
K
J
EF
GH I
Rev
Rev
Rev
N
M
(not represented)
All other nodes are
returned to the
original set
Next is D
R
A
D
B
K
CRev
Rev- D depends on A
- D can reach C which is in
another set
?-A
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 28
L
K
J
EF
GH I
Rev
Rev
Rev
N
M
D is a collapsed ARC
R
A B
K
CRev
RevD’s parent A and
D’s preferredneighbor C are both
Safe NodesD
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 29
L
K
J
EF
GH I
Rev
Rev
Rev
N
M
Next is M
R
A B
K
CRev
Rev- Same goes for M
?-K
D
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 30
L
K
J
EF
GH I
Rev
Rev
Rev
N
M?-K
M is a collapsed ARC
R
A B
K
CRev
Rev
D
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 31
L
K
J
EF
GH I
Rev
Rev
Rev
N
M
Picking L
R
A B
K
CRev
Rev
D
?-D
All depend on D at
this point
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 32
L
K
J
EF
GH I
Rev
Rev
Rev
N
M?-D
Picking E
R
A B
K
CRev
Rev
D
?-D?-D
All depend on D at
this point
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 33
L
K
J
EF
GH I
Rev
Rev
Rev
N
M?-D?-D
E has links to C and F
R
A B
K
CRev
Rev
D
?-D?-D
E has links that end
deeper than D’s collapsed ARC
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 34
L
K
J
EF
GH I
Rev
Rev
Rev
N
M?-D?-D
E adds a buttressing ARC
R
A B
K
CRev
RevWe can form a
buttressing ARC keeping E’s links
that end deeperthan D’s collapsed
D
Rev
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 35
L
K
J
F
GH I
Rev
Rev
Rev
N
M
than D’s collapsed
ARC
E->D becomes this
reversible
L returns to the set
D being the Cursor
of the origin ARC iscursor for the Comb
E
Rev
Picking L
R
A B
K
CRev
RevL forms its own
collapsed ARC
D
Rev?-D
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 36
L
K
J
F
GH I
Rev
Rev
Rev
N
M
E
Rev?-D
Picking N
R
A B
K
CRev
Rev
D
Rev
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 37
K
J
F
GH I
Rev
Rev
Rev
N
M
EL
?-A
Rev
Picking G
R
A B
K
CRev
Rev
D
Rev
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 38
K
J
F
GH I
Rev
Rev
Rev
N
M
E
Rev
?-E
L
?-A
Picking H
R
A B
K
CRev
Rev
D
Rev
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 39
K
J
F
GH I
Rev
Rev
Rev
N
M
E
Rev
?-E
L
?-A ?-E
H adds a buttressing ARC
R
A B
K
CRev
Rev
D
Rev
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 40
K
J
F
G
I
Rev
Rev
Rev
N
M
E
Rev
L
Rev
H
Picking N and G again
R
A B
K
CRev
Rev
D
Rev
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 41
K
J
F
G
I
Rev
Rev
Rev
N
M
E
Rev
L
Rev
H
?-E?-A
Picking N again
R
A B
K
CRev
Rev
D
Rev
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 42
K
J
F
I
Rev
Rev
Rev
N
M
E
Rev
L
Rev
HG
?-A
Picking N again and then I
R
A B
K
CRev
Rev
D
Rev
We’re done with the set
N is still dependent
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 43
K
J
F
I
Rev
Rev
Rev
N
M
E
Rev
L
Rev
H
N’s subgraph ismonoconnected
If N has a dependent set we
run the algorithm in
that set using N as
root.G
?-A
Original Graph and Classical rev-SPF
R
A B
K
CD
R
A
D
B
K
C
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 44
K
J
F
N
M
EL
HG
I
L
K
J
EF
GH I
M
N
Original Graph and SPF-based DAG
R
A B
K
CD
R
A
D
B
K
C
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 45
K
J
F
N
M
EL
HG
I
L
K
J
EF
GH I
M
N
Only 3 nodes are Safe but in all cases packet end in Single point of failurewaterbasins
Original Graph and resulting construct
R
A B
K
CDRev
Rev
Rev
R
A
D
B
K
C
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 46
K
J
F
N
M
EL
HG
I
Rev
Rev
Rev
Rev
Rev
L
K
J
EF
GH I
M
N
Constructed ARCs
R
A
K
D
C
B
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 47
F
M
N
LE
G HI
M
K
J
Conclusion
ARCs Concept
Unicast, bicast, multicast
Fast reroute
Load Balancing
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 48
oLAF algorithm
Simple, can be optimized
Destination Oriented
)
Questions?
© 2013 Cisco and/or its affiliates. All rights reserved. UnclassifiedARCs 49