0% found this document useful (0 votes)
46 views144 pages

BRKMPL 2135

Uploaded by

anmq1991
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views144 pages

BRKMPL 2135

Uploaded by

anmq1991
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 144

#CiscoLive

Preparing for a Successful


Segment Routing
Deployment
Jose Liste, Technical Marketing Engineer
BRKMPLS-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

2 Click “Join the Discussion”

3 Install the Webex App or go directly to the Webex space Enter your personal notes here

4 Enter messages/questions in the Webex space

Webex spaces will be moderated


by the speaker until June 9, 2023. https://ciscolive.ciscoevents.com/ciscolivebot/#BRKMPL-2135

#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

of instructions, called segments


• A segment is locally defined
and executed at a specific
location in the network
• A segment can represent ANY
function, topological or
service-based or user-defined

#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

• SRv6: the instantiation of SR on the IPv6 data-plane


• SID → an IPv6 address associated with the segment

Data Segment1

Data Segment1 Segment2 Segment3

#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
Are there different types of Segments?

Global Segments Local Segments

• Segments learnt and programmed • Segments learnt by all nodes in


by all nodes in the SR domain the SR domain but only
programmed by the advertising
node
• SID is operator-assigned within • SID is dynamically allocated by
the SR Global Block (SRGB) router and option for operator-
assigned within the SR Local Block
(SRLB)
• Example: prefix segment
• Example: adjacency segment,
peering segment
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
SR Toolkit - Are there different types of Segments?
GLOBAL segment representing an IGP prefix
IGP Prefix SID Forward packet along shortest-path (ECMP-aware) to reach the prefix associated with the segment

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)

IGP Adjacency LOCAL segment representing an IGP adjacency


SID Forward packet over the interface where the adjacency is formed

GLOBAL segment representing a BGP prefix


BGP Prefix SID Forward packet along best-path to reach the prefix associated with the segment

BGP Peering LOCAL segment representing a BGP neighbor


SID Forward packet over the interface where the neighbor is formed

#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
SR Toolkit - Are there different types of Segments?

LOCAL segment representing an SR Policy


Binding SID Forward packet along the path(s) of the associated SR Policy

Layer 2 LOCAL segment representing a member interface of an Ethernet Bundle


Adjacency SID Forward packet over the Bundle member interface associated with the segment

#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 13
Network Evolution with SR-MPLS
Service Protocols

L2 VPN services LDP L2 VPN services (EVPN)


MP-BGP
L3 VPN services MP-BGP L3 VPN services

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

Intra-Domain Traffic Engineering Intra-Domain Traffic Engineering


RSVP-TE
Fast Re-Route Fast Re-Route

IGP with
Intra-Domain MPLS LSP LDP Intra-Domain MPLS LSP
SR extensions

IP Routing IGP IP Routing

Data-Plane

Label-based forwarding MPLS MPLS Label-based forwarding

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

• MPLS forwarding is enabled on all non-passive IS-IS interfaces


• Adjacency-SIDs are allocated and distributed for all adjacencies
• Non-protected adj-SIDs and protected adj-SIDs
• Could be used by TI-LFA backup paths and SR-TE policies

#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

• segment-routing mpls must be configured to install SIDs received by


OSPF in the forwarding table
• MPLS forwarding is enabled on all OSPF interfaces
• Adjacency-SIDs are allocated and distributed for all SR-enabled
adjacencies
• Configuration under ospf instance is recommended, but can be customized
under each area

#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

RP/0/0/CPU0:xrvr-1#show mpls label table detail


Table Label Owner State Rewrite
Non-default SRGB
OSPF SRGB
----- ------- ------------------------------- ------ ------- label block allocation
<...snip...>
0 18000 OSPF(A):ospf-1 InUse No for OSPF
(Lbl-blk SRGB, vers:0, (start_label=18000, size=2000) [ 18,000 – 19,999 ]
<...snip...>

Start_label = 18,000 Size = 2,000

#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>}

• Prefix-SID can be specified using:


an absolute value within the SRGB (“global mode”)
or an index (offset) from the lower bound of the SRGB.
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 20
Prefix-SID / Node-SID Configuration
router isis 1
interface Loopback0
address-family ipv4 unicast
prefix-sid absolute 16001

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

IS-IS example SID idx 1 SID idx 2

1 2

interface Loopback0 RP/0/0/CPU0:xrvr-1#show isis database verbose xrvr-1


ipv4 address 1.1.1.1 255.255.255.255
! IS-IS 1 (Level-2) Link State Database
router isis 1 LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
address-family ipv4 unicast xrvr-1.00-00 * 0x0000039b 0xfc27 1079 0/0/0
metric-style wide Area Address: 49.0001
segment-routing mpls NLPID: 0xcc
! Hostname: xrvr-1
interface Loopback0 IP Address: 1.1.1.1
address-family ipv4 unicast Router Cap: 1.1.1.1, D:0, S:0
prefix-sid absolute 16001 Segment Routing: I:1 V:1, SRGB Base: 16000 Range: 8000
!! Or: prefix-sid index 1 <...>
Metric: 0 IP-Extended 1.1.1.1/32
Prefix-SID Index: 1, Algorithm:0, R:0 N:1 P:0 E:0 V:0 L:0
Prefix Attribute Flags: X:0 R:0 N:1
Source Router ID: 1.1.1.1
<...>
Prefix-SID of prefix 1.1.1.1/32

#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

FIB CEF mpls forwarding


ip-to-mpls mpls-to-mpls

1.1.1.5/32 → 16005 16005 → 16005

Loc_lbl: local label, allocated by local node 16005: SR label


Out_lbl: outgoing label
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
SR Global Block (SRGB)
Segment Routing Global Block (SRGB)
• Segment Routing Global Block
• Range of labels reserved for Segment Routing Global Segments
• Default Cisco’s SRGB is 16,000 – 23,999

• A prefix-SID is advertised as a domain-wide unique index


• The Prefix-SID index points to a unique label within the SRGB
• Index is zero based, i.e. first index = 0
• Label = Prefix-SID index + SRGB base
• E.g. Prefix 1.1.1.65/32 with prefix-SID index 65 gets label 16065

#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

16,000 16,000 16,000


… … …
Available label space

… … …
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

16001 16001 16001


Payload Payload Payload Payload

16,000 Idx 0 16,000 Idx 0 16,000 Idx 0

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
… … …

Recommended SRGB allocation:


“same SRGB for all”
→ Prefix-SID has global label value
… … …
1,048,575 1,048,575 1,048,575

#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

16001 16001 16001


Payload Payload Payload Payload

16,000 Idx 0 16,000 Idx 0 16,000 Idx 0

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
… … …

Same SRGB → prefix-SID has Global label value:


Simple, predictable
Much easier to troubleshoot
Simplifies SDN

programming … …
1,048,575 1,048,575 1,048,575

#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

16,000 Idx 0 16,000 16,000 Idx 0

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

16001 400001 16001


Payload Payload Payload Payload

16,000 Idx 0 16,000 16,000 Idx 0

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

• LSD allocates dynamic labels starting from 24,000

#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

• An example sequence of Segment Routing 16,000

activation: … Preserved range


23,999

1. No Segment Routing enabled, no SRGB 24,000

allocated …

• LSD preserves default SRGB label range


• Dynamic labels are allocated by various MPLS
applications ( in diagram) Dynamic label range


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

• An example sequence of Segment Routing 16,000

activation: … IS-IS SRGB


23,999

1. No Segment Routing enabled, no SRGB 24,000

allocated …

• LSD preserves default SRGB label range


• Dynamic labels are allocated by various MPLS
applications ( in diagram) Dynamic label range

2. Sometime later, Segment Routing IS-IS


is enabled with default SRGB

• SRGB label range is free (preserved), start
1,048,575
using Segment Routing without reboot!
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 36
Segment Routing Global Block (SRGB) Notes

• 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

• On a node with multiple routing protocol instances, *all* should use


the same SRGB:
• SR-enabled IGP instances
• SR-enabled BGP,

#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

1. No Segment Routing enabled, no SRGB 23,999


24,000
allocated

• LSD preserves default SRGB label range
• Dynamic labels are allocated by various MPLS Dynamic label 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)

Start_label = 16,000 Size = 8,000

#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

RP/0/0/CPU0:xrvr-1#show mpls label table detail


Table Label Owner State Rewrite
Non-default SRGB
IS-IS SRGB
----- ------- ------------------------------- ------ ------- label block allocation
<...snip...>
0 18000 ISIS(A):1 InUse No for ISIS
(Lbl-blk SRGB, vers:0, (start_label=18000, size=2000) [ 18,000 – 19,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)

Start_label = 18,000 Size = 2,000

#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

• Large majority of deployments should be able to meet these goals


• in some cases, they cannot be achieved due to scaling and platform
limitations

#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

• Alternatively, an operator could treat the configured SRGB as a


global pool of SIDs
• A global pool might lead to a more optimal use of the SRGB
• More complicated administration

#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]

Access Aggregation Core Aggregation Access


Domain Domain Domain Domain Domain

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

• >1 SIDs needed per node


• Algo(0) Prefix-SID
• With Flex-Algo, multiple SIDs are mapped to a prefix
• How many Flex-Algo SIDs?
• Delay metric: 1 Flex-Algo for low-delay service
• TE metric: 1 Flex-Algo for e.g. premium service
• IGP metric: 2 Flex-Algos for dual-plane
• FA with affinity constraints? E.g., use encrypted links, avoid low BW links

#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

• SR / LDP Co-existence Deployment Model


• SR / LDP Interworking Deployment Model

#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

MPLS-to-MPLS and MPLS-to-IP Prefix-SID


index 5
1 2 3 4 5

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

MPLS-to-MPLS and MPLS-to-IP


Prefix-SID
SR Prefix Segment to 1.1.1.5/32 index 5
1 2 3 4 5

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

MPLS-to-MPLS and MPLS-to-IP


Prefix-SID
LDP FEC to 1.1.1.5/32 index 5
1 2 3 4 5

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

IP-to-MPLS: which label must be imposed? Prefix-SID


index 5
1 2 3 4 5

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

Payload 24000 24000 24000 24000


… 24001 32011 … …

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

• leave default LDP label imposition preference 3 4


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

• leave default LDP label imposition preference 3 4


SR+LDP SR+LDP
• Step2: All PEs are configured to prefer
SR label imposition 1 SR 2
• In no particular order
sr-prefer 5 6
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

IGP/SR and LDP programming FIB


• This diagram illustrates the default
behavior: prefer LDP label IGP/RIB LDP/LSD
imposition
1
1.1.1.5/32 1.1.1.5/32
Loc_lbl 16005 Loc_lbl 24002
Out_lbl 16005 Out_lbl 24001
local/in lbl out lbl
16000
… FIB
SRGB

16005 16005 cef mpls forwarding



to 1.1.1.5 23999 1.1.1.5/32 → 24001 24002 → 24001
Payload 24000
… 16005 → 16005
24002 24001

segment-routing mpls (default)

Loc_lbl: local label, allocated by local node 16005: SR label



Out_lbl: outgoing label 24002: LDP label
1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 69
SR LDP

IGP/SR and LDP programming FIB


• This diagram illustrates the
behavior when preferring SR label IGP/RIB LDP/LSD
imposition
1
1.1.1.5/32 1.1.1.5/32
Loc_lbl 16005 Loc_lbl 24002
Out_lbl 16005 Out_lbl 24001
segment-routing local/in
mpls lbl out lbl
sr-prefer
16000
… FIB
SRGB

16005 16005 cef mpls forwarding



to 1.1.1.5 23999 1.1.1.5/32 → 16005 16005 → 16005
Payload 24000
… 24002 → 24001
24002 24001

Loc_lbl: local label, allocated by local node 16005: SR label



Out_lbl: outgoing label 24002: LDP label
1048575
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 70
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 SR

• leave default LDP label imposition preference 3 4


SR SR
• Step2: All PEs are configured to prefer
SR label imposition 1 SR 2
• In no particular order
5 6
• Step3: LDP is removed from the nodes
in the network SR SR
• In no particular order
SR Domain
• Final state: All nodes run SR, not 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

Interworking Deployment Model


• Simple, automatic and
seamless interworking with SR to LDP
LDP
• Based on:
LDP to SR
• SR Mapping Server (SRMS)
control-plane function
• SR / LDP data-plane
SR over LDP
interworking function

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

• Mapping Server (MS)


16007 MS
function LDP(7)
vpn
• Seamless deployment vpn
pkt 2 3 vpn
pkt
• Enable SR-capable nodes to pkt
interwork with non-SR-capable 1.1.1.7/32
pkt 1 SR / LDP Interworking 4 7
• Advertise Prefix-to-SID pkt
mappings in IGP on behalf of
6 5
other non-SR-capable nodes
Site1 Site2
• prefix-to-sid mappings are 16007
configured on the Mapping SR vpn LDP
Server
pkt

#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

90002 90090 90090 pop

… … … … 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

90002 90090 90090 pop

… … … … 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

90002 90090 90090 pop

… … … … 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

BGP Prefix-SID advertisement ORIGIN

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

• SR BGP uses the BGP-LU address-family Next-Hop

• The Prefix-SID index is advertised in a Label- NLRI

Index TLV of the BGP Prefix-SID attribute Prefix

added to the BGP-LU Update message Label

• BGP Prefix-SID attribute and Label-Index TLV are


specified in draft-ietf-idr-bgp-prefix-sid BGP Prefix-SID
Label-Index

#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

• BGP uses this globally configured SRGB


• Note 1: there is no default global SRGB
• Note 2: if a global SRGB is configured, the IGPs use it by default

#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:

• Routes installed by the redistributed (source) instance in RIB are


redistributed into the redistributing (destination) instance
• The redistributed instance installs the RIB/FIB entry
• The redistributing instance does not install a forwarding entry

#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

Prefix-SID local label MPLS


installed in RIB
Local_lbl: 16001
Out_lbl: 16001
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 101
Prefix-SID redistribution
between SR and Non-SR
domains
SR VPN Inter-AS option C - Topology
next-hop-unchanged
Non-SR SR
RR RR
AS1 AS2
VRF RED
10 next-hop-self
11 VRF RED
Redist.

21 1 2 3 4 5 6 26
CE PE ASBR ASBR PE CE

iBGP VPN iBGP LU eBGP VPN eBGP LU

• Distribution of PE routes: • Next-hop-self enabled on Node3’s


• In AS1: BGP-LU between ASBR3 and session to Node10
PE1
• Next-hop-unchanged enabled on
• In AS2: mutually redistribute BGP in IGP Node11’s session to Node10

#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

• AS2 is SR enabled (all nodes):


• Uses SR IGP and SR BGP
• Remote PE reachability via mutually redistributing BGP ↔ IGP on ASBR4
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 104
Proxy BGP-SR
• Provide prefix-to-sid map to BGP for the prefixes that have no
Prefix-SID
• Use local prefix-sid-map and apply it under BGP

• BGP then allocates the Prefix-SID label as local label


• BGP installs Prefix-SID forwarding entry
• BGP provides Prefix-SID for redistribution

#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

• 1.1.1.1/32: 6 Non-SR node


index 1

IGP 90201 BGP 90301 SR 16001 IGP 16001


IP 1.1.1.1 IP 1.1.1.1 IP 1.1.1.1 IP 1.1.1.1 IP 1.1.1.1
(c)

#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

• Mapping an intent to a color:


• Low-latency: BLUE
• Low-cost: ORANGE

• Colored Service Routes – requesting a particular intent


• Color-aware Transport Routes – satisfying a particular intent
• A colored service route is steered over a color-aware route of
same intent
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 1
Colored service route

BGP VPN
V/v via E with color ORANGE
W/w via E with color BLUE

V/v
A E W/w

• E sends colored service routes, each requesting a particular intent


• Route coloring is done by using the BGP Color Extended-Community
• Standard (RFC5512 / RFC9012), supported by all major BGP implementations
• Any service route can be colored (L3VPN, EVPN, Internet routes)

#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)

• A color-aware route satisfies a particular intent


• A color-aware route is identified by the tuple (Endpoint and Color); in short
(E,C)
• A color-aware route can be signaled/instantiated by different mechanisms

#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

V/v via NH E with color C BGP Service route


V/v via NH E with color C

Endpoint: E; Color: C ⟶ <intent-


aware path to E> (E, C)
Intent-aware path
Color-aware route A E V/v

Traffic to V/v

• A colored service route is steered over a color-aware route of same intent


• Traffic destined to prefix V/v via E with color C is steered over color-aware route
(E, C)
• This is known as Automated Steering

#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 114
Service routes steered on color-aware route

I need BGP VPN


color-aware routes V/v via E2 with color ORANGE
(E2, ORANGE) W/w via E2 with color BLUE
and (E2, BLUE)
Low-cost path
V/v
E1 E2 W/w
Low-latency path

• A colored service route is steered over a color-aware route of same intent


• V/v via E2 with color ORANGE is steered over (E2, ORANGE)
• W/w via E2 with color BLUE is steered over (E2, BLUE)

#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>

• IGP Flex Algo (RFC9350)


• E1 maps color to an IGP algorithm
• Orange ⟶ Algo 0
• Blue ⟶ Flex-Algo 128
• IOS-XR implementation available since 2019
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 116
Color-aware route (E2, C) provided by SR Policy

(E2, ORANGE) via SID-list <16002>


(E2, BLUE) via SID-list <S1, S2, 16002>

<16002>
E1 E2
<S1, S2, 16002>

• SR Traffic Engineering Policy – in short SR Policy (RFC9256)


• E1 has two SR policies
• (E2, ORANGE): Dynamic, low cost with SID-list <16002>
• (E2, BLUE): Dynamic, low delay with SID-list <S1, S2, 16002>
• IOS-XR implementation available since 2017
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 117
SR Policy
SR Traffic Engineering
• Simple, Automated and Scalable
• No core state: state in the packet header
• No tunnel interface: “SR Policy”
• uniquely identified by a tuple (head-end, color, end-point)
• No head-end a-priori configuration: on-demand policy instantiation
• No head-end a-priori steering: automated steering
• Multi-Domain
• SR PCE for compute
• Binding-SID (BSID) for scale
• Lots of Functionality
• Designed with lead operators along their use-cases
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 119
Key IETF document for SRTE

#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>

1. E1 maps color BLUE to the low-delay intent


2. Upon receiving a service route via E2 with color BLUE, E1 automatically
instantiates the SR Policy (E2, BLUE)
• This is called On-Demand Next-hop (ODN)
• Each PE installs only the SR Policies that it needs

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

F2: 3/8 (DSCP 46) P(green, 4)


1 3 4
Min Delay

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)

• Per-Destination Policy (Node4, green)


• Defined as Min Delay ➔ <16002, 16004>

IGP shortest path


0 IGP to 4
P(4, blue)
1 P(4, green) 1 3 4
Min-delay

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

Simplicity and Automation


End-to-End network topology awareness Access Metro Core Metro Data Center

SLA-aware path computation across network


domains 1 2 3 4
Aggregation

#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 125
Blue = computed by SR-PCE

SRTE Use Cases Green = computed by head-end

Distributed or Centralized Path Computation?

Optimization
Use Case objective / Single-Domain Multi-Domain
constraints
Reachability IGP metric + constraints Distributed or Centralized Centralized

Low Latency (TE metric) TE metric + constraints Distributed or Centralized Centralized

Low Latency (actual) Latency + constraints Distributed or Centralized Centralized

IGP / TE metric + PCEP


Path Disjointness Centralized Centralized
association group

Tree-SID P2MP 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

A BR1 B BR3 BR5 Z

BR2 BR4 BR6


SR-PCE SR-PCE SR-PCE SR-PCE SR-PCE SR-PCE
PCEP
#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 128
SR-PCE – Fundamentally Distributed
• Using RRs to scale the BGP-LS topology distribution
• Any node can have a BGP-LS session to the RR
Domain1 Domain2 Domain3

RR RR RR

2 4 5
1
6
3

SR- SR- SR- SR- SR- SR-


PCE PCE PCE PCE PCE PCE
BGP-LS

#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

• Typically via RRs


SR-
PC
E
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 130
SR-PCE consolidates the topologies
Domain1 Domain2 Domain3

• SR-PCE combines the different A BR1 BR3 BR5

topologies to compute BR2 BR4 BR6 Z


paths across entire topology
SR-
PC
E
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

A single SID == SRTE with a single SID !!!


8 3 8 3
1.1.1.4/32 1.1.1.4/32
And realized with the simplicity
16804of – single IGP process and single
FA128
– algo 16904 – algo 129
6 Loopback IP7 address 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 136
Multi-Plane Networks
Powered by SR IGP Flex Algo

#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

Furthermore with more scale and functionality

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/

Segment Routing, Part I / II Textbooks


Available on Kindle and in paperback

#CiscoLive BRKMPL-2135 © 2023 Cisco and/or its affiliates. All rights reserved. Cisco Public 144
Fill out your session surveys!

Attendees who fill out a minimum of four session


surveys and the overall event survey will get
Cisco Live-branded socks (while supplies last)!

Attendees will also earn 100 points in the


Cisco Live Challenge for every survey completed.

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

• Book your one-on-one


Meet the Engineer meeting

• Attend the interactive education


with DevNet, Capture the Flag,
Continue and Walk-in Labs

your education • Visit the On-Demand Library


for more sessions at
www.CiscoLive.com/on-demand

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.

2 Click on 'Cisco Live Challenge’ in the side menu.

3 Click on View Your Badges at the top.

4 Click the + at the bottom of the screen and scan the QR code:

#CLUS BRKMPL-2135 © 2023


2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 151
#CLUS

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy