Luxbg arcs

281 views

Published on

Presentation on ARC at University of Luxembourg

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
281
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Luxbg arcs

  1. 1. ARCsUni.lu, December 2012 Pascal Thubert (Cisco Systems)
  2. 2. AgendaARCs ConceptoLAF algorithmBicastingfArctals Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 2
  3. 3. Available Routing ConstructsBRKEWN-3012 © 2010 Cisco and/or its affiliates. All rights reserved. Unclassified 3
  4. 4. Arc concept Cursor Edge Re C Re Re v v Re v v 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 linksLinks are oriented from cursor to edges and returned by moving the cursor. We build Arcs between Safe Nodes Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 4
  5. 5. 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 cursor cursor cursor cursor cursor OmegaUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 5
  6. 6. Forwarding In normal operations, traffic flows away from the cursor and cascades from ARC to ARC along shortest path cursor cursor cursor cursor cursor cursor cursor cursor OmegaUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 6
  7. 7. Forwarding errorsAre Addressed inside an ARC by returning the incoming link,In order to exit via the other edge of this ARCIn control plane, this means that the Cursor is placed at the failure location cursor cursor A cursor cursor B cursor cursor cursor cursor Omega Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 7
  8. 8. Double breakageEach ARC is its own domain of fault recovery cursor cursor A cursor cursor B cursor cursor cursor cursor Omega Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 8
  9. 9. oLAFBRKEWN-3012 © 2010 Cisco and/or its affiliates. All rights reserved. Unclassified 9
  10. 10. Notations for Link types A B A is SPF successor of B A B A is non shortest path successor of B A ?-S B B -> A is unresolved for Safe Node S A Rev B B is standby alternate on A isolation A B Non SPF Link used to join an ARCUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 10
  11. 11. 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 D A C K M M L E F J N G H IUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 11
  12. 12. oLAF Example: Initial topology R A B D C K M L E F J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 12
  13. 13. Running the modified Algo, Start from R: R o R(A) o R(B) A and B are Heir ?-A t A B Since we have a single root we create virtual roots D C R(A) and R(B) K We note the set dependent on R(A) L as ?-A for E F convenience J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 13
  14. 14. Picking A (closest to root), and D, and C: R Then pick ?-A Pick D, A B Pick C, Each time place in ?-A ?-A the parent set D C K L E F J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 14
  15. 15. Picking B: R(A) R(B) Pick K, start ?-A ?-B building up B’s A B dependent set ?-A ?-A ?-B D C K M L E F J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 15
  16. 16. Picking M and J: R(A) R(B) ?-A ?-B A B ?-A ?-A ?-B D C - The dependent sets grow. K ?-B M L ?-B E F J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 16
  17. 17. Running the AlgoPicking L and then E: R(A) R(B) ?-A ?-B A B ?-A ?-A ?-B D C K ?-A ?-A ?-B M L ?-B E F J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 17
  18. 18. Picking G: R(A) R(B) ?-A ?-B A B ?-A ?-A ?-B D C K ?-A ?-A ?-B M L ?-B E F ?-A J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 18
  19. 19. Picking F; F is a Safe node! R(A) R(B) Examining F’s ?-A ?-B neighbors we find J A B that is B-dependent ?-A ?-A ?-B F has 2 non D C congruent path to 2 K Safe Nodes, though ?-A ?-A ?-B virtual this time ?-A M since they are R(A) L ?-B E and R(B) F ?-A J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 19
  20. 20. We can form the first infrastructure ARC! R ?-A ?-B We can use F-J to A B tie F’s shortest path to R(A) with J’s ?-A ?-A ?-B shortest path to D C R(B) K ?-A ?-A ?-B ?-A M L ?-B E F ?-A J G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 20
  21. 21. All nodes along the ARC are Safe R A B Nodes along the Rev ARC are placed Rev D C alone in there own dependent set K (not represented) Rev M Rev All other nodes are L E F returned to the Rev original set J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 21
  22. 22. Next is D R A B - D depends on A ?-A Rev - D can reach C Rev D C which is in another set K Rev M L Rev E F Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 22
  23. 23. D is a collapsed ARC R A B D’s parent A and Rev D’s preferred Rev D C neighbor C are both Safe Nodes K Rev M L Rev E F Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 23
  24. 24. Next is M R A B - Same goes for M Rev Rev D C K Rev ?-K M L Rev E F Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 24
  25. 25. M is a collapsed ARC R A B Rev Rev D C K Rev M L Rev E F Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 25
  26. 26. Picking L R A B All depend on D at Rev this point Rev D C K ?-D Rev M L Rev E F Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 26
  27. 27. Picking E R A B All depend on D at Rev this point Rev D C K ?-D ?-D Rev M L Rev E F Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 27
  28. 28. E has links to C and F R A B E has links that end Rev deeper than D’s Rev D C collapsed ARC K ?-D ?-D Rev M L Rev E F Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 28
  29. 29. E adds a buttressing ARC R A B We can form a Rev buttressing ARC Rev D C keeping E’s links that end deeper K than D’s collapsed Rev Rev ARC M L Rev E E->D becomes this F Rev reversible J L returns to the set N G H I D being the Cursor of the origin ARC is cursor for the Comb Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 29
  30. 30. Picking L R A B L forms its own Rev collapsed ARC Rev D C K ?-D Rev Rev M L Rev E F Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 30
  31. 31. Picking N R A B Rev Rev D C K Rev Rev M L Rev E F Rev ?-A J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 31
  32. 32. Picking G R A B Rev Rev D C K Rev Rev M L Rev E F Rev ?-A ?-E J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 32
  33. 33. Picking H R A B Rev Rev D C K Rev Rev M L Rev E F Rev ?-A ?-E ?-E J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 33
  34. 34. H adds a buttressing ARC R A B Rev Rev D C K Rev Rev M L Rev E F Rev Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 34
  35. 35. Picking N and G again R A B Rev Rev D C K Rev Rev M L Rev E F Rev ?-A ?-E Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 35
  36. 36. Picking N again R A B Rev Rev D C K Rev Rev M L Rev E F Rev ?-A Rev J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 36
  37. 37. Picking N again and then I R A B We’re done with the Rev set Rev D C N is still dependent K Rev N’s subgraph is Rev M monoconnected L Rev E F If N has a Rev ?-A Rev dependent set we J run the algorithm in N G that set using N as H I root. Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 37
  38. 38. Original Graph and Classical rev-SPF R R A B A B D C D C K K M M L E L E F F J J N GN G H H I I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 38
  39. 39. Original Graph and SPF-based DAG R R A B A B D C D C K K M M L E L E F F J J N GN G H H I IOnly 3 nodes are Safe but in all cases packet end in Single point of failurewaterbasins Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 39
  40. 40. Original Graph and resulting construct R R A B A B Rev Rev D C D C K K Rev Rev M M Rev L E L E F F Rev Rev J J N GN G H H I I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 40
  41. 41. Constructed ARCs R B D A C K M L E F J N G H I Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 41
  42. 42. BicastingBRKEWN-3012 © 2010 Cisco and/or its affiliates. All rights reserved. Unclassified 42
  43. 43. Adding Bicasting to ARCs Re C Re Re v v Re v v A concept of Left and Right is introduced. Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 43
  44. 44. Building L/R indicators When an ARC is formed, each end is associated to a side. At least one Right (green) and one Left (orange) per ARC cursor cursor cursor cursor cursor cursor cursor cursorH1 H2 H3 H4 H5 H6 Omega Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 44
  45. 45. Building L/R indicators (cont’d)Nodes between cursor and edge are associated to the edge sideFor an edge ending at Omega, the association is free form cursor cursor cursor cursor cursor cursor cursor cursorH1 H2 H3 H4 H5 H6 Omega Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 45
  46. 46. Building L/R indicators (cont’d) For and ARC ending in another ARC, the end is associated to the same heir as the node the ARC exits into. This keeps ARC bicasting routes close to shortest path. cursor cursor cursor cursor cursor cursor cursor cursorH1 H2 H3 H4 H5 H6 Omega Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 46
  47. 47. Building L/R indicators (cont’d) In case of collision (both ends of an ARC select the same heir) • One end picks that heir (shortest path) • The other picks the heir of the other end of the ARC it falls into cursor cursor cursor cursor cursor cursor cursor cursorH1 H2 H3 H4 H5 H6 Omega Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 47
  48. 48. Bicasted routing (ex) 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 the orange and green paths are Left and Right paths (via H2 and H6) cursor cursor A cursor cursor B cursor cursor cursor cursor H2 H6 OmegaUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 48
  49. 49. Bicasted routing (2nd ex) L/R Packets are routed away along there E/W tag, => independent of the cursor. L/R tagging is used to prevent re-U-turning in a same ARC. cursor cursor A cursor cursor B cursor cursor cursor cursor H2 H5 OmegaUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 49
  50. 50. Bicasted routing (2nd, with breakage) E/W Packets are routed away along there E/W tag, => independent of the cursor. E/W tagging is used to prevent re-U-turning in a same ARC. cursor cursor A cursor cursor B cursor cursor cursor cursor OmegaUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 50
  51. 51. Bicasted reservation (ex) 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 cursor A cursor cursor B cursor cursor cursor cursor OmegaUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 51
  52. 52. Collision type 1 Reservation Packets cross in a same arc from different entry points Resolution is to prune cross-forwarding along the ARCUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 52
  53. 53. Collision type 2 Reservation Packets enter a same arc at a same entry point This means an incoming ARC faced a coloring collision (orange below) Resolution is to return the second reservation packet along its ARC And prune the u-turn path. Say orange arrived first; green is sent back. Coloring collision: ends in orange but cannot be orange cursorUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 53
  54. 54. Collision type 2 (cont’d) The returned reservation packet arrives on the other end with the wrong color for that end, which is also the color of the other end. If the packet cannot be forwarded with its original color it is recolored to any color but that of its copy. Returning the packet for a collision is equivalent to a breakage or a missing link if the graph is not biconnected. cursor cursor cursorUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 54
  55. 55. Collision type 2 (alt) Resolution is still to return the second reservation along its ARC And prune the u-turn path. Say orange arrived last and is sent back. In this example the orange packet does not need to be recolored at the other end since that terminates in an ARC that has an orange end. cursorUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 55
  56. 56. Collision type 2 (alt cont’d) Now we are back to a collision of type 1 which is resolved by pruning opposite paths along the ARCUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 56
  57. 57. fArctalsBRKEWN-3012 © 2010 Cisco and/or its affiliates. All rights reserved. Unclassified 57
  58. 58. Laying labels.We lay omega ( labels for a destination at the level of the DODAG ofARCsWithin an ARC, the omega label is encapsulated in a lambda ( labelpath that describes the ARC and is independant of the destination. Thelambda label is semected and pushed at the ARC ingress and popped Lambdaat the ARC egress labels switched path along an ARC in both dir. Inner omega label pops for DODAG level switching Destination Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 58
  59. 59. Main labels along an ARC Cursor Junction edge Junction 3 Exit node 2 4 Re C Re 1 Re B v v C Re v 2 3 v A D 13 1 4 21 12 Intermediate Junction We build to Label switch paths along an arc Left to Right (dark blue) and Right to Left (dark red) labels are classical MPLS labelsNote the A edge node is selecting one of its exit to build a LSP, this selection could be balanced upon Omega labels Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 59
  60. 60. Backup labels along an ARC Cursor Junctionedge Junction 3bis Exit node 2bis 4bis Re C Re 1bis Re B v v C Re v 2bis 3bis v A D 13 1bis 4bis 21 12 Intermediate Junction We build to backup Label switch paths along an arc Left to Right (light red, backup of red) and Right to Left (light blue) labels are classical MPLS labels The light label paths are fast reroute backup for the dark labels The light labels do not have back ups Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 60
  61. 61. Hierachical Drawing of ARCs in a RingtopologyUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 61
  62. 62. Drawing ARCs between ringsWe start with a ring topology where rings are interconnected at intersections points (themselves maybe quite complex inside for redundancy) Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 62
  63. 63. Hierarchical ARC computation in rings(cont’d) The Interconnection type (simple, double or more intersections) does notmatter at this level of the hierarchy. All that counts is whether rings connect Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 63
  64. 64. Hierarchical ARC computation in rings (cont’d)Each ring is abstracted as a virtual supernode and a ring connection is abstracted as a link in the super topology. Complex connection points can be itemized at that level as well Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 64
  65. 65. Computing the Omega label Path R destination A B ring D C K M L E connection F between rings J M G H ITo reach a destination R we compute an ARC set over the super topology. Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 65
  66. 66. Result of the OLAF algorithm: R R A B A B Rev Rev D C D C K K Rev M M L Rev E Rev L E F F Rev J JN G Rev N G H I H I DAG visualization == ARC visualization Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 66
  67. 67. (Alt) Result of the COMB algorithm: R R A B A B Rev Rev D C D C K K Rev Rev M ML Rev L E F E F Rev Rev J JN G N G I H Rev I H Buttressing ARC links  Comb vizualization Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 67
  68. 68. Computing Omega LabelsNow we have computed an omega RARC set to destination R. In a Ring,this determines the egresses and the A Bcursor locationAgain we can lay 4 Omega Labels Dper Omega ARC. Omega labels are Cper destination but not processed Kwithin the rings MNote that for Combs, the labels follow L E Fthe labyrinth logic (Combs and combpath are discussed in another paper) JOmega Labels are switched at the N G Iconnection points. They are invisible Hwithin the Rings (they areencapsulated in lambda labels). Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 68
  69. 69. Omega level ARC (in ARC set of rings) C D Cbis E B Bbis Abis Dbis B C A D a Cbis Dbis f b Bbis Ebisa c f b c Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 69
  70. 70. Drawing ARCs within a ring (simple connection)When a Ring has a simple connection to another we draw a single ARC that goes around this ring to reach the other on both side of the connection Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 70
  71. 71. Olympic style ringsOlympic style rings have a two intersection to one another so we draw a pair of ARCs that interconnect the connection points that lead to the next ring Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 71
  72. 72. Multiple interconnectionsWe draw ARCs between contiguous intersection with another ring. Each ARC is a redundant path to that next ringUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 72
  73. 73. Label encapsulation When a packet to is injected in a ring ARC, A MPLS label is added to allow forwarding along the ARC In ARC, is the destination node in which FEC are defined ARC label FEC label packet ( ) ( ) A table indicates the preferred and the backup labels along the ARC The preferred is the one that goes away from the cursor Incoming label Preferred switched L label Backup switched label Rbis Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 73
  74. 74. In infrastructure Junction e.g. B B A Cbis BbisIncoming label B Bbis Bbis BPreferred switch label A Abis Cbis BEncapsulating ARCAlternate label Bbis N/A N/A BbisUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 74
  75. 75. Operation in infra junction ring Incoming label B Bbis Bbis B Preferred switch label A Abis Cbis B Encapsulating ARC Alternate label Bbis N/A N/A Bbis• Packet incoming Ring with label B.• Table indicates to encaps in ARC towards A’s intersections• A Label is added to forward the packet away from cursor• Say the ARC is broken in that direction• is switch to bis to follow the backup label path towards the other edge• Say the ARC is broken there too. bis has no backup so it is popped• Thus forwarding over to A is broken. A is switched to alternate Bbis• Packet now follows ARC towards ring C over the backup LSP Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 75
  76. 76. In edge Junction e.g. A a c b Incoming label A abis bbis cbis Preferred switch label a b c Abis Encapsulating ARC Alternate label abis bbis cbis Bbis Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 76
  77. 77. Operation in edge Junction Incoming label A abis bbis cbis Preferred switch label a b c Abis Encapsulating ARC Alternate label abis bbis cbis Bbis• Packet incoming Ring with label A.• Table indicates to encaps in ARC towards a’s intersections• A Label is added to forward the packet away from cursor• Say the ARC is broken in that direction• is switch to bis to follow the backup label path towards the other edge• Say the ARC is broken there too. bis has no backup so it is popped• Thus forwarding over to a is broken. a is switched to alternate abis• Packet now follows ARC towards ring b over• All possible exits a, b, c are tried and if all fail packet goes back to B Uni.lu Unclassified © 2012 Cisco and/or its affiliates. All rights reserved. 77
  78. 78. Parallel rings B A B A D C D C E F E H F G G I H IUni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 78
  79. 79. Parallel rings (cont’d)A B A B A B AC D C D C DE F E F E F E G G GH I H I H I H Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 79
  80. 80. Label encapsulation When a packet to is injected in a ring ARC, A MPLS label is added to allow forwarding along the ARC In ARC, is the destination node in which FEC are defined intra label ring label interring label packet () ( ) ( ) ARC to reach the next hop in a Ring ARC to reach the next ring ARC to reach the destination Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 80
  81. 81. Questions? Uni.lu © 2012 Cisco and/or its affiliates. All rights reserved. Unclassified 81

×