A Segment Routing (SR) Tutorial. R. Bonica NANOG70 June 6, 2017

Similar documents
Introduction to Segment Routing

MPLS Segment Routing in IP Networks

SDN Workshop. Contact: WSDN01_v0.1

Internet Engineering Task Force (IETF) Category: Standards Track. B. Decraene S. Litkowski Orange R. Shakir Google, Inc. July 2018

MPLS etc.. MPLS is not alone TEST. 26 April 2016 AN. Multi-Protocol Label Switching MPLS-TP FEC PBB-TE VPLS ISIS-TE MPƛS GMPLS SR RSVP-TE OSPF-TE PCEP

NETWORK DEPLOYMENT WITH SEGMENT ROUTING (SPRING)

MENOG 18. Segment Routing. Vahid Tavajjohi. From HAMIM Corporation

Configure Segment Routing Mapping Server

2D1490 p MPLS, RSVP, etc. Olof Hagsand KTHNOC/NADA

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

Using Segment Routing OAM

MPLS Ping and Traceroute for BGP and IGP Prefix-SID

Segment Routing Commands

Segment Routing Configuration Guide, Cisco IOS XE Fuji 16.7.x

Segment Routing MPLS OAM Support

Segment Routing Configuration Guide

Introduction to Segment Routing Santiago Álvarez, Distinguished Technical Marketing Engineer BRKRST-2124

MPLS/RSVP/BGP lab KTH CSC. Juniper version. Group Nr. Name1. Name2. Name3. Name4. Name5. Grade. Instructor s Signature

Multi Protocol Label Switching (an introduction) Karst Koymans. Thursday, March 12, 2015

Segment Routing. Clarence Filsfils Distinguished Engineer

Segment Routing MPLS OAM Support

ISIS - SR: uloop Avoidance

Practice exam questions for the Nokia NRS II Composite Exam

Segment Routing the stuff marketing doesn t talk about

MPLS etc.. 9 May 2017 AN

Configure Topology-Independent Loop-Free Alternate (TI-LFA)

Data Plane Monitoring in Segment Routing Networks Faisal Iqbal Cisco Systems Clayton Hassen Bell Canada

"Charting the Course...

internet technologies and standards

SEGMENT ROUTING PRINCIPLES AND APPLICATIONS FOR SDN

Segment Routing for IPv6 Networks Stefano Previdi Distinguished Engineer BRKRST-3123

Cisco Training - HD Telepresence MPLS: Implementing Cisco MPLS V3.0. Upcoming Dates. Course Description. Course Outline

Testking.4A0-103,249.QA 4A Alcatel-Lucent Multi Protocol Label Switching

Configure IOS XR Traffic Controller (XTC)

Segment Routing With IS-IS v4 Node SID

Preferred Path Routing (PPR) in IGPs

BrainDumps.4A0-103,230.Questions

ENTERPRISE MPLS. Kireeti Kompella

SDN Workshop. Contact: WSDN01_v0.1

Segment Routing Configuration Guide for Cisco ASR 9000 Series Routers, IOS XR Release 6.1.x

MPLS Intro. Cosmin Dumitru March 14, University of Amsterdam System and Network Engineering Research Group ...

Configure Segment Routing for IS-IS Protocol

Spirent TestCenter Segment Routing AppNote

Introduction to MPLS APNIC

Segment Routing Policy for Traffic Engineering draft-filsfils-spring-segment-routing-policy-05.txt

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Multiprotocol Label Switching. Version: Demo

MPLS MPLS. Basically: 9 March 2018 AN. Multi-Protocol Label Switching. A bit of history. Multi-Protocol Label Switching.

You cannot configure prefix-sids on transit links at this time. Support for this feature may be introduced in later code versions.

Bit Indexed Explicit Replication A Stateless Multicast Architecture. Nagendra Kumar Nainar NANOG72

Introduction to MPLS. What is MPLS? 1/23/17. APNIC Technical Workshop January 23 to 25, NZNOG2017, Tauranga, New Zealand. [201609] Revision:

IPv6 Switching: Provider Edge Router over MPLS

Advanced Telecommunications

Implementing MPLS Layer 3 VPNs

Concepts and Operation of MPLS VPNs. Francisco Bolanos

MultiProtocol Label Switching - MPLS ( RFC 3031 )

Configure Segment Routing for BGP

The cri(cal role of Maximum SID Depth (MSD) hardware limita(ons in Segment Rou(ng ecosystem and how to work around those

MPLS. 9 March 2018 AN

Securizarea Calculatoarelor și a Rețelelor 32. Tehnologia MPLS VPN

MPLS, THE BASICS CSE 6067, UIU. Multiprotocol Label Switching

HP MSR Router Series. MPLS Configuration Guide(V7) Part number: Software version: CMW710-R0106 Document version: 6PW

CONTENTS. Introduction

Configuring MPLS and RSVP with CLI

Multiprotocol Label Switching (MPLS)

Configuring MPLS, MPLS VPN, MPLS OAM, and EoMPLS

LDP Fast Reroute using LDP Downstream On Demand. 1. Problem: 2. Summary: 3. Description:

Computer Network Architectures and Multimedia. Guy Leduc. Chapter 2 MPLS networks. Chapter 2: MPLS

IPv6 Switching: Provider Edge Router over MPLS

Multi-Protocol Label Switching

Multiprotocol Label Switching Overview

MPLS LSP Ping Traceroute for LDP TE and LSP Ping for VCCV

Introduction to Segment Routing

Internet Routing - MPLS. By Richard Harris

Fundamentals of Egress Peering Engineering. Application Note

Alcatel-Lucent 7705 SERVICE AGGREGATION ROUTER OS RELEASE 6.0.R4 MPLS GUIDE MPLS GUIDE

Advertising MPLS LSPs in the IGP

SDN Controllers in the WAN: protocols and applications

COMP9332 Network Routing & Switching

MPLS Egress Protection Framework draft-shen-mpls-egress-protectionframework-02

Configure SR-TE Policies

About IOS XR Traffic Controller (XTC)

KTHNOC, MPLS/RSVP lab, rev: 1.7 KTHNOC. MPLS/RSVP lab. Juniper version. Group Nr. Name1. Name2. Name3. Name4. Date. Grade. Instructor s Signature

Table of Contents. Cisco MPLS FAQ For Beginners

Segment Routing Configuration Guide for Cisco NCS 5500 Series Routers, IOS XR Release 6.1.x

The Segment Routing Architecture

Juniper Networks Certified Specialist Service Provider Routing and Switching Bootcamp, JIR, JSPX, JMF (JNCIS-SP BC)

MPLS Multi-protocol label switching Mario Baldi Politecnico di Torino (Technical University of Torino)

Multiprotocol Label Switching (MPLS) on Cisco Routers

Point-to-Point LSPs. In This Chapter SR Advanced Configuration Guide Page 1155

IPv6. IPv6, MPLS. IPv6. IPv6 Addresses. IPv4 Packet Format. IPv6. History

Routing Resiliency Latest Enhancements

Cisco. Maintaining Cisco Service Provider VPNs and MPLS Networks (MSPVM)

IS-IS Configuration Commands. Generic Commands. shutdown IS-IS XRS Routing Protocols Guide Page 533. Syntax [no] shutdown

HP MSR Router Series. MPLS Configuration Guide(V5) Part number: Software version: CMW520-R2513 Document version: 6PW

Table of Contents Chapter 1 MPLS Basics Configuration

Segment Routing. Anoop Ghanwani, Dell Saurav Das, ONF. Dell Networking Meetup May 21, 2015

MPLS VPN. 5 ian 2010

Segment Routing SR/LDP interworking. Clarence Filsfils Kris Michielsen

MPLS LSP Ping/Traceroute for LDP/TE, and LSP Ping for VCCV

Introduction to Segment Routing

Transcription:

A Segment Routing (SR) Tutorial R. Bonica NANOG70 June 6, 2017

AKA: SPRING IETF Standardization Source Packet Routing In Networking (SPRING) WG ISIS, OSPF, IDR and MPLS WGs

What is SR? A tunneling technology Encapsulates a packet within a header Forwards packet based upon encapsulating header A Traffic Engineering (TE) technology Allows a router to steer traffic along an SR path Path can be different from the least cost path Maybe more? Innovative new applications to be discovered

Terminology An SR domain is a collection of SR capable devices Roles: Ingress, transit, egress May be mixed with non-sr-capable transit devices An SR Path Connects an SR ingress to an SR egress Can be different from the least cost path Contains one or more SR Segments

More Terminology An SR Segment Connects two points within the SR domain Can traverse one or more router hops Is represented by a Segment Identifier (SID) A Segment Identifier (SID) Identifies the path fragment that the packet follows Can have node-local or domain-wide (a.k.a., global) significance

Pictorial Terminology Ingress Segment A SR Path Egress Segment C SR Domain

SR TRAFFIC ENGINEERING

Traditional TE Approaches Encode path information in the packet Packet header enumerates every hop in the path No path information stored in the network Example: IPv4 with Strict Source Routing Option Store path information in the network Packet header contains exactly one path identifier No further path information is encoded in the packet Example: RSVP-signaled MPLS

Hybrid TE Approach Path is divided into segments Segment contains one or more router hops Packet header enumerates each segment in the path But it does not necessarily enumerate every node Network contains enough state to forward the packet through multi-node segments Examples IPv4 Loose Source Routing Option IPv6 Routing Extension Header Segment Routing

The SR TE Approach SR defines multiple segment types Some types traverse one router hop Some types traverse multiple router hops SR header enumerates each segment in the path But not necessarily each node Network contains enough information to route a packet through a multi-hop segment

Basic Segment Types Adjacency (single router hop) Represents an IGP adjacency Prefix (one or more hops) Represents IGP least cost path to a prefix Anycast (one or more hops) Represents IGP least cost path to a non-unique prefix Binding Represents a tunnel (e.g., RSVP-signaled LSP)

Additional Segment Types Additional segment types are being proposed Support new SR applications In this tutorial, we will focus on prefix and adjacency segments Gentle introduction to anycast and binding segments

SR Encapsulation MPLS SR header is an MPLS label stack Each label in the stack represents a segment IPv6 SR Header is an IPv6 header with a Segment Routing Extension Header (SRH) SRH contains a list of IPv6 addresses Each IPv6 address represents a segment

MPLS FORWARDING

Local Labels Some SIDs have node-local significance Nodes automatically allocate local SIDs from a free pool Nodes map local SIDs to local labels No need for domain-wide co-ordination Example: SIDs representing adjacency segments

R1-R4: Adjacency Segments R1 IGP advertisement Local label:81, link to R2 Local label:82, link to R4 R1 R2 82 82 R3 R4 R4 IGP advertisement Local label:81, link to R1 Local label:82, link to R5 82 83 82 82 pay load R2 IGP advertisement Local label:81, link to R1 Local label:82, link to R3 Local label:83, link to R5 pay load R5 R5 IGP advertisement Local label:81, link to R2 Local label:82, link to R4 Local label:83, link to R6 83 82 82 pay load 82 pay load R6 R3 IGP advertisement Local label:81, link to R2 Local label:82, link to R6 Local label:83, link to R7 82 82 82 pay load 82 82 pay load R6 IGP advertisement Local label:81, link to R3 Local label:82, link to R5 Local label:83, link to R7 R7 IGP advertisement Local label:81, link to R3 Local label:82, link to R6 R7

Global Labels Some SIDs have domain-wide significance Domain-wide coordination required SIDs are allocated in a manner similar to that used for private IP (RFC 1918) addresses Example: SIDs representing prefix segments Each node reserves an SR Global Block (SRGB) SID is an offset into this block Global label equals SRGB base plus SID

R*-R7: Single Prefix Segment R1 IGP advertisement SRGB Base: 100 R2 IGP advertisement SRGB Base: 100 R3 IGP advertisement SRGB Base: 100 107 107 R1 pay R2 pay R3 load load pay load R7 IGP advertisement SRGB Base: 100 Prefix SID: 7 R4 207 pay load R5 107 pay load R6 pay load R7 R4 IGP advertisement SRGB Base: 100 R5 IGP advertisement SRGB Base: 200 R6 IGP advertisement SRGB Base: 100 Shortest path to R7

R1-R4 Via R7: Prefix Segment R1 IGP advertisement SRGB Base: 100 R2 IGP advertisement SRGB Base: 100 R3 IGP advertisement SRGB Base: 100 107 107 R1 104 R2 104 R3 pay pay load load 104 pay load R7 IGP advertisement SRGB Base: 100 Prefix SID: 7 R4 R4 IGP advertisement SRGB Base: 100 Prefix SID: 4 pay load R5 R5 IGP advertisement SRGB Base: 200 204 pay load R6 R6 IGP advertisement SRGB Base: 100 104 pay load R7 Shortest path to R7 Shortest path to R4

OAM MPLS Continuity Verification [ RFC 6428 ] MPLS Loss & Delay Measurement [ RFC 6374 & RFC 6375 ] MPLS Self-ping [RFC 7746] MPLS Ping [ RFC 8026 ] Ping Mode using NIL FEC Trace mode if every router in path copies TTL on pop MPLS-aware trace [RFC 4950] If every router in path copies TTL on pop

IPV6 FORWARDING

Modes Canonical modes Source node includes a routing extension header between the IPv6 header and payload SR ingress router encapsulates payload in an IPv6 header that includes a routing extension header Non-canonical mode SR ingress inserts a routing extension header between the IPv6 header and payload In all cases, the routing extension header represents the SR Path

Segment Routing Header (SRH) : (1 of 6) Source 2001:db8:0:1::1 SRv6 Ingress 2001:db8:0:1::2 Ver DSCP Flow Label Payload Length Next HDR 40 TCP Source Address 2001:db8:0:1::1 Destination Address 2001:db8:0:1::5 Hop Limit 255 IPv6 HEADER TCP Header SR Domain SRv6 Router 2001:db8:0:1::3 SRv6 Egress 2001:db8:0:1::4 Destination 2001:db8:0:1::5

Source 2001:db8:0:1::1 SR Domain Segment Routing Header (SRH) : (2 of 6) Destination 2001:db8:0:1::5 SRv6 Ingress 2001:db8:0:1::2 SRv6 Egress 2001:db8:0:1::4 SRv6 Router 2001:db8:0:1::3 Ver DSCP Flow Label Payload Length Next HDR 136 SRH Source Address 2001:db8:0:1::2 Destination Address 2001:db8:0:1::3 Next HDR Length HDR Type TCP 56 4 Last Entry Flags 2 Segment 0 2001:db8:0:1::4 Segment 1 2001:db8:0:1::3 Segment 2 2001:db8:0:1::2 Ver DSCP Flow Label Payload Length 40 Next HDR TCP Source Address 2001:db8:0:1::1 Destination Address 2001:db8:0:1::5 TCP Headed and Payload Hop Limit 255 Seg Left 1 Tag Hop Limit 255 IPv6 HEADER Segment Routing Extension Header Payload (TCP/IPv6)

Source 2001:db8:0:1::1 SR Domain Segment Routing Header (SRH) : (3 of 6) Destination 2001:db8:0:1::5 SRv6 Ingress 2001:db8:0:1::2 SRv6 Egress 2001:db8:0:1::4 SRv6 Router 2001:db8:0:1::3 Ver DSCP Flow Label Payload Length Next HDR 136 SRH Source Address 2001:db8:0:1::2 Destination Address 2001:db8:0:1::3 Next HDR Length HDR Type TCP 56 4 Last Entry Flags 2 Segment 0 2001:db8:0:1::4 Segment 1 2001:db8:0:1::3 Segment 2 2001:db8:0:1::2 Ver DSCP Flow Label Payload Length 40 Next HDR TCP Source Address 2001:db8:0:1::1 Destination Address 2001:db8:0:1::5 TCP Headed and Payload Hop Limit 254 Seg Left 1 Tag Hop Limit 255 IPv6 HEADER Segment Routing Extension Header Payload (TCP/IPv6)

Source 2001:db8:0:1::1 SR Domain Segment Routing Header (SRH) : (4 of 6) Destination 2001:db8:0:1::5 SRv6 Ingress 2001:db8:0:1::2 SRv6 Egress 2001:db8:0:1::4 SRv6 Router 2001:db8:0:1::3 Ver DSCP Flow Label Payload Length Next HDR 136 SRH Source Address 2001:db8:0:1::2 Destination Address 2001:db8:0:1::4 Next HDR Length HDR Type TCP 56 4 Last Entry Flags 2 Segment 0 2001:db8:0:1::4 Segment 1 2001:db8:0:1::3 Segment 2 2001:db8:0:1::2 Ver DSCP Flow Label Payload Length 40 Next HDR TCP Source Address 2001:db8:0:1::1 Destination Address 2001:db8:0:1::5 TCP Headed and Payload Hop Limit 253 Seg Left 0 Tag Hop Limit 255 IPv6 HEADER Segment Routing Extension Header Payload (TCP/IPv6)

Source 2001:db8:0:1::1 SR Domain Segment Routing Header (SRH) : (5 of 6) Destination 2001:db8:0:1::5 SRv6 Ingress 2001:db8:0:1::2 SRv6 Egress 2001:db8:0:1::4 SRv6 Router 2001:db8:0:1::3 Ver DSCP Flow Label Payload Length Next HDR 136 SRH Source Address 2001:db8:0:1::2 Destination Address 2001:db8:0:1::4 Next HDR Length HDR Type TCP 56 4 Last Entry Flags 2 Segment 0 2001:db8:0:1::4 Segment 1 2001:db8:0:1::3 Segment 2 2001:db8:0:1::2 Ver DSCP Flow Label Payload Length 40 Next HDR TCP Source Address 2001:db8:0:1::1 Destination Address 2001:db8:0:1::5 TCP Headed and Payload Hop Limit 252 Seg Left 0 Tag Hop Limit 255 IPv6 HEADER Segment Routing Extension Header Payload (TCP/IPv6)

Segment Routing Header (SRH) : (6 of 6) Source 2001:db8:0:1::1 SRv6 Ingress 2001:db8:0:1::2 Ver DSCP Flow Label Payload Length Next HDR 40 TCP Source Address 2001:db8:0:1::1 Destination Address 2001:db8:0:1::5 Hop Limit 254 IPv6 HEADER TCP Header SR Domain SRv6 Router 2001:db8:0:1::3 SRv6 Egress 2001:db8:0:1::4 Destination 2001:db8:0:1::5

ADVANCED TYPES OF SID 29

Multiple Points of Presence An Anycast SID identifies a set of nodes via a non-unique prefix Choice is made as an IGP shortest path first May use ECMP Helps survive failures and allows load ballancing Set of nodes are usually geographically close First segment to any of three nodes Second segment to any of three nodes Final segment to destination

Identifying SR Paths or Tunnels Binding SIDs are SIDs that are bound to (i.e., identify) other SR paths or tunnels This allows an SR path to include another SR path or a tunnel by reference If the Binding SID identifies another SR path then the SR forwarding operation is: Step beyond the Binding SID (decrement Segments Left or pop label) Insert additional labels for the identified SR path If the Binding SID identifies a tunnel then the forwarding operation is: Step beyond the Binding SID (decrement Segments Left or pop label) Encapsulate the packet and send it down the tunnel Useful for scaling the SID stack at the packet ingress Useful for traversing legacy networks

SR CONTROL PLANE

Path Computation Performed on SR ingress router or on central controller Trivial computations Single segment Multiple statically configured segments Non-trivial computations Constraint-based Shortest Path First (CSPF)

CSPF Assign attributes to each segment Example: color, bandwidth, SRLG Assign requirements to each path Example: Traverse only blue segments Find shortest path using only segments that fulfill requirements Link State Data Base (LSDB) provides information required by CSPF Advanced computation may be aware of other paths Path diversity for protection

FIB Creation (MPLS) On each node, for each global SID Create a FIB entry that swaps the label (if required) and forwards through the IGP shortest path On each node, for each local SID Create a FIB entry that pops a label and forwards through the correct link LSDB provides information required for FIB creation

SR IGPs LSDB provides information required for CSPF computation LSDB provides information required to create SR FIB entries ISIS and OSPF have been enhanced to flood SR information throughout the IGP domain SR requires an IGP and little else!

SR Convergence After Failures Failure occurs between segment endpoints For a prefix segment, the SR path restores as quickly as IGP converges TI-LFA may decrease IGP restoration time Failure occurs at segment endpoint Head-end restoration strategies available FRR solutions under consideration Anycast SIDs offer failure mitigation

THE CENTRAL CONTROLLER

Benefits Central control has global view of reserved bandwidth Not available at any other point in the network Facilitates analytics driven policy Controller receives telemetry Based on telemetry, controller alters policy

Risk Concentrated point of failure / congestion Potential performance bottle neck Risks mitigated by redundant controllers May require some form of synchronization

Controller Protocol Options Controller acquires LSDB Controller participates (passively) in IGP BGP-LS exports LSDB to controller Controller sends segment list to ingress router PCEP BGP Controller imposes policy at ingress router What traffic to place on a SR path Flowspec additions to PCEP or BGP

CONCLUSION

Conclusion SR moves state from the network to the packet Simplifies protocols Some problems remain to be addressed OAM, Fast Reroute Operational experience required

Q & A