1 / 117

SR-MPLS Update - DKNOG Clarence Filsfils Cisco Fellow

Industry backs up SR Multi-vendor Consensus with strong customer adoption in SP, DC, Metro, and Enterprise networks. Standardization in IETF for de-facto SDN architecture. Enhanced OAM and PerfMon, micro-loop avoidance, and 5G three-tiered latency service. SR-TE and Flex-Algo for delay optimization. SR-PCE and binding segments for seamless deployment and automated steering. MPLS/SDN 2015 talk on Segment Routing and source routing. Available on Amazon.

kathleenp
Télécharger la présentation

SR-MPLS Update - DKNOG Clarence Filsfils Cisco Fellow

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SR-MPLS Update - DKNOG Clarence Filsfils Cisco Fellow – cf@cisco.com

  2. Industry at large backs up SR Multi-vendor Consensus • Open Source • Linux, VPP Strong customer adoption WEB, SP, DC, Metro, Enterprise Standardization IETF De-facto SDN Architecture

  3. SR Unified Fabric Attributes Seamless Deployment Inter Domain On-Demand SR policy & Automated Steering Stateless Service Chain Automated 50ms Protection Enhanced OAM & PerfMon Micro-Loop Avoidance

  4. 5G three-tiered latency serviceSR-TE and Flex-Algo delay bound = 15 3 1 2 min-delay 4 6 5 Min Cost

  5. Part II is available! amzn.com/B01I58LSUO amazon.com/dp/B07N13RDM9

  6. ReminderMPLS/SDN 2015 talk

  7. Segment Routing • Source Routing • the source chooses a path and encodes it in the packet header as an ordered list of segments • the rest of the network executes the encoded instructions without any further per-flow state • Segment: in MPLS, a label

  8. IGP Prefix Segment • Shortest-path to the IGP prefix • Global • 16000 + Index • Signaled by ISIS/OSPF

  9. IGP Adjacency Segment • Forward on the IGP adjacency • Local • 1XY • X is the “from” • Y is the “to” • Signaled by ISIS/OSPF

  10. BGP Peering Segment • Forward to the BGP peer • Local • 1XY • X is the “from” • Y is the “to” • Signaled by BGP-LS (topology information) to the controller

  11. SR PCE SR PCE • SR PCE collects via BGP-LS • IGP segments • BGP segments • Topology BGP-LS BGP-LS 5 7 4 6 2 BGP-LS Low Lat, Low BW 14 13 12 11 3 1 10 PEER DC (BGP-SR) WAN (IGP-SR)

  12. An end-to-end path as a list of segments SR PCE • SR-PCE computes that the green path can be encoded as • 16001 • 16002 • 124 • 147 • SR-PCE programs a single per-flow state to create an application-engineered end-to-end policy Low-Latency to 7for application … 7 6 4 2 5 Low Lat, Low BW 50 {16001, 16002, 124, 147} 13 12 11 10 3 1 14 Default ISIS cost metric: 10 PEER DC (BGP-SR) WAN (IGP-SR)

  13. Binding Segment SR PCE PCEP-request (SR Policy, low-latency, to 4) • SR-PCE instructs edge to install an SRTE policy • For this traffic, push this list of segments • The edge router assigns a binding segment to the SRTE policy and installs it in dataplane • Pop and Push the related list of segments • Binding segment is local • Controller collects binding segments and characteristics of the SRTE policies (e.g. PCEP) PCEP-reply (OK, BSID: 200) 2 4 6 5 50 200: pop and push {16002, 124} 3 1 Default ISIS cost metric: 10Default Latency metric: 10 WAN

  14. An end-to-end path with binding segment SR PCE • SR-PCE computes that the green path can be encoded as • 16001 • 200 • 147 Low-Latency to 7for application … 5 7 4 2 6 Low Lat, Low BW 50 Push{16001,200, 147} 13 12 11 10 3 1 14 Default ISIS cost metric: 10Default Latency metric: 10 PEER PEER DC (or AGG) WAN

  15. Segment Routing • Inter-domain Policy • Undelivered service prior to SR • Stateless • RSVP-TE lays state in n^2*k • Scale • Simplification • No LDP, no RSVP-TE • Automation • TI-LFA, SR native algorithm, SR-PCE

  16. Per-Link Delay Measurement

  17. Link Delay – Probe Measurement • One Way Delay = (T2 – T1) • Two-Way Delay = ((T2 – T1) + (T4 – T3)) / 2 • Timestamps added in hardware • PM Query message using RFC 6374 packet format with MPLS/GAL or IP/UDP Encap performance-measurement interface GigE0/0/0/0 delay-measurement performance-measurement interface GigE0/0/0/0 delay-measurement RX Timestamp T2 TX Timestamp T1 PM Query Packet 1 2 Local-end Remote-end PM Response Packet TX Timestamp T3 RX Timestamp T4 Default: every 3 sec

  18. Per measurement interval • Probe every 3sec • Over a measurement interval (default 30sec) • minimum • average • maximum • variance

  19. SRTE handles Minimum delay (propagation delay) • Minimum delay provides the propagation delay • fiber length / speed of light • A property of the topology • with awareness of DWDM circuit change • SRTE (Policy or Flex-Algo) can optimize on min delay

  20. QoS handles Average, Max and Variance (buffer) • Depends on buffer congestion • (traffic burst over line rate) / line rate • Highly variable at any time scale • Not controlled by routing optimization • Controller by QoS • Priority queue, WRR, WFQ… • Tail-Drop, RED…

  21. Routing stability – Telemetry accuracy Every 30sec (10 queries) EDT Telemetry push 1 2 Every 120sec IF significant min changeTHEN trigger an ISIS/OSPF flood ISIS/OSPF/BGP-LS update

  22. ISIS, OSPF, and BGP-LS signaling • Advertise extended TE metrics – e.g. link delay (in usec) • Unidirectional Link Delay • Minimum and Maximum Unidirectional Link Delay • Unidirectional Link Delay Variation • RFC 7810 (IS-IS) • RFC 7471 (OSPF) • draft-ietf-idr-te-pm-bgp (BGP-LS)

  23. IGP SR Flex-Algo for min delay Leveraged by SRTE • SR Policy for min delay router isis 1 flex-algo 128 metric-type delay segment-routing traffic-eng policy FOO color 20 end-point ipv4 1.1.1.3 candidate-paths preference 100 dynamic metric type delay

  24. Per-Policy Delay Measurement

  25. Configuration SR Policy 2 4 1 5 Headend Endpoint D:100 D:100 Default ISIS metric: 10 Default ISIS delay (D): 10 3 segment-routing traffic-eng policy FOO color 20 end-point ipv4 1.1.1.5 delay-measurement candidate-paths preference 100 dynamic metric type delay

  26. Probe Measurement • One Way Delay = (T2 – T1) • Requires clock synchronization • Default: Send Query every 3 sec • PM packets same format as link delay measurement RX Timestamp T2 TX Timestamp T1 PM Query Packet In SR Policy SR Policy 2 4 1 5 Headend Endpoint 3 PM out-of-bandResponse Packet

  27. Telemetry • Use telemetry to collect the evolution of the end-to-end delay metrics at fine time scale (min, max, avg at probe period) • In first release, no routing reaction to excess measured latency Every 30sec (10 queries) EDT Telemetry push 2 4 1 5 3

  28. SR IGP Flex-Algo

  29. Flexible Algorithm • We call “Flex-Algo” • An algorithm defined by the operator, on a per-deployment basis • Flex-Algo K is defined as • The minimization of a specified metric: IGP, TE or delay • The exclusion of certain link properties: affinity or SRLG • Example • Operator1 defines Flex-Algo 128 as “minimize IGP metric and avoid link-affinity “green” • Operator2 defines Flex-Algo 128 as “minimize delay metric and avoid link-affinity “blue”

  30. Flex-Algo Participation and Prefix-SID • Each node MUST advertise the Flex-Algo(s) that it participates in • A Flex-Algo K can be enabled on all or a subset of nodes • Each node can participate in multiple Flex-Algos • Likely it also advertises prefix SIDs for these Flex-Algos

  31. Example: 3 planes: 0 / 128 / 129 • All nodes support standard Algo 0 • Green nodes advertise support for Flex-Algo 128 as “Minimize IGP metric” • Red nodes advertise support for Flex-Algo 129 as “Minimize IGP metric” • Each node k advertises a Prefix SID for every Algo it supports: • 1600k for Algo 0 • 1680k for Algo 128 • 1690k for Algo 129 16002 Algo 0 1 2 16802 Flex-Algo 128 Alg128 4 3 0 • 16009 Algo 0 9 16809 Flex-Algo 128 6 5 Alg129 • 16909 Flex-Algo 129 7 8 16007 Algo 0 • 16907 Flex-Algo 129

  32. No additional loopback address • Flex-Algo Prefix SIDs can be advertised as additional prefix-SIDs of the existing loopback address 1 2 4 3 1.0.0.9/32 • 16009 Algo 0 • 16809 Flex-Algo 128 • 16909 Flex-Algo 129 0 9 6 5 7 8

  33. Flex-Algo Definition • Each node MUST have the definition of the Flex-Algo(s) that it is participating in • e.g. Flex-Algo 128: minimize on IGP metric and avoid TE affinity RED • Local configuration • likely automated via a solution such as NSO • Learned from a central entity via ISIS flooding • new top TLV defined for Flex-Algo definition advertisement Algo 128: minimize IGP metric Algo 129: minimize IGP metric

  34. Computation • A node N computes Flex-Algo K if • it is enabled for K, and • it has a consistent definition for K • If so, the first step is to define the topology of K • N prunes any node that is not advertising participation to K • N prunes any link that is excluded by the algorithm of K • e.g. if K excludes TE-affinity RED then any link with TE-affinity RED is pruned • The resulting topology is called Topo(K) • The second step is to compute shortest-path tree on Topo(K) with the metric defined by K • it could be the IGP metric, the TE metric or the delay

  35. FIB installation • The third step is to install any reachable Prefix-SID of Flex-Algo K in the forwarding table along the computed shortest-path on Topo(K)

  36. Summing up the config 16002 Algo 0 16802 Flex-Algo 128 • Grey nodes support Algo 0/128/129 • Green nodes support 0/128 • Red nodes support 0/129 • Algo 128: minimize IGP metric • Algo 129: minimize IGP metric • Each node K advertises a Prefix SID for every Algo it supports: • E.g. 1600K for Algo 01680K for Algo 1281690K for Algo 129 1 2 Alg128 4 3 0 • 16009 Algo 0 9 16809 Flex-Algo 128 6 5 • 16909 Flex-Algo 129 7 8 Alg129 16007 Algo 0 • 16907 Flex-Algo 129

  37. Topo(0) 1 2 4 3 0 9 6 5 7 8

  38. Topo(128) 1 2 Alg128 4 3 0 9

  39. Topo(129) 0 9 6 5 7 8 Alg129

  40. Prefix-SID 16009 of Algo 0 1 2 4 3 0 9 6 5 7 8

  41. Prefix-SID 16809 of Flex-Algo 128 1 2 4 3 0 9

  42. Prefix-SID 16909 of Flex-Algo 129 0 9 6 5 7 8

  43. TI-LFA • The TI-LFA algorithm is performed within Topo(K) • The backup path is expressed with Prefix-SIDs of Algo K • Benefits: the backup path is optimized per Flex-Algo!

  44. ODN and AS Inter-Domain delay 2/8 via 9 with min delay 2/8 via 9 with min-delay • Any node of both domain supports Algo 128 • Algo 128 is defined as min-delay • The delay of each link is reported in drawing BGPRR 23 9 3 1 2 2 2 1 1 1 2/8 9 0 16 7 2 2 4 5 6 Domain 1 Domain 2 • The IGP metric per link is 10 • 9 advertises 2/8 with color 100

  45. ODN and AS Inter-Domain delay – Cont. SR PCE 1: Min-delay to 9? • Upon receiving 2/8, node 0 dynamically creates an SR Policy to 9 • As 9 is beyond its domain, node 0 requests the computation from its PCE • PCE replies with MPLS stack <16805, 16809>, leveraging the Flex-Algo(128) SIDs 2: <16805, 16809> FIB 2/8: push <16805, 16809> 23 9 Algo 128:16809 3 1 2 2 2 1 1 1 2/8 9 Algo 128:16805 0 16 7 2 2 4 5 6 16809 16805

  46. Cumulative-Metric Bound

  47. 3-tiered latency service • Minimum Latency • ISIS Flex-Algo 128  minimize the delay to the endpoint • Minimum Cost • ISIS Algo 0  minimize the isis metric to the endpoint

  48. 3-tiered latency service • Minimum Latency • ISIS Flex-Algo 128  minimize the delay to the endpoint • Minimum Cost • ISIS Algo 0  minimize the isis metric to the endpoint • Minimum Cost but with a bound on the delay • SRTE Policy • SR Native Algorithm • Minimize IGP metric • Cumulative delay along the path <= delay bound Another obvious business service that was never realized before SR

  49. Business Relevance: Cost vs Latency • Core • Cheaper • Longer delay • Access Shortcut • Most expensive • Lowest latency • Metro Shortcut • In-between Access Metro Core 3 1 2 4 6 5

  50. Bulk of the traffic - Best-Effort 3 1 2 4 6 5 Min igp metric

More Related