SlideShare a Scribd company logo
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 Egress
Segment A
Segment C
SR Path
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 R2 R3
R7
R4
R5 R6
R1 IGP advertisement
Local label:81, link to R2
Local label:82, link to R4
R2 IGP advertisement
Local label:81, link to R1
Local label:82, link to R3
Local label:83, link to R5
R3 IGP advertisement
Local label:81, link to R2
Local label:82, link to R6
Local label:83, link to R7
R7 IGP advertisement
Local label:81, link to R3
Local label:82, link to R6
R4 IGP advertisement
Local label:81, link to R1
Local label:82, link to R5
R5 IGP advertisement
Local label:81, link to R2
Local label:82, link to R4
Local label:83, link to R6
R6 IGP advertisement
Local label:81, link to R3
Local label:82, link to R5
Local label:83, link to R7
82
82
82
pay
load
83
82
82
82
pay
load
82
82
pay
load
pay
load
82
pay
load
82
83
82
82
82
pay
load
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 R2 R3
R7
R4
R5 R6
R1 IGP advertisement
SRGB Base: 100
R2 IGP advertisement
SRGB Base: 100
R3 IGP advertisement
SRGB Base: 100
R7 IGP advertisement
SRGB Base: 100
Prefix SID: 7
R4 IGP advertisement
SRGB Base: 100
R5 IGP advertisement
SRGB Base: 200
R6 IGP advertisement
SRGB Base: 100
107
pay
load
207
pay
load
107
pay
load
pay
load
pay
load
Shortest
path to R7
107
pay
load
R1-R4 Via R7: Prefix Segment
R1 R2 R3
R7
R4
R5 R6
R1 IGP advertisement
SRGB Base: 100
R2 IGP advertisement
SRGB Base: 100
R3 IGP advertisement
SRGB Base: 100
R7 IGP advertisement
SRGB Base: 100
Prefix SID: 7
R4 IGP advertisement
SRGB Base: 100
Prefix SID: 4
R5 IGP advertisement
SRGB Base: 200
R6 IGP advertisement
SRGB Base: 100
204
pay
load Shortest
path to R7
Shortest
path to R4
107
104
pay
load
107
104
pay
load
104
pay
load
104
pay
load
pay
load
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
SRv6 Egress
2001:db8:0:1::4
SRv6 Router
2001:db8:0:1::3
Destination
2001:db8:0:1::5
255
Destination Address
Source Address
Hop Limit
Next HDR
Payload Length
DSCP Flow Label
Ver
IPv6
HEADER
TCP Header
40
2001:db8:0:1::5
2001:db8:0:1::1
TCP
SR
Domain
Source
2001:db8:0:1::1
SRv6 Ingress
2001:db8:0:1::2
SRv6 Egress
2001:db8:0:1::4
SRv6 Router
2001:db8:0:1::3
Destination
2001:db8:0:1::5
255
Destination Address
Source Address
Hop Limit
Next HDR
Payload Length
DSCP Flow Label
Ver
IPv6
HEADER
Segment
Routing
Extension
Header
Payload
(TCP/IPv6)
HDR Type
56
Length
TCP
Next HDR
4
Seg Left
Flags
Last Entry
Segment 0
Tag
Segment 1
Segment 2
2001:db8:0:1::4
2001:db8:0:1::3
2001:db8:0:1::2
136
2001:db8:0:1::3
SRH
1
2
2001:db8:0:1::2
Source Address
2001:db8:0:1::1
Destination Address
2001:db8:0:1::5
Ver DSCP Flow Label
Payload Length
40
Hop Limit
255
Next HDR
TCP
TCP Headed and Payload
SR
Domain
Segment Routing Header (SRH) : (2 of 6)
Source
2001:db8:0:1::1
SRv6 Ingress
2001:db8:0:1::2
SRv6 Egress
2001:db8:0:1::4
SRv6 Router
2001:db8:0:1::3
Destination
2001:db8:0:1::5
254
Destination Address
Source Address
Hop Limit
Next HDR
Payload Length
DSCP Flow Label
Ver
IPv6
HEADER
Segment
Routing
Extension
Header
Payload
(TCP/IPv6)
HDR Type
56
Length
TCP
Next HDR
4
Seg Left
Flags
Last Entry
Segment 0
Tag
Segment 1
Segment 2
2001:db8:0:1::4
2001:db8:0:1::3
2001:db8:0:1::2
136
2001:db8:0:1::3
SRH
1
2
2001:db8:0:1::2
Source Address
2001:db8:0:1::1
Destination Address
2001:db8:0:1::5
Ver DSCP Flow Label
Payload Length
40
Hop Limit
255
Next HDR
TCP
TCP Headed and Payload
SR
Domain
Segment Routing Header (SRH) : (3 of 6)
Source
2001:db8:0:1::1
SRv6 Ingress
2001:db8:0:1::2
SRv6 Egress
2001:db8:0:1::4
SRv6 Router
2001:db8:0:1::3
Destination
2001:db8:0:1::5
253
Destination Address
Source Address
Hop Limit
Next HDR
Payload Length
DSCP Flow Label
Ver
IPv6
HEADER
Segment
Routing
Extension
Header
Payload
(TCP/IPv6)
HDR Type
56
Length
TCP
Next HDR
4
Seg Left
Flags
Last Entry
Segment 0
Tag
Segment 1
Segment 2
2001:db8:0:1::4
2001:db8:0:1::3
2001:db8:0:1::2
136
2001:db8:0:1::4
SRH
0
2
2001:db8:0:1::2
Source Address
2001:db8:0:1::1
Destination Address
2001:db8:0:1::5
Ver DSCP Flow Label
Payload Length
40
Hop Limit
255
Next HDR
TCP
TCP Headed and Payload
SR
Domain
Segment Routing Header (SRH) : (4 of 6)
Source
2001:db8:0:1::1
SRv6 Ingress
2001:db8:0:1::2
SRv6 Egress
2001:db8:0:1::4
SRv6 Router
2001:db8:0:1::3
Destination
2001:db8:0:1::5
252
Destination Address
Source Address
Hop Limit
Next HDR
Payload Length
DSCP Flow Label
Ver
IPv6
HEADER
Segment
Routing
Extension
Header
Payload
(TCP/IPv6)
HDR Type
56
Length
TCP
Next HDR
4
Seg Left
Flags
Last Entry
Segment 0
Tag
Segment 1
Segment 2
2001:db8:0:1::4
2001:db8:0:1::3
2001:db8:0:1::2
136
2001:db8:0:1::4
SRH
0
2
2001:db8:0:1::2
Source Address
2001:db8:0:1::1
Destination Address
2001:db8:0:1::5
Ver DSCP Flow Label
Payload Length
40
Hop Limit
255
Next HDR
TCP
TCP Headed and Payload
SR
Domain
Segment Routing Header (SRH) : (5 of 6)
Source
2001:db8:0:1::1
SRv6 Ingress
2001:db8:0:1::2
SRv6 Egress
2001:db8:0:1::4
SRv6 Router
2001:db8:0:1::3
Destination
2001:db8:0:1::5
254
Destination Address
Source Address
Hop Limit
Next HDR
Payload Length
DSCP Flow Label
Ver
IPv6
HEADER
TCP Header
40
2001:db8:0:1::5
2001:db8:0:1::1
TCP
SR
Domain
Segment Routing Header (SRH) : (6 of 6)
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
Final segment
to destination
First segment to
any of three nodes
Second segment to
any of three nodes
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

More Related Content

What's hot

Segment Routing Lab
Segment Routing Lab Segment Routing Lab
Segment Routing Lab
Cisco Canada
 
Segment Routing for Dummies
Segment Routing for DummiesSegment Routing for Dummies
Segment Routing for Dummies
Gary Jan
 
Scaling Networks with Segment Routing
Scaling Networks with Segment RoutingScaling Networks with Segment Routing
Scaling Networks with Segment Routing
APNIC
 
BGP Advanced topics
BGP Advanced topicsBGP Advanced topics
BGP Advanced topics
Olivier Bonaventure
 
RPL - Routing Protocol for Low Power and Lossy Networks
RPL - Routing Protocol for Low Power and Lossy NetworksRPL - Routing Protocol for Low Power and Lossy Networks
RPL - Routing Protocol for Low Power and Lossy Networks
Pradeep Kumar TS
 
Brkrst 3123 previdi-final
Brkrst 3123 previdi-finalBrkrst 3123 previdi-final
Brkrst 3123 previdi-final
Stefano Previdi
 
TechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the DatacenterTechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the Datacenter
Robb Boyd
 
MPLS SDN 2016 - Microloop avoidance with segment routing
MPLS SDN 2016 - Microloop avoidance with segment routingMPLS SDN 2016 - Microloop avoidance with segment routing
MPLS SDN 2016 - Microloop avoidance with segment routing
Stephane Litkowski
 
Segment routing tutorial
Segment routing tutorialSegment routing tutorial
Segment routing tutorial
Yi-Sung Chiu
 
Introduction to segment routing
Introduction to segment routingIntroduction to segment routing
Introduction to segment routing
Rabah GUEDREZ
 
Implementing IPv6 Segment Routing in the Linux kernel
Implementing IPv6 Segment Routing in the Linux kernelImplementing IPv6 Segment Routing in the Linux kernel
Implementing IPv6 Segment Routing in the Linux kernel
Olivier Bonaventure
 
SDN Traffic Engineering, A Natural Evolution
SDN Traffic Engineering, A Natural EvolutionSDN Traffic Engineering, A Natural Evolution
SDN Traffic Engineering, A Natural Evolution
APNIC
 
Part 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGPPart 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGP
Olivier Bonaventure
 
segment routing MPLS SDN NFV World Congress - Paris 2017
segment routing MPLS SDN NFV World Congress - Paris 2017segment routing MPLS SDN NFV World Congress - Paris 2017
segment routing MPLS SDN NFV World Congress - Paris 2017
Rabah GUEDREZ
 
Segment Routing & Application Engeering Routing
Segment Routing & Application Engeering RoutingSegment Routing & Application Engeering Routing
Segment Routing & Application Engeering Routing
Bertrand Duvivier
 
MENOG-Segment Routing Introduction
MENOG-Segment Routing IntroductionMENOG-Segment Routing Introduction
MENOG-Segment Routing Introduction
Rasoul Mesghali, CCIE RS
 
Ipv6
Ipv6Ipv6
Ipv6
maha5960
 
Segment Routing: A Tutorial
Segment Routing: A TutorialSegment Routing: A Tutorial
Segment Routing: A Tutorial
APNIC
 
2006 aodv-group-presentation
2006 aodv-group-presentation2006 aodv-group-presentation
2006 aodv-group-presentation
nishant kumar
 
Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing
Cisco Canada
 

What's hot (20)

Segment Routing Lab
Segment Routing Lab Segment Routing Lab
Segment Routing Lab
 
Segment Routing for Dummies
Segment Routing for DummiesSegment Routing for Dummies
Segment Routing for Dummies
 
Scaling Networks with Segment Routing
Scaling Networks with Segment RoutingScaling Networks with Segment Routing
Scaling Networks with Segment Routing
 
BGP Advanced topics
BGP Advanced topicsBGP Advanced topics
BGP Advanced topics
 
RPL - Routing Protocol for Low Power and Lossy Networks
RPL - Routing Protocol for Low Power and Lossy NetworksRPL - Routing Protocol for Low Power and Lossy Networks
RPL - Routing Protocol for Low Power and Lossy Networks
 
Brkrst 3123 previdi-final
Brkrst 3123 previdi-finalBrkrst 3123 previdi-final
Brkrst 3123 previdi-final
 
TechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the DatacenterTechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the Datacenter
 
MPLS SDN 2016 - Microloop avoidance with segment routing
MPLS SDN 2016 - Microloop avoidance with segment routingMPLS SDN 2016 - Microloop avoidance with segment routing
MPLS SDN 2016 - Microloop avoidance with segment routing
 
Segment routing tutorial
Segment routing tutorialSegment routing tutorial
Segment routing tutorial
 
Introduction to segment routing
Introduction to segment routingIntroduction to segment routing
Introduction to segment routing
 
Implementing IPv6 Segment Routing in the Linux kernel
Implementing IPv6 Segment Routing in the Linux kernelImplementing IPv6 Segment Routing in the Linux kernel
Implementing IPv6 Segment Routing in the Linux kernel
 
SDN Traffic Engineering, A Natural Evolution
SDN Traffic Engineering, A Natural EvolutionSDN Traffic Engineering, A Natural Evolution
SDN Traffic Engineering, A Natural Evolution
 
Part 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGPPart 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGP
 
segment routing MPLS SDN NFV World Congress - Paris 2017
segment routing MPLS SDN NFV World Congress - Paris 2017segment routing MPLS SDN NFV World Congress - Paris 2017
segment routing MPLS SDN NFV World Congress - Paris 2017
 
Segment Routing & Application Engeering Routing
Segment Routing & Application Engeering RoutingSegment Routing & Application Engeering Routing
Segment Routing & Application Engeering Routing
 
MENOG-Segment Routing Introduction
MENOG-Segment Routing IntroductionMENOG-Segment Routing Introduction
MENOG-Segment Routing Introduction
 
Ipv6
Ipv6Ipv6
Ipv6
 
Segment Routing: A Tutorial
Segment Routing: A TutorialSegment Routing: A Tutorial
Segment Routing: A Tutorial
 
2006 aodv-group-presentation
2006 aodv-group-presentation2006 aodv-group-presentation
2006 aodv-group-presentation
 
Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing
 

Similar to 1 bonica tutorial_segment_routing

Segment Routing Session#1.pdfSegment Routing Session#1.pdf
Segment Routing Session#1.pdfSegment Routing Session#1.pdfSegment Routing Session#1.pdfSegment Routing Session#1.pdf
Segment Routing Session#1.pdfSegment Routing Session#1.pdf
AhMEd22627
 
Segment Routing Session#2.pdfSegment Routing Session#2.pdf
Segment Routing Session#2.pdfSegment Routing Session#2.pdfSegment Routing Session#2.pdfSegment Routing Session#2.pdf
Segment Routing Session#2.pdfSegment Routing Session#2.pdf
AhMEd22627
 
hpsr-2020-srv6-tutorial
hpsr-2020-srv6-tutorialhpsr-2020-srv6-tutorial
hpsr-2020-srv6-tutorial
Stefano Salsano
 
Multiprotocol label switching (mpls) - Networkshop44
Multiprotocol label switching (mpls)  - Networkshop44Multiprotocol label switching (mpls)  - Networkshop44
Multiprotocol label switching (mpls) - Networkshop44
Jisc
 
IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?
Olivier Bonaventure
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Kentaro Ebisawa
 
PLNOG 17 - Leonir Hoxha - Next Generation Network Architecture - Segment Routing
PLNOG 17 - Leonir Hoxha - Next Generation Network Architecture - Segment RoutingPLNOG 17 - Leonir Hoxha - Next Generation Network Architecture - Segment Routing
PLNOG 17 - Leonir Hoxha - Next Generation Network Architecture - Segment Routing
PROIDEA
 
Ieee nfv-sdn-2020-srv6-tutorial
Ieee nfv-sdn-2020-srv6-tutorialIeee nfv-sdn-2020-srv6-tutorial
Ieee nfv-sdn-2020-srv6-tutorial
Stefano Salsano
 
IPv6_Quick_Start_Guide
IPv6_Quick_Start_GuideIPv6_Quick_Start_Guide
IPv6_Quick_Start_Guide
Parthiban Nallathambi
 
10 routing-bgp
10 routing-bgp10 routing-bgp
10 routing-bgp
Olivier Bonaventure
 
Wrou01
Wrou01Wrou01
Wrou01
tanawan44
 
Network Layer Protocol.pptx
Network Layer Protocol.pptxNetwork Layer Protocol.pptx
Network Layer Protocol.pptx
SeekayAlaisKaruppaia
 
Ipv6
Ipv6Ipv6
Mpls te
Mpls teMpls te
Mpls te
Ahmad Hailan
 
SRv6 Network Programming: deployment use-cases
SRv6 Network Programming: deployment use-cases SRv6 Network Programming: deployment use-cases
SRv6 Network Programming: deployment use-cases
APNIC
 
Chapter14ccna
Chapter14ccnaChapter14ccna
Chapter14ccna
Lakshan Perera
 
Chapter7ccna
Chapter7ccnaChapter7ccna
Chapter7ccna
robertoxe
 
Chapter7ccna
Chapter7ccnaChapter7ccna
Chapter7ccna
ernestlithur
 
Ospf
 Ospf Ospf
IPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-onIPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-on
APNIC
 

Similar to 1 bonica tutorial_segment_routing (20)

Segment Routing Session#1.pdfSegment Routing Session#1.pdf
Segment Routing Session#1.pdfSegment Routing Session#1.pdfSegment Routing Session#1.pdfSegment Routing Session#1.pdf
Segment Routing Session#1.pdfSegment Routing Session#1.pdf
 
Segment Routing Session#2.pdfSegment Routing Session#2.pdf
Segment Routing Session#2.pdfSegment Routing Session#2.pdfSegment Routing Session#2.pdfSegment Routing Session#2.pdf
Segment Routing Session#2.pdfSegment Routing Session#2.pdf
 
hpsr-2020-srv6-tutorial
hpsr-2020-srv6-tutorialhpsr-2020-srv6-tutorial
hpsr-2020-srv6-tutorial
 
Multiprotocol label switching (mpls) - Networkshop44
Multiprotocol label switching (mpls)  - Networkshop44Multiprotocol label switching (mpls)  - Networkshop44
Multiprotocol label switching (mpls) - Networkshop44
 
IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
 
PLNOG 17 - Leonir Hoxha - Next Generation Network Architecture - Segment Routing
PLNOG 17 - Leonir Hoxha - Next Generation Network Architecture - Segment RoutingPLNOG 17 - Leonir Hoxha - Next Generation Network Architecture - Segment Routing
PLNOG 17 - Leonir Hoxha - Next Generation Network Architecture - Segment Routing
 
Ieee nfv-sdn-2020-srv6-tutorial
Ieee nfv-sdn-2020-srv6-tutorialIeee nfv-sdn-2020-srv6-tutorial
Ieee nfv-sdn-2020-srv6-tutorial
 
IPv6_Quick_Start_Guide
IPv6_Quick_Start_GuideIPv6_Quick_Start_Guide
IPv6_Quick_Start_Guide
 
10 routing-bgp
10 routing-bgp10 routing-bgp
10 routing-bgp
 
Wrou01
Wrou01Wrou01
Wrou01
 
Network Layer Protocol.pptx
Network Layer Protocol.pptxNetwork Layer Protocol.pptx
Network Layer Protocol.pptx
 
Ipv6
Ipv6Ipv6
Ipv6
 
Mpls te
Mpls teMpls te
Mpls te
 
SRv6 Network Programming: deployment use-cases
SRv6 Network Programming: deployment use-cases SRv6 Network Programming: deployment use-cases
SRv6 Network Programming: deployment use-cases
 
Chapter14ccna
Chapter14ccnaChapter14ccna
Chapter14ccna
 
Chapter7ccna
Chapter7ccnaChapter7ccna
Chapter7ccna
 
Chapter7ccna
Chapter7ccnaChapter7ccna
Chapter7ccna
 
Ospf
 Ospf Ospf
Ospf
 
IPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-onIPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-on
 

Recently uploaded

みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 

Recently uploaded (20)

みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 

1 bonica tutorial_segment_routing

  • 1. A Segment Routing (SR) Tutorial R. Bonica NANOG70 June 6, 2017
  • 2. AKA: SPRING •  IETF Standardization – Source Packet Routing In Networking (SPRING) WG – ISIS, OSPF, IDR and MPLS WGs
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. Pictorial Terminology Ingress Egress Segment A Segment C SR Path SR Domain
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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)
  • 12. 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
  • 13. 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
  • 15. 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
  • 16. R1-R4: Adjacency Segments R1 R2 R3 R7 R4 R5 R6 R1 IGP advertisement Local label:81, link to R2 Local label:82, link to R4 R2 IGP advertisement Local label:81, link to R1 Local label:82, link to R3 Local label:83, link to R5 R3 IGP advertisement Local label:81, link to R2 Local label:82, link to R6 Local label:83, link to R7 R7 IGP advertisement Local label:81, link to R3 Local label:82, link to R6 R4 IGP advertisement Local label:81, link to R1 Local label:82, link to R5 R5 IGP advertisement Local label:81, link to R2 Local label:82, link to R4 Local label:83, link to R6 R6 IGP advertisement Local label:81, link to R3 Local label:82, link to R5 Local label:83, link to R7 82 82 82 pay load 83 82 82 82 pay load 82 82 pay load pay load 82 pay load 82 83 82 82 82 pay load
  • 17. 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
  • 18. R*-R7: Single Prefix Segment R1 R2 R3 R7 R4 R5 R6 R1 IGP advertisement SRGB Base: 100 R2 IGP advertisement SRGB Base: 100 R3 IGP advertisement SRGB Base: 100 R7 IGP advertisement SRGB Base: 100 Prefix SID: 7 R4 IGP advertisement SRGB Base: 100 R5 IGP advertisement SRGB Base: 200 R6 IGP advertisement SRGB Base: 100 107 pay load 207 pay load 107 pay load pay load pay load Shortest path to R7 107 pay load
  • 19. R1-R4 Via R7: Prefix Segment R1 R2 R3 R7 R4 R5 R6 R1 IGP advertisement SRGB Base: 100 R2 IGP advertisement SRGB Base: 100 R3 IGP advertisement SRGB Base: 100 R7 IGP advertisement SRGB Base: 100 Prefix SID: 7 R4 IGP advertisement SRGB Base: 100 Prefix SID: 4 R5 IGP advertisement SRGB Base: 200 R6 IGP advertisement SRGB Base: 100 204 pay load Shortest path to R7 Shortest path to R4 107 104 pay load 107 104 pay load 104 pay load 104 pay load pay load
  • 20. 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
  • 22. 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
  • 23. Segment Routing Header (SRH) : (1 of 6) Source 2001:db8:0:1::1 SRv6 Ingress 2001:db8:0:1::2 SRv6 Egress 2001:db8:0:1::4 SRv6 Router 2001:db8:0:1::3 Destination 2001:db8:0:1::5 255 Destination Address Source Address Hop Limit Next HDR Payload Length DSCP Flow Label Ver IPv6 HEADER TCP Header 40 2001:db8:0:1::5 2001:db8:0:1::1 TCP SR Domain
  • 24. Source 2001:db8:0:1::1 SRv6 Ingress 2001:db8:0:1::2 SRv6 Egress 2001:db8:0:1::4 SRv6 Router 2001:db8:0:1::3 Destination 2001:db8:0:1::5 255 Destination Address Source Address Hop Limit Next HDR Payload Length DSCP Flow Label Ver IPv6 HEADER Segment Routing Extension Header Payload (TCP/IPv6) HDR Type 56 Length TCP Next HDR 4 Seg Left Flags Last Entry Segment 0 Tag Segment 1 Segment 2 2001:db8:0:1::4 2001:db8:0:1::3 2001:db8:0:1::2 136 2001:db8:0:1::3 SRH 1 2 2001:db8:0:1::2 Source Address 2001:db8:0:1::1 Destination Address 2001:db8:0:1::5 Ver DSCP Flow Label Payload Length 40 Hop Limit 255 Next HDR TCP TCP Headed and Payload SR Domain Segment Routing Header (SRH) : (2 of 6)
  • 25. Source 2001:db8:0:1::1 SRv6 Ingress 2001:db8:0:1::2 SRv6 Egress 2001:db8:0:1::4 SRv6 Router 2001:db8:0:1::3 Destination 2001:db8:0:1::5 254 Destination Address Source Address Hop Limit Next HDR Payload Length DSCP Flow Label Ver IPv6 HEADER Segment Routing Extension Header Payload (TCP/IPv6) HDR Type 56 Length TCP Next HDR 4 Seg Left Flags Last Entry Segment 0 Tag Segment 1 Segment 2 2001:db8:0:1::4 2001:db8:0:1::3 2001:db8:0:1::2 136 2001:db8:0:1::3 SRH 1 2 2001:db8:0:1::2 Source Address 2001:db8:0:1::1 Destination Address 2001:db8:0:1::5 Ver DSCP Flow Label Payload Length 40 Hop Limit 255 Next HDR TCP TCP Headed and Payload SR Domain Segment Routing Header (SRH) : (3 of 6)
  • 26. Source 2001:db8:0:1::1 SRv6 Ingress 2001:db8:0:1::2 SRv6 Egress 2001:db8:0:1::4 SRv6 Router 2001:db8:0:1::3 Destination 2001:db8:0:1::5 253 Destination Address Source Address Hop Limit Next HDR Payload Length DSCP Flow Label Ver IPv6 HEADER Segment Routing Extension Header Payload (TCP/IPv6) HDR Type 56 Length TCP Next HDR 4 Seg Left Flags Last Entry Segment 0 Tag Segment 1 Segment 2 2001:db8:0:1::4 2001:db8:0:1::3 2001:db8:0:1::2 136 2001:db8:0:1::4 SRH 0 2 2001:db8:0:1::2 Source Address 2001:db8:0:1::1 Destination Address 2001:db8:0:1::5 Ver DSCP Flow Label Payload Length 40 Hop Limit 255 Next HDR TCP TCP Headed and Payload SR Domain Segment Routing Header (SRH) : (4 of 6)
  • 27. Source 2001:db8:0:1::1 SRv6 Ingress 2001:db8:0:1::2 SRv6 Egress 2001:db8:0:1::4 SRv6 Router 2001:db8:0:1::3 Destination 2001:db8:0:1::5 252 Destination Address Source Address Hop Limit Next HDR Payload Length DSCP Flow Label Ver IPv6 HEADER Segment Routing Extension Header Payload (TCP/IPv6) HDR Type 56 Length TCP Next HDR 4 Seg Left Flags Last Entry Segment 0 Tag Segment 1 Segment 2 2001:db8:0:1::4 2001:db8:0:1::3 2001:db8:0:1::2 136 2001:db8:0:1::4 SRH 0 2 2001:db8:0:1::2 Source Address 2001:db8:0:1::1 Destination Address 2001:db8:0:1::5 Ver DSCP Flow Label Payload Length 40 Hop Limit 255 Next HDR TCP TCP Headed and Payload SR Domain Segment Routing Header (SRH) : (5 of 6)
  • 28. Source 2001:db8:0:1::1 SRv6 Ingress 2001:db8:0:1::2 SRv6 Egress 2001:db8:0:1::4 SRv6 Router 2001:db8:0:1::3 Destination 2001:db8:0:1::5 254 Destination Address Source Address Hop Limit Next HDR Payload Length DSCP Flow Label Ver IPv6 HEADER TCP Header 40 2001:db8:0:1::5 2001:db8:0:1::1 TCP SR Domain Segment Routing Header (SRH) : (6 of 6)
  • 30. 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 Final segment to destination First segment to any of three nodes Second segment to any of three nodes
  • 31. 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
  • 33. 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)
  • 34. 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
  • 35. 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
  • 36. 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!
  • 37. 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
  • 39. 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
  • 40. Risk •  Concentrated point of failure / congestion •  Potential performance bottle neck •  Risks mitigated by redundant controllers –  May require some form of synchronization
  • 41. 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
  • 43. Conclusion •  SR moves state from the network to the packet –  Simplifies protocols •  Some problems remain to be addressed –  OAM, Fast Reroute •  Operational experience required
  • 44. Q & A