Segment Routing
Total Page:16
File Type:pdf, Size:1020Kb
Application Engineered Routing: Allowing Applications to Program the Network BRKSPG-2066 Rob Piasecki, Solutions Architect, Services, [email protected] Agenda • AER: Industry Drivers & Overview • AER: Architecture & Technical Concepts . Segment Routing . Intelligent SDN Controller • Use Cases & Implementation . Purpose Built Applications . Demo • Conclusion AER: Industry Drivers & Overview The Problem The Network is facing new challenges Cloud Services IoE Mobility Dynamic and changing traffic patterns UHD Increasingly diverse applications with application-specific transport requirements Other End-to-End control required IPv6 EVOLVED PROGRAMMABLE NETWORK5 Networks Need to be Rethought Applications and Network interaction is key IP APPLICATIONS Core Edge EVOLVED SERVICES PLATFORM Acce ss/ Agg IPv6 EVOLVED PROGRAMMABLE NETWORK IP NGN Era Designed to support a set of services Designed to support any kind of services Static traffic patterns Dynamic traffic patterns Manual configuration (CLI) Automation (APIs, Controllers, …) Apps Independent of Network App & Network Interaction 6 Specific Approaches to the Problem A continuum of enhanced solutions Hosts DC Core Agg Hosts DC Core Agg Hosts DC Core Agg One device, single domain Many devices, single domain Many devices, across domains IP NGN Era EPN Era Policy-Based routing MPLS TE . Scalable Evolution required Effective solutions with some caveats: . Stateless to address the . Little or no application / network interaction new paradigm . Scalability . Programmable . Configuration & troubleshooting complexity . States to be maintained in each network node . Ease of configuration & troubleshooting 7 Applications & Network Interaction Implications for the Network Fabric Many applications with dynamic and changing traffic patterns IP Networks IP Networks & Traffic Engineering Limitations . Limited to a single network Impediment to service domain creation . Scalability . Configuration & Major scalability issues troubleshooting complexity . States to be maintained in Operational challenges Shortest path with QoS Traffic-engineered tunneling each network node IP Networks Evolution 8 The Solution Application Engineered Routing Applications express Applications are mapped to a path defined requirements – bandwidth, Applications latency, interactive … 1 by a list of segments SDN 3 Controller Segment Network maintains segments only 2 Routing The controller collects data from the No application state (SW upgrade) network – topology, link states, link utilization, … 9 Application Engineered Routing Evolve MPLS with Segment Routing Mission – Route the luggage to Berlin Segment Routing London 1. A luggage tag is attached with the Toronto final destination Seattle Berlin 2. Luggage identified and routed to the next destination RSVP-TE New-York Madrid Mexico RESULT: No control over the path – Luggage is routed over the shortest path TXL IP/LDP 10 Application Engineered Routing Evolve MPLS with Segment Routing Mission – Route the luggage to Berlin via Mexico and Madrid Segment Routing London Toronto 1. At each stop, the luggage is Seattle Berlin identified and routed to the next hop A list of all the paths has to be RSVP-TE New-York Madrid maintained Mexico 2. A specific tag is assigned to each piece of 20000 luggage, IP/LDP i.e. Tunnel ID 20000, is created to identify the SEA MEX 20000 path Seattle-Mexico-Madrid-Berlin MAD TXL 20000 Path can be controlled RESULT: . MEX MAD . Complexity and scalability issues 11 Application Engineered Routing Evolve MPLS with Segment Routing Mission – Route the luggage to Berlin via Mexico and Madrid Segment Routing London Toronto 1. A unique and global luggage tag Seattle Berlin is attached to the luggage with the list of stops to the final RSVP-TE New-York Madrid destination Mexico MEX 2. At each stop, the luggage is simply routed to the next hop listed on the IP/LDP MAD luggage tag TXL . Path can be controlled MAD RESULT: TXL . Simple and scalable TXL 12 Application Engineered Routing Segment Routing – Technical view Path expressed in Data Plane Data the packet MPLS IPv6 Dynamic path (segment labels) (+SR header) Control Plane Routing protocols with extensions SDN controller (IS-IS,OSPF, BGP) Explicit path Paths options Dynamic Explicit (STP computation) (expressed in the packet) 13 Application Engineered Routing Journey Adding value at your own pace Enable Segment Routing on EPN Platforms (Software only) Insert ESP components – Orchestration, SDN controller Connect with Cisco’s and third party VNFs Benefits Network Simplification Network Resiliency End-User Experience Network Optimization Service Velocity E2E Application Control 14 Application Engineered Routing Solution Components Network Bandwidth Low-latency Disjoint 3rd-party applications Applications calendaring path selection recovery path Northbound RESTful APIs interfaces 3rd-party ESP WAE NSO VTS controller Southbound Netconf/Yang BGP LS PCEP Configlets interfaces Segment Routing (SR) across Cisco platforms NEXUS 3rd-party platforms ASR 9K ASR 1K VNF EPN 9000 supporting SR NCS 6K … … … Physical Virtual 15 Technology Innovation Driving Business Outcomes Lower network resources Stateless consumption Optimized CapEx Higher link Scalability utilization Ease of configuration Ease of troubleshooting Economic Network resiliency Reduced OpEx Value Automated 50ms protection Programmability Better End-User Increased Customer experience Lifetime Value Per application traffic steering SLAs Monetization 16 Why Cisco ? Comprehensive portfolio for delivering an end-to- 1 end Application Engineered Routing solution Open solution to match diverse customer needs (IETF 2 standard, APIs) Phased approach to Application Engineered Routing 3 solution (not a rip & replace solution) 17 Architecture & Technical Concepts: Segment Routing Segment Routing • Unified • DC + WAN + Aggregation • from server in the DC, through WAN and to the service edge • Policy-aware • DC: disjoint planes, flow-based congestion avoidance • WAN: disjoint services, latency-sensitive traffic, scheduled bulk transfer • Application programs the end-to-end policy • The end-to-end policy is encoded by the application as an SR segment list in the packet header • Balance between distributed and centralized intelligence • Distributed: automated sub-30msec FRR link/node in any topology with optimum backup path • Centralized: traffic optimization for better use of the installed capacity • Applicable to MPLS and IPv6 dataplanes • Much simpler to operate than MPLS Classic 19 Segment Routing • Source Routing: the source chooses a path and encodes it in the packet header as an ordered list of segments. • Segment: an identifier for any type of instruction • Service • Context • Locator Segment = Instructions such as • IGP-based forwarding construct "go to node N using the shortest path" • BGP-based forwarding construct • Local value or Global Index 20 Segment Routing • MPLS: an ordered list of segments is represented as a stack of labels • SR re-uses MPLS dataplane without any change • IPv6: an ordered list of segments is represented as a routing extension header, see 4.4 of RFC2460 • IGP-based segments require minor extension to the existing link- state routing protocols (OSPF and IS-IS). 21 IGP Segments Node segment to C Node segment to C A B C D Adj Segment Z M N O P Node segment to Z • Simple extension to let IGP install segments in the MPLS dataplane • Excellent Scale: a node installs N+A FIB entries • N node segments and A adjacency segments 22 Node Segment FEC Z swap 16065 swap 16065 push 16065 to 16065 to 16065 pop 16065 A B C D A packet injected Z 16065 anywhere with top 16065 16065 16065 Packet to Packet to Packet to Packet to Packet to segment 16065 will Z Z Z Z Z reach Z via shortest-path • Z advertises a global node segment 16065 with its loopback • simple ISIS sub-TLV extension • default SRGB [16000, 23999] at all nodes is a request from all lead operators for operational simplicity. The protocol and implementation allows for different SRGB at every node • All remote nodes install in their FIB the node segment 16065 to Z 23 Node Segment A B C D Z M N O P 16078 • ECMP • A node segment to 16078 distributes traffic across all ECMP paths to O 24 Adjacency Segment A packet injected at A B C D node C with segment Pop Z 29003 29003 is forced M N O P through datalink CO • C allocates a local segment 29003 and maps it to the instruction “complete the segment and forward along the interface CO” • C advertises the adjacency segment in ISIS • simple sub-TLV extension • C is the only node to install the adjacency segment in FIB 25 Explicit path as Segment List • ECMP • Node segment • Per-flow state only at head-end • not at midpoints 16072 16072 • Source Routing A B C D • the path state is in the packet header 16078 Z M N O P 16065 16065 26 Explicit path as Segment List • ECMP 16072 • Node segment 16078 16065 • Per-flow state only at head-end Packet to Z • not at midpoints 16072 16072 • Source Routing A B C D • the path state is in the packet header 16078 Z M N O P 16065 16065 26 Explicit path as Segment List • ECMP 16072 • Node segment 16078 16065 • Per-flow state only at head-end Packet to Z • not at midpoints 16072 16072 • Source Routing A B C D • the path state is in the packet header 16078 Z M N O P 16065 16065 26 Explicit path as Segment List • ECMP • Node segment 16078 16065 • Per-flow state only at head-end Packet to Z • not at midpoints 16072 16072 • Source Routing A B C D • the path state is in the packet header 16078 Z M N O P 16065 16065 26 Explicit