Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 71

#CiscoLive

SR IGP Flex-Algo

Kamrul Islam – Customer Delivery Architect, @kamrul2525


Matt Breneisen – Customer Delivery Architect, @mattbreneisen

BRKMPL-2129

#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  https://ciscolive.ciscoevents.com/ciscolivebot/#BRKMPL-2129

by the speaker until June 17, 2022.

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 3
Why are we here?

• Wouldn’t it be nice to be able to manipulate the IGP to our own specific needs? If
we could add our own attribute or constraint?

•Only use a route with a cumulative delay based on a measured per link delay
•Have a highly reliable network achieving 5 or even 6 9’s of uptime.
•If we only want to use a secure path. Such as paths with MACsec only
•Define a path traversing high speed links for bandwidth sensitive traffic
•Only use a subset of the routers in your network

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
• MPLS Traffic Engineering Evolution

• SR IGP Flexible-Algorithm (Flex-Algo)

Agenda • SRTE ODN Policy using Flex-Algo

• Use Cases

• Conclusion

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 5
What we won’t be able to cover
• Basics of Segment Routing
• ISIS or OSPF basics of label transport

Recommended Sessions to review or attend


•BRKMPL-2137 Designing MPLS based IP VPNs
•BKRMPL-2131 Deploying VPNs Over Segment Routed Networks Made Easy
•BRKMPL-2117 SRv6 based IP Transport-Design, Deployment Best Practices & Challenge
•BRKMPL-2123 Multicast Segment Routing & Traffic Engineering
•BRKMPL-2119 Traffic-Engineering with SR and SRv6 Evolution

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 6
MPLS Traffic Engineering Evolution
MPLS TE with RSVP
SEA
• In addition to MPLS and IGP
•RSVP use for path signaling, label distribution, BW
control, etc.
•TE Path DEN CHI NYC
•TE tunnel from NYC to LA via DEN and SEA

• Path computation is complex & lack of scalability LA


•RSVP control plane is complex ATL
•To protect the primary TE path, required FRR PHX
backup tunnels for link/node protection
DAL
•TE states build in all the nodes from head-end
tail-end
•RSVP-TE is not ECMP friendly Higher IGP cost path
Lower IGP cost path

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 8
MPLS TE with Segment-Routing / SR-TE Policy
• No additional Protocol i.e., No RSVP except
SEA
IGP and MPLS
•Source-based routing
•SR Labels (SID) are distributed by IGP
DEN CHI NYC
•TE Path
•TE tunnel from NYC to LA via DEN and SEA
• Simplify and Scale Better LA
•Head-end accumulates labels to reach
ATL
destination, align with centralized controller concept
PHX
•TE states build only at head-end node DAL
•TI-LFA natively support sub 50ms link/node
protection and uLoop avoidance
•Inherent support of ECMP and UCMP

Higher IGP cost path


Lower IGP cost path
#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 9
SR ODN Policy using Flex-Algo

SEA
• In addition to SR-TE benefits, Flex-Algo brings
the following added capabilities:
DEN CHI NYC
•On-Demand Next-hop (ODN) Policy
•Automated Steering (AS) based on intent
•Support Inter-domain latency and SRLG LA
for disjoint path ATL
•Use Flex-algo label, no Adj label i.e., PHX
DAL
decrease number of labels in packet header

Higher IGP cost path


Lower IGP cost path

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
SR IGP Flex-Algo
SR IGP Flex-Algo (Flexible-Algorithm)
• Flex-Algo is a mechanism that allows a network operator to influence a path
computation by associating Metric and Constraints to Flex-Algo instead of using link-
cost based SFP

• Flex-Algo instance (K) is defined as


•Metric: IGP or Latency or TE
•Constraints: Exclude/Include Link-affinity (Link color), Shared Risk Link Group (SRLG)
for path dis-jointness,

• TI-LFA honors Flex-algo constraints for backup path

• Flex-algo is distributed by ISIS/OSPF

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
Currently Defined Flex-Algo(s)

• Flex-Algo(s): 0-255, 0-127 are reserved, 128-255 are Operator Useable

• Algo 0: Shortest Path First (SPF) algorithm based on IGP metric


This is the well-known shortest path algorithm as computed by the IS-IS decision process. consistent with the
deployed practice for link-state protocols, algorithm 0 permits any node to overwrite the SPF path with a different
path based on local policy

• Algo 1: Strict Shortest Path First (SPF) algorithm based on IGP metric
The algorithm is identical to algorithm 0 but algorithm 1 requires that all nodes along the path will
honor the SPF routing decision. Local policy MUST NOT alter the forwarding decision computed by
algorithm 1 at the node claiming to support algorithm

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 13
Flex-Algo Prefix-SID
• Flex-Algo Participation Advertisement - node wants to participate in Flex-algo
• No additional loopback address is needed
Node belongs to Flex-algo(FA):
Nodes 0 and 9 participate to Algo 0, 128 and 129 Flex-Algo
Nodes 1,2,3 and 4 participate to Algo 0 and 128 0,128,129
Flex-Algo
Nodes 5,6,7 and 8 participate to Algo 0 and 129 1 3
Algo 0,128 0,128,129

Node 3 FA Participation Adv: 0 2 4


Prefix-SID for FA 0 = loopback0 +FA 0 + 16300
Prefix-SID for FA 128 = loopback0 +FA 128 + 16308 9
5 7
Algo 0,129
Node 9 FA Participation Adv: 6 8
Prefix-SID for FA 0 = loopback0 + FA0 +16900
Prefix-SID for FA 128 = loopback0 + FA128 +16908
Prefix-SID for FA 129 = loopback0 + FA129 +16909 Flex-algo(s) – 128-255, operator useable
Default SRGB is 16000 - 23999

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 14
Flex-Algo Definition (FAD)

• Operator can associate the desired metric type,


and constraints to Flex-algo(s) FAD
Flex-Algo
•IGP metric or latency metric or TE metric 0,128,129
•Link affinity and/or SRLG
Flex-Algo
1 3 0,128,129
Algo 0,128
• All nodes MUST agree on same definition of the
0 2 4
Flex-Algo(s) for loop free forwarding
•Example, Node 3 and 8 Advertisement: 5 7 9
•FA 128 = metric is IGP + exclude purple link Algo 0,129
FAD
•FA 129 = metric is delay + exclude red link 6 8

• Multiple FAD nodes are recommended for


redundancy

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 15
Flex-Algo Computation and Install Prefix-SID
• Let’s say node N needs to compute a path using Flex-Algo 128
•Node N is needed to enable Flex-algo 128 for participation

•Node N has a consistent definition for algo 128

•Node N supports the definition for algo 128

• 1st step is to define the topology for algo 128


•Node N prunes any node that is not advertising participation to algo 128

•Node N prunes any link that is excluded by the algorithm of algo 128

e.g., if 128 excludes link-affinity RED then any link with link-affinity RED is pruned

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
Flex-Algo Computation and Prefix-SID installation
• 2nd step is to compute shortest-path tree for Topo(128) with the metric
defined by 128
•it could be the IGP metric, the TE metric or the delay

• 3rd step is to install reachability for Prefix-SID Flex-Algo 128 in the


forwarding table

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
Example – Prefix-SID 16900 of Algo(0)

Flex-Algo
0,128,129 1 3
Algo 0,128
0 2 4
L0:10.0.0.9/32

5 7 9 Prefix-SID 16900 for Algo(0)


Algo 0,129
6 8

Let’s say same IGP metric in all links, will follow ECMP

• Algo 0 is default flex-algo and metric type is IGP, will use entire topology
• SR leverage TI-LFA and uLoop

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
Example – Prefix-SID 16908 of Algo(128)

Flex-Algo
0,128,129

ODN Policy template 1 3


Flex-algo 128 Algo 0,128
2 L0:10.0.0.9/32
0 4
Prefix-SID 16900 for Algo(0)
Prefix-SID 16908 for Algo(128)
5 7 9
Algo 0,129
6 8

Let’s say same IGP metric in all links, will follow ECMP

• Algo 128 is operator defined, compute path thru the nodes participate to algo 128
• TI-LFA backup path honor constraints and uLoop

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
Example – Prefix-SID 16909 of Algo(129)
Flex-Algo
0,128,129

ODN Policy template 1 3


Flex-algo 129 Algo 0,128
0 2 4 L0:10.0.0.9/32
Prefix-SID 16900 for Algo(0)
Prefix-SID 16909 for Algo(129)
5 7 9
Algo 0,129
6 8

Let’s say same IGP metric in all links, will follow ECMP

• Algo 129 is operator defined, compute path thru nodes participate to algo 129
• TI-LFA backup path honor constraints and uLoop

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 20
SR ODN Policy using Flex-Algo
SR ODN Policy

• Per-Destination policy
•Steer traffic based on next-hop and color of a BGP service route
•Color is a BGP extended community attribute
•Color is used for transport SLA indicator, for instance min-delay or min-cost

• Per-Flow policy
•Steer traffic based on incoming packets classification (IPP, DSCP, ACL, EXP etc.)
•Then set local Forward-Class up to 8, range 0-7
•An ingress PBR policy applied to an input interface

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 22
SR ODN Policy – Per Destination

• Steps to build SR ODN policy

1. Flex-Algo Prefix-SID, node wants to participate in Flex-algo


2. Flex-Algo Link Affinity-map, exclude or include a link for path computation by Flex-algo
3. Flex-Algo Definition (FAD), associate metric & link constraints to Flex-algo
4. BGP Extended Color Community, add color to BGP prefix for intended ODN path
5. Finally, SR ODN Policy, auto dynamic path computation based on intended SLA

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
1. Flex-Algo Prefix-SID
• Flex-Algo Prefix-SID is the node that wants to participate in Flex-algo(s)
• Use existing loopback address
Flex-Algo 1 3
0,128,129 Algo 0,128 Flex-Algo
0 2 4 0,128,129

5 7 9
Algo 0,129
6 8
Node3: IOS-XR Node7: IOS-XE Node9: IOS-XR
router isis 1 router isis 1 router isis 1
Flex-algo 128 Flex-algo 129 Flex-algo 128
interface Loopback0  ! Flex-algo 129
 passive  segment-routing mpls interface Loopback0 
 address-family ipv4 unicast  connected-prefix-sid-map  passive 
   prefix-sid absolute 16300 address-family ipv4  address-family ipv4 unicast 
   prefix-sid algorithm 128 absolute 16308 10.0.0.7/32 absolute 16700 range 1    prefix-sid absolute 16900
exit-address-family    prefix-sid algorithm 128 absolute 16908
address-family ipv4 algorithm 129 prefix-sid algorithm 129 absolute 16909
10.0.0.7/32 absolute 16709 range 1
exit-address-family
#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 24
2. Flex-Algo Link affinity-map (Link color)
Node 1 # IOS-XR
Router isis 1
affinity-map MACSec bit-position 1
affinity-map ISP1 bit-position 2 MacSec
affinity-map ISP2 bit-position 3 1 3
affinity-map IPVPN bit-position 4
! ISP1
interface tenG0/0/0/1 0 2 4
affinity flex-algo MACSec
ISP2 9
Node 5 # IOS-XE 5 7
Router isis 1 IPVPN
affinity-map MACSec bit-position 1 6 8
affinity-map ISP1 bit-position 2
affinity-map ISP2 bit-position 3
affinity-map IPVPN bit-position 4
!
interface tenG0/0/0/1
Isis affinity flex-algo Link affinity-map bit-position MUST be matched in all the
name ISP2 nodes within the path computation domain.

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
3. Flex-Algo Definition (FAD)
• ISIS uses Sub-TLV and OSPF uses TLV to advertise FAD

Node 3 # IOS-XR FAD


MacSec
router isis 1 1 3
flex-algo 128
priority 250 ISP1
(By-default metric-type is IGP) 0 2 4
advertise-definition
affinity exclude-any ISP1
! ISP2 9
Node 8 # IOS-XE
5 7
router isis 1
IPVPN
flex-algo 129 6 8 FAD
advertise-definition
metric-type delay
priority 250
Select more than one node to advertise FAD with priority for
active and standby FAD

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 26
4. BGP Extended Color Community
• Setup BGP extended color community for SLA

Node9 # IOS-XR
extcommunity-set opaque COLOR_100
100
end-set Ingress
MacSec
extcommunity-set opaque COLOR_200 Node
1 3
200
end-set ISP1 Egress
prefix-set PREFIX_8 2 Node
8.0.0.0/24 0 4
end-set
prefix-set PREFIX_9 ISP2
9.0.0.0/24 5 7 9
end-set
! IPVPN L0:10.0.0.9/32
route-policy BGP_COLOR 8.0.0.0/24 – Set BGP Color 100
if destination in PREFIX_8 then 6 8 9.0.0.0/24 – Set BGP Color 200
set extcommunity color COLOR_100
else
if destination in PREFIX_9 then
set extcommunity COLOR_200
else
pass
end-policy

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
5.1 SR ODN Policy - Candidate Path
• Automated Steering by leveraging IGP Flex-Algo
Tail-end
Flex-Algo
Node0 # IOS-XR Head-end 0,128,129
Flex-Algo MacSec
segment-routing
0,128,129 1 3
traffic-eng ISP1 L0:10.0.100/32
!
0 2IP 4 100 6.0.0.0/24 – Set BGP Color 100
on-demand color 100 7.0.0.0/24 – Set BGP Color 200
steering
path-invalidation drop ISP2
L0:10.0.0.9/32
restrict IP_ACL BSID 5 7 9 8.0.0.0/24 – Set BGP Color 100
dynamic 9.0.0.0/24 – Set BGP Color 200
IPVPN, low delay
sid-algorithm 128
! 6 8
Tail-end
on-demand color 200
Flex-Algo
dynamic
0,128,129
sid-algorithm 129

• Flex-algo 128, metric is IGP, excluded ISP1 link, Prefix color 100, label 16908
• Flex-algo 129, metric is delay, Prefix color 200, label 16909
• The BGP next-hop IP address and Prefix-SID IP address must be same Loopback

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 28
5.2 SR ODN Policy – Multi-Candidate Paths
• Automated Steering by leveraging IGP Flex-Algo

Head-end
Node0 # IOS-XE Flex-Algo MacSec Tail-end
segment-routing traffic-eng
on-demand color 100
0,128,129
1 X 3 Flex-Algo
0,128,129
authorize ISP1
candidate-paths
0 2 4
preference 100
constraints
segments ISP2 9
dataplane mpls
algorithm 128 5 7 L0:10.0.0.9/32
! IPVPN 8.8.8.0/24 – Set BGP Color 100
preference 90
constraints 6 8
segments
dataplane mpls
algorithm 129 • Flex-algo 128, metric is IGP, excluded ISP1 link, Prefix color 100, label 16908
• Flex-algo 129, metric is IGP, exclude ISP1, Prefix color 200, label 16909

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 29
5.3 SRTE ODN Policy – Inter-Domain
SR
IOS-XR: PCE
segment-routing
traffic-eng Algo 128
on-demand color 100 SID: 16888
Algo 128, SID: 16928
dynamic
PE2 ABR1 PE4 Algo 129, SID: 16929
sid-algorithm 128
!
8.8.8.0/24  Color 100
on-demand color 200
ISIS 1 9.9.9.0/24  Color 200
dynamic PE1 ISIS 2 PE9
bounds Level-2 Level-2
cumulative
type igp <>
type te <>
PE3 ABR2 PE5
type hopcount <>
type latency <> Algo 129
sid-algorithm 129 SID: 16999
!
pcc
source-address ipv4 192.168.0.1
pce address ipv4 192.168.0.10
• PCE supports Inter-domain policy using Flex-algo
precedence 100 • Inter-domain ODN Policy without PCE is in progress

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 30
Performance Measurement
Per-link Delay Measurement
performance-measurement performance-measurement
interface GigE0/0/0/0 interface GigE0/0/0/0
delay-measurement TX Timestamp T2 delay-measurement
TX Timestamp T1
PM Query Packet
Sender
1 2 Reflector
Every 3 sec a query is sent PM Response Packet
TX Timestamp T4 TX Timestamp T3

• Router discover per-link DM and flood to IGP also can report to centralized controller via telemetry
• Two-way delay = (T2-T1)+(T4-T3) is by default, no clock synchronization is required
• One-way delay = Two-way delay/2, clock synchronization is required
• Sender and Reflector required HW Timestamping
• Two-Way Active Measurement Protocol (TWAMP-Light) uses RFC 5357 with IP/UDP encapsulation
#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 32
Per-link delay Measurement

• Over a measurement internal


•Minimum Used as delay metric for SR ODN Policy
•Average
Not used by SR ODN Policy
•Maximum
•Variance

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
Use Cases
So why are we here?

• We want to be able to manipulate the IGP to our own specific needs using
attribute or constraints that we decide are important?

•Only use a route with a cumulative delay based on a measured per link
delay
•If we only want to use a secure path. Such as paths with MACsec only
•Define a path traversing high speed links for bandwidth sensitive traffic
•Only use a subset of the routers in your network

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 35
Use Case 1 – Secure Path
Head-end FAD
Node 0 IOS-XR#
router isis 1 Flex-Algo MacSec Tail-end
0,128,129 Flex-Algo
flex-algo 128 1 3
! 0,128,129
address-family ipv4 unicast ISP1
router-id Loopback0
0 2 4
segment-routing mpls
!
interface Loopback0 ISP2 9
address-family ipv4 unicast 5 7
prefix-sid absolute 16000 L0:10.0.0.9/32
prefix-sid algorithm 128 absolute 16800 IPVPN – low delay 8.8.8.0/24 – Set BGP Color 100
!
segment-routing
6 8
traffic-eng FAD
!
on-demand color 100
dynamic
sid-algorithm 128
! • All nodes support Algo 0, 128 and 129
• Algo 128 is associated with IGP metric and exclude ISP1, ISP2

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 36
Use Case 2– Real-time communications and applications
Head-end FAD
Node 0 IOS-XR#
router isis 1 Flex-Algo MacSec Tail-end
0,128,129 Flex-Algo
flex-algo 129 1 3
! 0,128,129
address-family ipv4 unicast ISP1
router-id Loopback0
0 2 4
segment-routing mpls
!
interface Loopback0 ISP2 9
address-family ipv4 unicast 5 7
prefix-sid absolute 16000
L0:10.0.0.9/32
prefix-sid algorithm 129 absolute 16900 IPVPN: Low delay 9.9.9.0/24 – Set BGP Color 200
!
performance-measurement
6 8
interface GigabitEthernet0/0/0/X FAD
delay-measurement
!
segment-routing
traffic-eng • All nodes participating Algo 0, 128 and 129
! • Algo 129 is associated with delay metric and no link affinity included or excluded
on-demand color 200
• Per-link delay measurement is flood to IGP
dynamic
sid-algorithm 129
!

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 37
Use Case 3– Dual Plane / Multi-plane
Head-end FAD
Node 0 IOS-XR#
Flex-Algo MacSec Tail-end
router isis 1
0,128,129 Flex-Algo
flex-algo 128 1 3
! 0,128,129
address-family ipv4 unicast ISP1
router-id Loopback0
0 2 4
segment-routing mpls
!
interface Loopback0 MacSec 9
address-family ipv4 unicast 5 7
prefix-sid absolute 16000 L0:10.0.0.9/32
prefix-sid algorithm 128 absolute 16800 IPVPN 8.8.8.0/24 – Set BGP Color 100
! 6 8 9.9.9.0/24 – Set BGP Color 200
segment-routing
traffic-eng FAD
!
on-demand color 100
dynamic
sid-algorithm 128
! • Algo 128 is associated with IGP metric and exclude ISP1
on-demand color 200 • Algo 129 is associated with IGP metric and exclude ISP2
dynamic
sid-algorithm 129

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 38
Additional Use Cases
- Only use a subset of the routers in your network

- Define a path traversing high speed links for bandwidth sensitive traffic

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 39
Flex-Algo support Highlights

• ISIS Flex-Algo
• OSPF Flex-Algo
• MPLS-PM: per-link delay measurement
• MPLS-PM: end-to-end SR Policy delay measurement
• SR Data Plane Monitoring (SR-DPM)
• Inter-domain ECMP and UCMP

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 40
SR ODN Support Highlights

• The SR ODN Policy supports the following services:


•IPv4 BGP global routes
•IPv6 BGP global routes (6PE)
•VPNv4
•VPNv6 (6vPE)
•EVPN-VPWS (single-homing)
•EVPN-VPWS (multi-homing)
•EVPN (single-homing/multi-homing)

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 41
IETF
• draft-ietf-spring-segment-routing
•Prefix-SID per Algorithm

• draft-filsfils-spring-segment-routing-policy
•SRTE architecture, ODN, AS

• draft-hegdeppsenak-isis-sr-flex-algo
•Customization of Algo and consistency

• draft-ietf-isis-te-app
•Used to flood Flex-Algo specific link affinities

• RFC7810 (IS-IS Traffic Engineering (TE) Metric Extensions)


•Used to advertise extended TE metrics – e.g., link delay

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 42
Stay up-to-date
amazon.com/

segment-routing.net

linkedin.com/groups/8266623

twitter.com/SegmentRouting

facebook.com/SegmentRouting/
#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 43
Technical Session Surveys
• Attendees who fill out a minimum of four
session surveys and the overall event survey
will get Cisco Live branded socks!

• Attendees will also earn 100 points


in the Cisco Live Game for every
survey completed.

• These points help you get on the leaderboard


and increase your chances of winning daily
and grand prizes.

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 44
Conclusion
Q&A
Thank you

#CiscoLive
Pay for Learning with
Cisco Learning Credits
Cisco Learning and Certifications (CLCs) are prepaid training
vouchers redeemed directly with
From technology training and team development to Cisco certifications and learning Cisco.
plans, let us help you empower your business and career. www.cisco.com/go/certs

Learn Train Certify


Cisco U. Cisco Training Bootcamps Cisco Certifications and Specialist
IT learning hub that guides teams Intensive team & individual automation Certifications
and learners toward their goals and technology training programs Award-winning certification
program empowers students
Cisco Digital Learning Cisco Learning Partner Program and IT Professionals to advance
Subscription-based product, technology, and Authorized training partners supporting their technical careers
certification training Cisco technology and career certifications
Cisco Guided Study Groups
Cisco Modeling Labs Cisco Instructor-led and 180-day certification prep program with
learning and support
Network simulation platform for design, testing, Virtual Instructor-led training
and troubleshooting Accelerated curriculum of product, technology,
and certification courses Cisco Continuing
Cisco Learning Network Education Program
Resource community portal for certifications Recertification training options
and learning for Cisco certified individuals

Here at the event? Visit us at The Learning and Certifications lounge at the World of Solutions

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 48
• 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, and Walk-in
Continue Labs

your education • Visit the On-Demand Library


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

BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 49
Additional Flex-Algo Slides
SR IGP Flex-Algo
• Leverages the SR-TE benefits of simplicity, automation and scalable
•Automated sub-50msec FRR (TILFA), backup path honors Flex-Algo constraints
•On-Demand Policy (ODN) and Automated Steering (AS)
•Scale, no core state: state at the headend only
•Supports Inter-domain latency and disjointed path
•Use Prefix-SID label, no Adjacency label

• Example
•Operator1 defines Flex-Algo(128) as “minimize IGP metric and avoid link-affinity green”
•Operator2 defines Flex-Algo(128) as “minimize delay metric and avoid link-affinity blue”

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 51
UCMP – Unequal Cost Multi-Path

• UCMP = ECMP + Bandwidth, Per destination


•Same IGP metric but different BW

BW =200M, Metric = 100


BW =100M, Metric = 100
1 BW =20M, Metric = 100
2
BW =10M, Metric = 100

Unequal Cost Multi-path

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 52
UCMP – Unequal Cost Multi-Path
• UCMP = ECMP + Bandwidth, Per destination
• Apply ”ucmp local” under ISIS process

#show mpls forwarding-table labels 26042 detail | in Tu|load 


 
Destination Prefix-SID
Label      Label      or Tunnel Id     Switched      interface               
                                       0             Tu3002161  point2point  
    Per-destination load-sharing, slots: 0 
                                       0             Tu3002141  point2point  
    Per-destination load-sharing, slots: 1 
                                       0             Tu3002151  point2point  
    Per-destination load-sharing, slots: 2 
                                       0             Tu3002131  point2point  
    Per-destination load-sharing, slots: 3 6 
                                       0             Tu3002111  point2point  
    Per-destination load-sharing, slots: 4 7 9 11 13 15 
                                       0             Tu3002121  point2point  
    Per-destination load-sharing, slots: 5 8 10 12 14 

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 53
SRTE Path Computation without and with Flex-Algo

24001
24002 16128
16006 Payload to 6
10.1.1.6/32
10.1.1.6/32
Payload to 6 FA 0:16006
FA 128: 16128

2 4 2 4

24001 24002
6 Flex-algo
1 No Flex-algo 6
1 128
3 5 3 5

(a) Path Computation without Flex-algo (b) Path Computation with Flex-algo,
no adjacency label

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 54
Automated Steering – ODN Policy
•An on-demand SR policy is created dynamically for BGP or VPN
•On-Demand Next-hop (ODN) Policy
•Intent based dynamic path computation
•The ODN solution is solely related to dynamic instantiation of a candidate path

•An SR Policy is identified by three attributes, tuple:


•Head-end: where the policy is instantiated
•End-point: where the policy ends, the BGP next-hop address
•Color: a numerical value assigned to a BGP prefix, represents an intent for SRTE policy

SR ODN Policy 2 3 4
Head-end: 1
Color: Green 1
End-point: 4
5 6 7
#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 55
Binding SID (BSID)
• Binding SID is a local Segment ID or label bound to an SRTE Policy
• A BSID is associated with a single SRTE Policy
• By default, the head-end dynamically allocates the BSID, but the BSID can also be explicitly defined
• A BSID identifies a SRTE policy
•Packet received with BSID as Top Label is steered into the SRTE Policy associated with the BSID
•BSID label is popped, SRTE Flex-algo prefix-SID is pushed

16004
2 3 4

BSID: 74001 5 6 7
FA-SID:16004 FA-SID:16004

Packet to 4 Packet to 4

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 56
BSID – Binding SID
• BSID is a local label that is auto generated, so right prefix can take the right SR ODN Policy

#sh segment-routing traffic-eng policy end-point # sh bgp vpnv4 unicast vrf CUSTOMER1 11.103.1.1
ipv4 10.101.1.4
10.101.1.4 C:850 (bsid:76623) (metric 200040) from 10.100.0.1
SR-TE policy database (10.101.1.4)
---------------------
Color: 850, End-point: 10.101.1.4 SR policy color 850, up, registered, bsid 76623, if-handle 0x3c0080d4
Binding SID: 76623 Local, (received-only)

10.101.1.4 C:850 (bsid:76623) (metric 200040) from 10.100.0.1


(10.101.1.4

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 57
SR ODN Policy Color
• Each SR Policy has a color
•BGP color is used to provide certain treatment (SLA) to some applications by SR ODN policy
•Each SRTE ODN Policy has a unique triplet (H,C,E)
•A prefix with multiple colors will choose highest numerical value to steer traffic

8.8.8.0/24
SR ODN Policy
9.9.9.0/24
1,green,4 2 3 4
steer 8.8.8.0/24 via low delay path Low-delay
1
SR ODN Policy 5 6 7
1,red,4
steer 9.9.9.0/24 via Low-cost path Low-cost

The BGP color extended community is specified in RFC5512


#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 58
Automated Steering - Per-Destination Policy (PDP)

• Per-destination policy
•Steer traffic based on next-hop and color of a BGP service route
•Color is a BGP extended community attribute
•Color is used for transport SLA indicator, for instance min-delay or min-cost

IGP shortest-path
SR ODN Policy: 1/8 Intent: Best-effort
1/8: metric IGP, dest 4 1 3 4
2/8 Intent: Min-delay
2/8: metric delay, dest 4
Min-delay path
2

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 59
Automated Steering - Per-Flow Policy (PFP)
• Per-flow policy
•Steer traffic based on incoming packets classification (IPP, DSCP, ACL, EXP etc.)
•Then set local Forward-Class up to 8, range 0-7
•An ingress PBR policy applied to an input interface

IGP shortest-path
FC1: DSCP 46 Delay, dest 4
<16002, 16004>
1 3 4 3/8
FC2: ACL IGP, dest 4
<16004> Min-delay path
2

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 60
Automated Steering - Per-Flow Policy (PFP)
Traffic Classification: policy-map type pbr MyPFP interface GigabitEthernet0/0/0/0
class type traffic MinDelay description PE_Ingress_Interface
class-map type traffic match-any MinDelay set forward-class 1 service-policy type pbr input MyPFP
match dscp46 ! 
end-class-map class type traffic PremiumHosts
!  set forward-class 2
class-map type traffic match-any PremiumHosts ! 
match access-group ipv4 PrioHosts class type traffic class-default
end-class-map set forward-class 0

Per-Flow Policy: on-demand color 20 on-demand color 1000


dynamic per-flow
segment-routing sid-algorithm 129 forward-class 0 color 10
traffic-eng ! forward-class 1 color 20
on-demand color 30 forward-class 2 color 30
on-demand color 10 dynamic
dynamic sid-algorithm 130
sid-algorithm 128
!

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 61
Headend SRTE DB – IGP Config

• Enable the following command under ISIS/OSPF to feed the SRTE DB on the
head-end:

router ospf 1
router isis 1
distribute link-state
distribute link-state

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 62
PCE – Path Computation Element
PCEP PCE1

• PCC
IGP principle is to keep the node and link-
state info within its own IGP area BGP-LS
PE1 ABR1 PE10

• ABR redistribute node and link-state info


from ISIS to BGP-LS address-family ISIS101/Level 2 ISIS100/Level 2

• PE run path computation element protocol PE2 ABR2


(PCEP) with the PCE for inter-domain PE11
node and link-state info
                                   PCC: Path computation client
PCE: Path computation element
                                     PCEP: PCE protocol
                BGP-LS: BGP link-state

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 63
PCE – Path Computation Element
PCEP PCE1
IOS-XR:

PCC# PCC
segment-routing
traffic-eng BGP-LS
PE1 ABR1 PE10
pcc
source-address ipv4 x.x.x.x
pce address ipv4 x.x.x.y
ISIS101/Level 2 ISIS100/Level 2
precedence 100

ABR#
router isis 1 PE2 ABR2
PE11
distribute link-state instance-id 1 level X

PCE# PCC: Path computation client


pce PCE: Path computation element
address ipv4 x.x.x.z PCEP: PCE protocol
BGP-LS: BGP link-state

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 64
ODN Policy – Per-Destination (Inter-Domain)
IOS-XR:
PE1#show segment-routing traffic-eng policy color 100
SR-TE policy database Pref 200 is failed because for Inter-domain ODN
--------------------- policy, the local DB has no link info for other domain
Color: 100, End-point: 192.168.0.9 and then it moved to PCE with pref 100 and succeed.
Name: srte_c_100_ep_192.168.0.9
Status:
Admin: up Operational: up
Candidate-paths:
Preference: 200 (BGP ODN) (inactive)
Preference: 100 (BGP ODN) (active)
Requested BSID: dynamic For inter-domain it uses two prefix-SIDs, 1st SID for
Constraints:
head-end to ABR router and 2nd SID for ABR to tail-
Prefix-SID Algorithm: 128
Dynamic (pce 192.168.0.10) (valid)
end.
16888 [Prefix-SID, 192.168.0.11]
16928 [Prefix-SID, 192.168.0.9]
Attributes:
Binding SID: 24010

PE1# sh bgp vrf GREEN 8.8.8.1


BGP routing table entry for 8.8.8.0/24, Route Distinguisher: 1:1
Local
192.168.0.9 C:100 (bsid:24010) (metric 120) from 192.168.0.10
(192.168.0.9)

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 65
SRTE ODN Policy– Multi-Candidate Paths
IOS-XE:
segment-routing traffic-eng
!
SR
on-demand color 100 PCE
authorize
candidate-paths Algo 128
preference 200 SID: 16888
Algo 128, SID: 16928
constraints
segments PE2 ABR1 PE4 Algo 129, SID: 16929
dataplane mpls
algorithm 128 8.8.8.0/24  Color 100
! ISIS 1
PE1 ISIS 2 PE9
dynamic
pcep
Level-2 Level-2
!
preference 100
constraints
PE3 ABR2 PE5
segments
dataplane mpls Algo 129
algorithm 129 SID: 16999
!
dynamic
pcep
!
pcc • For network 8.8.8.0/24, Flex-algo 128 Green nodes are primary
pce address 192.168.0.10 source-address 192.168.0.1 • path and Flex-algo 129 Red nodes are backup path.

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 66
SRTE ODN Policy– Multi-Candidate Paths

IOS-XE: IOS-XE:
PE1#sh segment-routing traffic-eng policy all PE1#sh bgp vrf GREEN 8.8.8.1
BGP routing table entry for 1:1:8.8.8.0/24, version 64
Name: *192.168.0.9|100 (Color: 100 End-point: 192.168.0.9)) Paths: (1 available, best #1, table GREEN)
Candidate-paths: Not advertised to any peer
Preference 200 (BGP): Refresh Epoch 1
Constraints: Local
Algorithm: 128 192.168.0.9 (metric 120) (via default) from 192.168.0.10 (192.168.0.10)
Dynamic (pce 192.168.0.10) (active) Origin incomplete, metric 0, localpref 100, valid, internal, best
16011 [Prefix-SID, 192.168.0.11] Extended Community: RT:1:10 Color:100
16008 [Prefix-SID, 192.168.0.9] Originator: 192.168.0.9, Cluster list: 192.168.0.10
Preference 100 (BGP): mpls labels in/out nolabel/24000
Constraints: binding SID: 22 (color - 100) (state - UP)
Algorithm: 129 rx pathid: 0, tx pathid: 0x0
Dynamic (pce 192.168.0.10) (inactive) Updated on Apr 21 2022 01:49:24 UTC
16012 [Prefix-SID, 192.168.0.12]
16009 [Prefix-SID, 192.168.0.9]
Attributes:
Binding SID: 22
Allocation mode: dynamic
State: Programmed
IPv6 caps enabled

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 67
Default
• Every 3 second, a query
•a two-way query is sent

• Every 30 seconds, a probe


•min, avg, max, var are computed over the last 10 queries
•Last-Probe EDT trigger with (min, avg, max, var)

• Every 120 seconds, an aggregation


•min, avg, max, var over the last 4 probes are computed
•Last-Aggregation Even Driven Telemetry trigger with (min, avg, max, var)
•IF [abs(min-F.min)/F.min >= 10%] and [abs(min-F.min)>=1000usec]
THEN an LSDB change is triggered to flood the new link delay values
a last-advertisement EDT is triggered with these values

F.min is the last flooded value of min-delay. This is what the rest of the network thinks of this link min delay.

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 68
Minimum delay is of interest for SRTE

• Minimum delay provides the propagation delay


•fiber length / speed of light

• A property of the topology


•with awareness of DWDM circuit change

• SRTE (Policy or Flex-Algo) can optimize on min delay

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 69
Average, Max and Variance are dealt with by QoS
• Depends on congestion
• (traffic burst over line rate) / line rate
• Highly variable at any time scale

• Not controlled by routing optimization

• Controller by QoS
• Priority queue, WRR, WFQ…
• Tail-Drop, RED…

#CiscoLive BRKMPL-2129 © 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public 70
#CiscoLive

You might also like