BRKMPL 2135
BRKMPL 2135
#CiscoLive
Cisco Webex App
Questions?
Use Cisco Webex App to chat
with the speaker after the session
How
1 Find this session in the Cisco Live Mobile App
3 Install the Webex App or go directly to the Webex space Enter your personal notes here
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 3
Abstract
• Segment Routing is a de-facto industry standard architecture
adopted by operators of all sizes.
• SR delivers a unified, end-to-end policy-aware network over a
stateless IP fabric at uncompromised scale and simplicity.
• In this session, you will learn the fundamental deployment
considerations, migration strategies and best practices for a
successful rollout of SR in your network.
• Understanding of MPLS and IPv6 architectures recommended
Understanding of SR fundamentals recommended
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
• Introduction
• Enabling SR
• SRGB planning
• Seamless Deployment
• SR BGP
• Prefix SID Redistribution
Agenda • Color-Aware Routing / SRTE
• SR-PCE
• Flexible Algorithm
• Conclusion
BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 5
Network Evolution with
Segment Routing
What is Segment Routing?
• SR is an architecture that
leverages the Source Routing
paradigm
• Provides a stateless IP fabric
with uncompromised
simplicity and scale
• Delivers a unified, end-to-
end policy-aware network
infrastructure
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 7
What is Segment Routing?
A network program expressed in the packet
• An ingress node steers a
Payload
packet through an ordered list Segment1 Segment2 Segment3
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 8
One Architecture / Two Data-Plane instantiations
SR-MPLS
• Instantiation of SR on the MPLS data plane
• A segment is encoded with an MPLS label
Segment Routing
SRv6
• Instantiation of SR on the IPv6 data plane
• One or more segments are encoded with an IPv6 address
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 9
How does it work?
• SR-MPLS: the instantiation of SR on the MPLS data-plane
• Segment ID (SID) → an MPLS label associated with the segment
Data Segment1
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
Are there different types of Segments?
IGP Node SID An IGP-Prefix segment identifying a specific router (for example its loopback prefix)
IGP Anycast SID An IGP-Prefix segment assign to an IGP prefix advertised by multiple routers (anycast prefix)
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
SR Toolkit - Are there different types of Segments?
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 13
Network Evolution with SR-MPLS
Service Protocols
Transport Protocols
SR-PCE (SLA) Inter-Domain SLA Traffic Eng.
Inter-Domain BE MPLS LSP BGP-LU
BGP-SR (BE) Inter-Domain BE MPLS LSP
IGP with
Intra-Domain MPLS LSP LDP Intra-Domain MPLS LSP
SR extensions
Data-Plane
LDP: Label Distribution Protocol, MP-BGP: Multi-protocol BGP, BGP-LU: BGP Labeled-Unicast, PCE: Path Computation Element, RSVP-TE: Reservation Protocol Traffic Engineering
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 14
Enabling Segment Routing
IS-IS Segment Routing Configuration
router isis 1
address-family ipv4|ipv6 unicast
metric-style wide
segment-routing mpls
!
enable SR for the
MPLS data plane
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
OSPF Segment Routing Configuration
router ospf 1
segment-routing mpls
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
Segment Routing Global Block
• Default Cisco’s SRGB is [16,000-23,999]
• A non-default SRGB can be configured in global configuration
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
Segment Routing Global Block (SRGB)
Example
segment-routing Configure a non-default
global-block 18000 19999 global SRGB
! 18,000 – 19,999
router ospf 1
segment-routing mpls
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
Prefix-SID / Node-SID Configuration
router isis 1
interface Loopback0
address-family ipv4|ipv6 unicast
prefix-sid {absolute|index} {<SID value>|<SID index>}
router ospf 1
area 0
interface Loopback0
prefix-sid {absolute|index} {<SID value>|<SID index>}
OR
router isis 1
interface Loopback0
address-family ipv4 unicast
prefix-sid index 1
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 21
1.1.1.1/32 1.1.1.2/32
1 2
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 22
IGP/SR programming FIB
• This diagram illustrates the FIB
behaviors on a SR-enabled node IGP/RIB LDP/LSD
1.1.1.5/32
Loc_lbl 16005
Out_lbl 16005
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
Segment Routing Global Block (SRGB)
• Strongly recommended to use same (homogeneous) SRGB on
all nodes
• Simple, straightforward
• Global Segment == Global Label value
• Using different (heterogeneous) SRGBs is supported, but complicates
operations for user
• A non-default SRGB can be allocated between
16,000 and 1,048,575
• Or up to the platform limit, if any
• The size of the SRGB should be equal on all nodes
• IOS-XR does not impose any constraints on the maximum size
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 26
Segment Routing Global Block (SRGB)
4 3 2 1
… … …
1,048,575 1,048,575 1,048,575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
Homogeneous SRGB allocation (Recommended)
1.1.1.1/32, Prefix Segment index 1
4 3 2 1
SRGB
SRGB
SRGB
…
16,001 Idx 1 …
16,001 Idx 1 16,001
… Idx 1
… … … … … …
23,999 Idx 7,999 23,999 Idx 7,999 23,999 Idx 7,999
24,000 24,000 24,000
… … …
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 28
Homogeneous SRGB allocation (Recommended)
1.1.1.1/32, Prefix Segment index 1
4 3 2 1
SRGB
SRGB
SRGB
…
16,001 Idx 1 …
16,001 Idx 1 16,001
… Idx 1
… … … … … …
23,999 Idx 7,999 23,999 Idx 7,999 23,999 Idx 7,999
24,000 24,000 24,000
… … …
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 29
Heterogeneous SRGB allocation (Not Recommended)
1.1.1.1/32, Prefix Segment index 1
4 3 2 1
SRGB
SRGB
… … … … …
… … … …
23,999 Idx 7,999 23,999 Idx 7,999
24,000 … 24,000
… 533,334 …
533,335 Idx 0
Non-recommended SRGB … …
… …
SRGB allocation:
541,334 Idx 7,999
Different SRGBs 541,335
… … …
1,048,575 1,048,575 1,048,575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 30
Heterogeneous SRGB allocation (Not Recommended)
1.1.1.1/32, Prefix Segment index 1
4 3 2 1
SRGB
SRGB
…
16,001 Idx 1 … 16,001
… Idx 1
… … … …
23,999 Idx 7,999 23,999 Idx 7,999
24,000 … 24,000
… 399,999 …
400,000 Idx 0
SRGB 400,001 Idx 1
… …
407,999 Idx 7,999
408,000
… … …
1,048,575 1,048,575 1,048,575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 31
SRGB label range preservation
• LSD preserves the default SRGB label range [16,000-23,999]
• In any Segment Routing capable software release
• Even if Segment Routing is not enabled
• Except if the configured mpls label range includes this default range
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
SRGB label range preservation
• Preservation of the default SRGB label range makes future Segment
Routing activation possible without reboot
• No labels are allocated from that preserved range. When enabling
Segment Routing with default SRGB some time in the future, that label
range is available and ready for use
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 34
LSD SRGB preservation - Example …
0
Special-purpose
and static labels
15,999
allocated …
…
1,048,575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 35
LSD SRGB preservation - Example …
0
Special-purpose
and static labels
15,999
allocated …
• Allocating an SRGB label range does not mean that all the labels in
this range are programmed in the forwarding table
• But they are reserved (not available for other purposes)
• A platform may limit the range of local labels that can be used (implicitly
limits the number of local labels) – e.g., ASR 900 / ASR 920
• A platform may limit the number of local labels that can be used (while
not limiting the range) – e.g., NCS 5500 / NCS 500 families
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 37
Segment Routing Global Block (SRGB) Notes
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 38
Segment Routing Global Block (SRGB) Notes
• Modifying a SRGB configuration is disruptive for traffic
• And may require a reboot if the new SRGB is not (entirely) available
• Allocating a non-default SRGB in the upper part of the MPLS label space
increases the chance that the labels are free
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 40
LSD SRGB allocation - Example …
0
Special-purpose
and static labels
15,999
• An example sequence of Segment Routing 16,000
activation: … Preserved range
applications ( in diagram)
…
1,048,575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 41
LSD SRGB allocation - Example …
0
Special-purpose
and static labels
15,999
• An example sequence of Segment Routing
16,000
activation: … Preserved range
1. No Segment Routing enabled, no SRGB 23,999
allocated 24,000
…
• LSD preserves default SRGB label range
• Dynamic labels are allocated by various MPLS Dynamic label range
applications ( in diagram)
2. Sometime later, SR IS-IS is enabled with 400,000
...
non-default SRGB in the upper label IS-IS SRGB
431,999
range (hence likely unused) …
• SRGB label range is free, start using SR 1,048,575
without reboot!
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 42
SRGB Configuration
• The SRGB can be configured
• Globally (Recommended)
• By default, all IGP instances and BGP use this global SRGB
• Per-IGP (Not Recommended)
segment-routing
global-block 18000 19999 Recommended
router isis 1
segment-routing global-block 18000 19999 Not Recommended
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 43
Segment Routing Global Block (SRGB)
Default SRGB
RP/0/0/CPU0:xrvr-1#show mpls label table detail
Table Label Owner State Rewrite
Default SRGB label
IS-IS SRGB
----- ------- ------------------------------- ------ ------- block allocation for
<...snip...>
0 16000 ISIS(A):1 InUse No ISIS
(Lbl-blk SRGB, vers:0, (start_label=16000, size=8000) [ 16,000 – 23,999 ]
0 24000 ISIS(A):1 InUse Yes
(SR Adj Segment IPv4, vers:0, index=1, type=0, intf=Gi0/0/0/0, nh=10.0.0.2)
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 44
Segment Routing Global Block (SRGB)
Non-default SRGB Example
segment-routing Configure a non-default SRGB
global-block 18000 19999 18,000 – 19,999
!
router isis 1
address-family ipv4 unicast
segment-routing mpls
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 45
SRGB Design
Recommendations
SRGB design
• SRGB planning should aim for the following goals:
• Goal 1: Homogenous SRGB
• Goal 2: Unique SID-to-prefix mappings
• SRGB size > # required SIDs
• Each SID can be allocated to a single prefix. No SID re-use among prefixes
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 47
Configured SRGB and SRGB sub-ranges
• For ease of administration and operations, the configured SRGB is
carved in administrative sub-ranges
• Allocate a sub-range to each domain
• The configured SRGB is still the entire SRGB, not the SRGB sub-range
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 48
SRGB and SRGB sub-ranges Notation convention:
SRGB {XXX-YYY}
sub-range [QQQ-RRR]
unique SIDs
[16k-18k]
SRGB [18k-20k] unique SIDs [20k-22k]
sub-ranges
[22k-23k] unique SIDs [23k-24k]
Configured
SRGB {16k-24k}
Note: [16k-17k] really means [16000-16999]
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 49
How many SIDs are needed?
• Number of SIDs ≠ number of nodes
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 50
Seamless Deployment
SR insertion into Brownfield networks
Seamless Deployment Models
• SR can be deployed incrementally and seamlessly operate in
brownfield networks
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 52
Seamless Deployment
SR and LDP Co-existence Deployment Model
Co-existence Deployment Model
• SR and LDP control-plane and data-plane co-existence
• LDP and SR are kept independent
• “Ships-in-the-night” model
• Deployment Model assumes that all nodes can be upgraded to SR
• continuous SR connectivity between SR PEs
• continuous LDP connectivity between LDP PEs
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 54
All nodes: SR + LDP SR LDP
1.1.1.5
local/in
local/in lbl
lbl out
out lbl
lbl local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl
16000
16000 16000 16000 16000
… ... … …
SRGB
SRGB
SRGB
… … … …
23999 23999 23999 23999
24000 24000 24000 24000
… … … …
SRGB
…
31999
…
…
… … … …
1048575
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 59
All nodes: SR + LDP SR LDP
1.1.1.5
local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl
16000 16000 16000 16000
… … … …
SRGB
SRGB
SRGB
16005 16005 16005 24005 16005 pop
… … … …
23999 23999 23999 23999
24000 24000 24000 24000
… … … …
SRGB
24005 16005
…
31999
…
… … … …
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 60
All nodes: SR + LDP SR LDP
1.1.1.5
local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl
16000 16000 16000 16000
… … … …
SRGB
SRGB
SRGB
16005 16005 16005 24005 16005 pop
… … … …
23999 23999 23999 23999
24000 24000 24000 24000
… 24001 32011 … …
SRGB
24002 24001 … 24005 16005 24003 pop
… … …
31999
…
32011 24003
… … … …
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 61
All nodes: SR + LDP SR LDP
1.1.1.5
segment-routing local/in
mpls lbl out lbl
sr-prefer local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl
16000 16000 16000 16000
… … … …
SRGB
SRGB
SRGB
16005 16005 16005 24005 16005 pop
… … … …
to 1.1.1.5 23999 23999 23999 23999
SRGB
24002 24001 … 24005 16005 24003 pop
… … …
segment-routing mpls (default) 31999
…
32011 24003
… … … …
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 63
Simplest migration LDP to SR
Assumptions:
• all the nodes can be upgraded to SR
• all the services are supported over SR
• Initial state: All nodes run LDP, not SR
LDP LDP
3 4
LDP LDP
1 LDP 2
5 6
LDP LDP
LDP Domain
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 64
Simplest migration LDP to SR
Assumptions:
• all the nodes can be upgraded to SR
• all the services are supported over SR
• Initial state: All nodes run LDP, not SR
• Step1: All nodes are upgraded to SR
• In no particular order SR+LDP SR+LDP
1 LDP 2
5 6
SR+LDP SR+LDP
SR+LDP Domain
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 65
Simplest migration LDP to SR
Assumptions:
• all the nodes can be upgraded to SR
• all the services are supported over SR
• Initial state: All nodes run LDP, not SR
• Step1: All nodes are upgraded to SR
• In no particular order SR+LDP SR+LDP
SR+LDP Domain
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 66
IP-to-MPLS – label imposition
• For IP2MPLS forwarding, LDP XOR SR entry can be inserted into
FIB
• Only one IP2MPLS entry can exists for each prefix path
• Default: LDP label imposition is preferred
• Configuration
router isis 1 knob to prefer SR label imposition over LDP
address-family ipv4|ipv6 unicast
segment-routing mpls sr-prefer
router ospf 1
segment-routing mpls
segment-routing sr-prefer
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 67
SR LDP
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 71
Co-existence Deployment Model
• Smooth migration steps where NE upgrades / configuration
changes happen at the operator’s pace
Step 2: “Prefer SR”
Init State Step 1: Upgrade / Enable SR Step 3: Remove LDP
label imposition
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 72
Seamless Deployment
SR and LDP Interworking Deployment Model
SR LDP
LDP over SR
LDP SR
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 74
SR Mapping Server
• Advertise Prefix-to-SID mappings in IGP on behalf of other non-
SR-capable nodes
• prefix-to-sid mappings are configured on the Mapping Server
• Enable SR-capable nodes to interwork with (non-SR-capable) LDP
nodes, a Mapping Server is required for SR/LDP interworking
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 75
Configuration Example – Mapping Server
segment-routing
• Typical Mapping Server configuration
mapping-server
prefix-sid-map
• address-family ipv4command
advertise-local 10.1.1.1/32 – prefix-SID idx 10
10.1.1.2/32 – prefix-SID idx 11
! <prefix>/<len> <1st-SID> range <range> ...
10.1.1.1/32 10 range 200 10.1.1.200/32 – prefix-SID idx 209
!
router isis 1
address-family ipv4 unicast
segment-routing prefix-sid-map advertise-local
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 76
Interworking Deployment Model SR Mapping Server (SRMS)
1.1.1.7/32 ->16007
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 77
SR to LDP traffic direction
SR LDP
SR to LDP interworking
1.1.1.5
1 2 3 4 5
local/in
local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl
16000 16000 16000 16000
SRGB
SRGB
SRGB
…
… … … …
… … …
23999 23999 23999
… … … …
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 79
segment-routing mapping-server
prefix-sid-map ipv4
1.1.1.5/32 5 range 1 SR LDP
SR to LDP interworking Mapping Server
LDP:
1.1.1.5/32
LDP: lbl imp-null
1.1.1.5/32 1.1.1.5
lbl 90090
1 2 3 4 5
local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl
16000 16000 16000 16000
SRGB
SRGB
SRGB
… … … …
… … …
23999 23999 23999
… … … … LDP LSP
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 80
segment-routing mapping-server
prefix-sid-map ipv4
1.1.1.5/32 5 range 1 SR LDP
SR to LDP interworking Mapping Server
LDP:
1.1.1.5/32
LDP: lbl imp-null
1.1.1.5/32 1.1.1.5
lbl 90090
1 2 3 4 5
local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl
16000 16000 16000 16000
SRGB
SRGB
SRGB
16005 16005 16005 16005 16005 NA …
… … …
23999 Prefix Segment 23999 23999
… … … … LDP LSP
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 81
segment-routing mapping-server
prefix-sid-map ipv4
1.1.1.5/32 5 range 1 SR LDP
SR to LDP interworking Mapping Server
LDP:
1.1.1.5/32
LDP: lbl imp-null
1.1.1.5/32 1.1.1.5
lbl 90090
1 2 3 4 5
local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl
16000 16000 16000 16000
SRGB
SRGB
SRGB
16005 16005 16005 16005 16005 90090 …
… … …
copy
23999 Prefix Segment 23999 23999
… … … … LDP LSP
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 82
LDP to SR traffic direction
SR LDP
LDP to SR interworking
1.1.1.5
1 2 3 4 5
SID 16005
local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl local/in
local/in lbl out lbl
16000 16000 16000 16000
SRGB
SRGB
… … … …
…
… …
23999 23999
… … … …
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 84
SR LDP
LDP to SR interworking
LDP: LDP:
1.1.1.5/32 1.1.1.5/32 1.1.1.5
lbl 90100 lbl 90007
1 2 3 4 5
SID 16005
local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl
16000 16000 16000 16000
SRGB
SRGB
… … 16005 16005 16005 pop
… …
23999 23999 Prefix Segment
…
90008 90100 90100 90007 90007 NA ?
… LDP LSP … … …
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 85
SR LDP
LDP to SR interworking
LDP: LDP:
1.1.1.5/32 1.1.1.5/32 1.1.1.5
lbl 90100 lbl 90007
1 2 3 4 5
SID 16005
local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl local/in lbl out lbl
16000 16000 16000 16000
SRGB
SRGB
… … 16005 16005 16005 pop
… …
copy
23999 23999 Prefix Segment
…
90008 90100 90100 90007 90007 16005
… LDP LSP … … …
1048575 1048575 1048575 1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 86
BGP-SR / BGP Prefix-SID
BGP Prefix-SID
• A BGP Prefix-SID is advertised with a prefix in BGP Labeled Unicast
(BGP-LU)
• BGP-LU = IPv4/IPv6 Labeled Unicast Address-families
• BGP Prefix-SIDs are global SIDs
• The instruction of the BGP Prefix-SID is to forward the packet over
the ECMP-aware BGP best-path to the associated prefix
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 88
SR BGP Update message
AS_PATH
• Since the BGP Prefix-SID is a global SID, it is LOCAL_PREF
advertised as an index into the SRGB
MP_REACH_NLRI
• BGP Prefix-SID label value = SRGBbase + SID
index AFI/SAFI
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 89
SR BGP advertisement
• An SR BGP advertisement contains both the Prefix-SID label value
and the Prefix-SID index
• Allows interworking between classic BGP-LU and SR BGP
• Allows using different SRGBs on the nodes (not recommended!)
• The index is a hint to allocate the local label for the route from the
SRGB at the specified offset
• The label value is the outgoing label for the route
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 90
SR BGP configuration
• SR BGP is automatically enabled when configuring a global SRGB
segment-routing
global-block 16000 23999
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 91
Reference Topology
RR RR
AS1 AS2
10 next-hop-self
11
1 2 3 4 5 6
PE ASBR ASBR PE
iBGP LU eBGP LU
• Distribution of PE routes: • Next-hop-self enabled on
• BGP-LU between PE1 and Node3’s session to Node10
ASBR3 and between PE6 and and Node4’s session to
ASBR4 via their RRs Node10 and Node11
Node11
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 92
BGP Prefix-SID config – set label-index
• The Prefix-SID of a locally originated BGP route is set via a route-
policy
• A route-policy with set label-index <idx> can be attached to:
a) network configuration
b) redistribute configuration
a) b)
route-policy SID($SID) route-policy SIDs
set label-index $SID if destination in (1.1.1.1/32) then
end-policy set label-index 1
! endif
router bgp 1 end-policy
address-family ipv4 unicast !
network 1.1.1.1/32 route-policy SID(1) router bgp 1
allocate-label all address-family ipv4 unicast
redistribute connected route-policy SIDs
allocate-label all
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 93
iBGP LU
Originate local route on Node6 eBGP LU
RR RR
AS1 AS2
10 next-hop-self
11
1 2 3 4 5 6
PE ASBR ASBR PE
route-policy SID($SID) IP: 1.1.1.6/32
This is an set label-index $SID Prefix-SID: 16006
example, end-policy (SID index: 6)
see next slide !
segment-routing
global-block 16000 23999
Segment Routing
! Global Block (SRGB)
router bgp 2
bgp router-id 1.1.1.6
address-family ipv4 unicast
Associate prefix-SID
network 1.1.1.6/32 route-policy SID(6)
allocate-label all
index 6 with 1.1.1.6/32
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 94
Use argument for Route-policy
• The route-policy SID($SID) on the previous slide uses an argument
$SID that is provided when configuring the route-policy
• This allows to share a single route-policy for different attachment points
• $SID in the route-policy
is replaced by 6 for the route-policy SID($SID)
network 1.1.1.6/32 set label-index $SID
end-policy
!
router bgp 2
address-family ipv4 unicast
network 1.1.1.6/32 route-policy SID(6)
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 95
Prefix-SID Redistribution
Prefix-SID redistribution
• Prefix-SID redistribution between SR domains
• Prefix-SID redistribution between SR and non-SR domain
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 97
Redistribution reminder
• Redistribution uses the RIB as middle person:
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 98
Prefix-SID redistribution
between SR domains
Prefix-SID redistribution between SR domains
• Redistribution Scenarios:
• IGP-SR ↔ IGP-SR
• IGP-SR ↔ BGP-SR
• The Prefix-SID of a prefix is redistributed with the prefix
• Adj-SIDs are not redistributed as they belong an adjacency
• BGP Prefix-SID is used when redistributing to/from BGP(-LU)
• Both protocols/instances must have the same SRGB (SRGB is really
a node property)
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 100
Prefix-SID redistribution SR to SR
• A look inside the border router connecting two SR domains
• Redistributing IGP1 into IGP2
SR domain border SR domain
Node1 advertises router
1.1.1.1/32 with
1.1.1.1/32
Prefix-SID 16001 IGP1 redistribution IGP2
+ SID 16001
1.1.1.1/32 RIB
+ SID 16001 Nodes in domain receive
1 1.1.1.1/32 1.1.1.1/32 with
Prefix-SID 16001
Local lbl 16001
21 1 2 3 4 5 6 26
CE PE ASBR ASBR PE CE
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 103
Topology description
• Two IGP domains interconnected via BGP peering link between
ASBR3 and ASBR4
• For illustration purposes, the remote PE reachability distribution
uses a different method in both domains
• AS1 is non-SR-enabled (all nodes):
• Uses LDP and BGP-LU
• Remote PE reachability via BGP-LU between ASBR3 and PE1
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 105
Transport routes (1.1.1.6/32)
Non-SR next-hop-self SR
iBGP-LU eBGP-LU
AS1 1.1.1.6/32
NH = 1.1.1.3
1.1.1.6/32
NH = 99.3.4.4 AS2 (a)
Label = 90306 Label = 16006
SID index = 6 SID index = 6
1.1.1.3/32
Redist. 1.1.1.6/32
1 2 3 4 5 6
99.3.4.4
LDP LDP ISIS SR
1.1.1.3/32
Label = 90203
1.1.1.3/32
Label = 3
1.1.1.6/32
Label = 16006
(b)
6 Non-SR node
LDP 90203
BGP 90306 BGP 90306 BGP 16006 IGP 16006
IP 1.1.1.6 IP 1.1.1.6 IP 1.1.1.6 IP 1.1.1.6 IP 1.1.1.6
(c)
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 106
Transport routes (1.1.1.1/32)
Proxy BGP
Non-SR allocates BGP SR
local label
iBGP-LU eBGP-LU 16001 for
AS1 1.1.1.1/32
NH = 1.1.1.1
1.1.1.1/32
NH = 99.3.4.3 1.1.1.1/32 AS2 (a)
Label = 3 Label = 90301
1.1.1.1/32 1.1.1.4/32
1 2 3 4 5 6
99.3.4.3
LDP LDP Proxy BGP prefix ISIS SR
1.1.1.1/32 1.1.1.1/32 1.1.1.1/32 (b)
Label = 3 Label = 90201 mapping: Label = 16001
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 107
Configuration Example – SR Mapping Server & BGP
segment-routing
global-block 16000 23999
mapping-server
prefix-sid-map
1.1.1.1/32 – prefix-SID idx 1
address-family ipv4
1.1.1.2/32 – prefix-SID idx 2
! <prefix>/<len> <1st-SID> range <range> ...
1.1.1.1/32 1 range 200 1.1.1.200/32 – prefix-SID idx 200
10.1.1.1/32 401 range 300
20.1.1.1/32 – prefix-SID idx 401
! 20.1.1.2/32 – prefix-SID idx 402
...
20.1.2.44/32 – prefix-SID idx 700
router bgp 1
address-family ipv4 unicast
segment-routing prefix-sid-map
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 108
Color-Aware Routing
Principles
Types of intent
• Topology path selection
• Minimize expected delay
• Minimize delay
• Minimize cost per bit with a delay bound
• Avoid resource
• Disjoint paths
• Disjoint planes
• Data Sovereignty
• Others
• Steer traffic along a service chain
• Any combination of the above
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 1
Intent encoded as a color
• Color is a standard way to signal intent
• A 32-bit number
BGP VPN
V/v via E with color ORANGE
W/w via E with color BLUE
V/v
A E W/w
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 112
Color-aware transport routes
Color-aware routes @ A:
Endpoint Color Path
E ORANGE <low-cost path A to E>
E BLUE <low-latency path A to E>
(E, ORANGE)
Low-cost path
A E
Low-latency path
(E, BLUE)
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 113
Service routes steered on color-aware route
BGP Service route
Traffic to V/v
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 114
Service routes steered on color-aware route
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 115
Color-aware route (E2, C) provided by IGP Flex Algo
Algo 0: Low-cost
(E2, ORANGE) via Prefix-SID 16002 Prefix-SID: 16002
(E2, BLUE) via Prefix-SID 16802 Flex-Algo 128: Low-delay
Prefix-SID: 16802
<16002>
E1 E2
<16802>
<16002>
E1 E2
<S1, S2, 16002>
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 120
SR Policy pull model: On-Demand Nexthop
(ODN)
BGP VPN
W/w via E2 0
1 Color = BLUE
BLUE ⟶ Low-delay
2
New SR Policy (E2, BLUE):
SID-list <S1, S2, 16002>
E1 E2 W/w
3 <S1, S2, 16002>
3. E1 steers the traffic for prefix W/w onto SR Policy (E2, BLUE)
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 121
Need for Per-Flow Automated Steering
Same
Destination
Min Cost
F1: 3/8 (DSCP 0) IGP to 4 3/8
Different
2
Flows (flow 1, flow 2)
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 122
Per-Flow SR Policy (PFP)
• Per-Flow Policy (Node4, blue) @ Node1
• FC=0 ➔ IGP shortest path == 16004
• FC=1 ➔ Per-Destination SR Policy (Node4, green)
2
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 123
SR Path Computation
Element (SR-PCE)
SR Path Computation Element (SR-PCE)
SRTE Head-End Cisco Crosswork
Optimization Engine
Distributed Mode – SR-TE Head-End
Visibility is limited to its own IGP domain
Single / Computation
Solution REST API
algorithms
Multi-
Multi-Domain SRTE Visibility Domain
Centralized SR-PCE for Multi-Domain Topology view Topology
Topo
Compute
Integration with Applications DB SR-PCE runs
North-bound APIs for topology/deployment on virtual IOS-
XR node
Delivers across the unified SR Fabric the SLA requested by Collect Deploy
the service PCEP
IGP
BGP-LS
Benefits
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 125
Blue = computed by SR-PCE
Optimization
Use Case objective / Single-Domain Multi-Domain
constraints
Reachability IGP metric + constraints Distributed or Centralized Centralized
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 126
SR-PCE – Fundamentally Distributed
• SR-PCE not to be considered as a single all-overseeing device
• SR-PCE deployment is closer to BGP RR deployment model
• Different service end-points can use different pairs of SR-PCEs
• Choice of SR-PCE can either be based on proximity or service
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 127
SR-PCE – Fundamentally Distributed
• Add SR-PCE nodes where needed; per geographic region, per
service, ...
• SR-PCE needs to get the required topology information for its task
• E.g. to compute inter-domain paths SR-PCE needs the topology of all domains
• Example:
Domain1 Domain2 Domain3
RR RR RR
2 4 5
1
6
3
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 129
SR-PCE receives topology of all domains
Domain1 Domain2 Domain3
• Each domain feeds its A BR1 BR1 BR3 BR3 BR5 BR5
topology to SR-PCE via BGP-LS BR2 BR2 BR4 BR4 BR6 BR6 Z
EPE
A BR1 BR3 BR5
Peering
links
BR2 BR4 BR6 Z
EPE
BGP-LS
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 130
SR-PCE consolidates the topologies
Domain1 Domain2 Domain3
EPE
A BR1 BR3 BR5
Peering
links
BR2 BR4 BR6 Z
EPE
BGP-LS
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 131
SR-PCE – High Availability (HA)
• SR-PCE leverages the well-known standardized PCE HA
• Head-end sends PCEP Report for its SR Policies to all connected
SR-PCE nodes
• Head-end delegates control to its primary SR-PCE
• Delegate flag (D) is set in PCRept to primary SR-PCE
• Upon failure of the primary SR-PCE, head-end re-delegates control
to another SR-PCE
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 132
SRTE with SR IGP
Flexible Algorithm
SR IGP Flexible Algorithm (FA)
• Complements the SRTE solution with customizable Prefix-SIDs
• We call “Flex-Algo”
• The algorithm is 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: link-affinity, SRLG, …
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 134
SR IGP Flexible Algorithms
• Examples
• Operator defines Flex-Algo 128 as “minimize IGP metric while avoiding links with
link-affinity brown”
• Operator defines Flex-Algo 129 as “minimize delay metric”
Network Slice
5 1 2 on link cost
based 5 1 2 Slice
Network
with exclusions based on delay
8 3 8 3
1.1.1.4/32 1.1.1.4/32
16804 – algo 128 16904 – algo 129
6 7 4 6 D: 10
7 4
I: 100 I: 100
Default IGP Measured link
link metric: I:10 Delay: D:1
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 135
SR IGP Flexible Algorithms
• Examples
• Operator defines Flex-Algo 128 as “minimize IGP metric while avoiding links with
link-affinity brown”
• Operator defines Flex-Algo 129 as “minimize delay metric”
And the question is … How many labels are needed to enforce traffic on the
Flex-Algo path? Network Slice
5 1 2 on link cost
based 5 1 2 Slice
Network
with exclusions based on delay
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 137
Use-Case – Delay vs Cost of Transport
Lo0 – 1.1.1.9
• All nodes support Algo 0 & 128 23 16009 (algo 0)
1 2 16809 (algo 128)
2
• ISIS link metric 10
2
Algo 128: minimize delay metric 1 1
• 0 9
• Per-link measurement of delay and 2 16 2
advertisement as delay metric via ISIS 5 6
• Delay metric at that time shown in green
1 2 1 2
16009 16809
0 Payload (Cost) 9 0 (Delay) 9
Payload
5 6 5 6
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 138
Use-Case – SRTE for Intelligent Secure Paths
Lo0 – 1.1.1.9
• ISIS link metric 10 16009 (algo 0)
1 2 16809 (algo 128)
• Link colors shown Unencrypted / Encrypted
• All nodes support Algo 0 & 128 0 9
• Algo 128: minimize IGP while traversing links with encryption enabled (exclude brown)
5 6
• Per-link colors flooded in IGP
1 2 1 2
16009 16809
0 Payload (Cost) 9 0 (Secure Path) 9
Payload
5 6 5 6
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 139
Use-Case - SRTE for High-BW Links Preference
Lo0 – 1.1.1.9
• ISIS link metric 10 16009 (algo 0)
400 16809 (algo 128)
1 1 2
• Link colors shown 1G / 10G / 100G / 400G
100
• All nodes support Algo 0 & 128 0 100 100 9
1
• Algo 128: minimize IGP while traversing links of 100G
100 or more (exclude brown and red)
5 10
6
• Per-link colors flooded in IGP
1 2 1 2
16009 16809
0 Payload (Cost) 9 0 (High BW only) 9
Payload
5 6 5 6
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 140
Use-Case – “Clean” Slice
Lo0 – 1.1.1.9
• ISIS link metric 10 16809 (algo 128)
1 2
• Link colors shown reliable / unreliable
• Reliability of a link based on operator-defined factors
0 9
• All nodes support Algo 0 & 128
• Algo 128: minimize IGP while traversing reliable links (e.g.5exclude unreliable) 6
Conditions trigger
• Per-link colors flooded in IGP link re-coloring
1 2 1 2
Link
operational
data
0 9 0 9
16809 16809
Payload 5 6 Payload 5 6
Link degrades
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 141
Conclusion
Simplicity Always
Prevails
BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 143
Stay up to date with…
Segment Routing
www.segment-routing.net/
LinkedIn
www.linkedin.com/groups/8266623
Twitter
www.twitter.com/SegmentRouting
Facebook
www.facebook.com/SegmentRouting/
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 144
Fill out your session surveys!
These points help you get on the leaderboard and increase your chances of winning daily and grand prizes
#CLUS BRKMPL-2135 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 145
• Visit the Cisco Showcase
for related demos
BRKMPL-2135 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 146
SR Learning Path
• Deploying VPNs over SR Made Easy - BRKMPL-2131, MON 06/05 8:00-9:00AM
• High Value Wavelength / Private Line Services - BRKOPT-1005, MON 06/05 8:30-
10:00AM
• SRv6 for Next-Gen Transport Networks - BRKMPL-2205, MON 06/05 1:00-2:00PM
• Preparing for a Successful SR Deployment - BRKMPL-2135, MON 06/05 3:00-
4:30PM
• Enterprise E2E WAN Architectures - BRKXAR-1003, MON 06/05 3:00-4:30PM
• Simplify your journey to SR and SRv6 with Crosswork Automation - BRKSPG-2043,
MON 06/05 4:00-5:00PM
#CLUS BRKMPL-2135 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 147
SR Learning Path
• SRv6 Fundamentals - BRKMPL-2203, TUE 06/06 3:00-4:30PM
• Circuit-style SR and Service Emulation - BRKMPL-2133, TUE 06/06 4:00-5:00PM
• Deploying and troubleshooting multicast over SR - BRKMPL-2257, WED 06/07
10:30-12:00PM
• SR Implementation in Action: From CLI to Closed-Loop Automation - BRKMPLS-
2147, THU 06/08 8:30-10:00AM
#CLUS BRKMPL-2135 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 148
SR Learning Path
• Troubleshooting SR - BRKMPL-3624, On-demand recording
• SRv6 Basics - LABMPL-1201, Walk-in Lab
• Implementing EVPN over SR using NCS 55xx/5xx platforms - LABSPG-3000, Walk-
in Lab
• Implementing SRv6 on NCS 55xx/5xx platforms - LABSP-3393, Walk-in Lab
• How to use SR PCE for IOS-XR - LABMPL-2011, Walk-in Lab
#CLUS BRKMPL-2135 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 149
Thank you
#CLUS
Gamify your Cisco Live experience!
Get points for attending this session!
How:
1 Open the Cisco Events App.
4 Click the + at the bottom of the screen and scan the QR code: