Professional Documents
Culture Documents
4K Others
Increasingly diverse
applications
IPv6
NETWORK FABRIC
Networks need to be rethought
Applications and Network interaction is key
IP APPLICATIONS
Core
Edge
IPv6
IP NGN Era
One device, single domain Many devices, single domain Many devices, across domains
Limitations
Limited to a single network Impediment to service
domain creation
Scalability
Configuration & Major scalability issues
troubleshooting complexity
States to be maintained in Operational challenges
Shortest path with QoS Traffic-engineered tunneling each network node
IP Networks Evolution
The solution
Application Engineered Routing
3
SDN
Controller
2 Segment
The network only maintains segments
SDN controllers are capable of Routing
No application state
collecting data from the network – (SW upgrade)
London
Toronto
Seattle Berlin
IP/LDP
New-York Madrid
Mexico
TLX
A luggage tag is
TLX
attached with the
final destination Luggage identified
and routed to next
destination
draft-ietf-spring
Application Engineered Routing – Phase 1
Evolve MPLS with Segment Routing
Path can be controlled
Complexity and scalability
Mission – Route the
issues
luggage to Berlin via
Mexico and Madrid
London
Toronto
Seattle Berlin
Mexico
20000
20000
20000
A specific luggage tag, Tunnel ID 20000,
At each stop, the luggage is is created to identify the path Seattle-
identified and routed to next Mexico-Madrid-Berlin
hop
A list of all the paths has to be
maintained
Application Engineered Routing – Phase 1
Evolve MPLS with Segment Routing
London
Toronto
Seattle Berlin
Segment
Routing New-York Madrid
MEX Mexico
MAD
MEX
TXL
MAD
MEX
TXL
A unique and global luggage
MAD
tag is attached to the luggage
with the list of stops to the final TXL
destination
At each stop, the luggage is
simply routed to the next hop
listed on the luggage tag
Application Engineered Routing Phase 1
Segment Routing – Technical view
Data Plane
Path expressed in the packet Data
MPLS IPv6
Dynamic path (segment labels) (+SR header)
Control Plane
Explicit path
Paths options
Dynamic Explicit
(STP computation) (expressed in the packet)
Segment Routing
Overview
Segment Routing
• Source Routing
• the source chooses a path and encodes it in the packet header as an
ordered list of segments
• the rest of the network executes the encoded instructions without any further
per-flow state
• Segment: an identifier for any type of instruction
• forwarding or service
IGP Prefix Segment
3 6 5
11
14
DC (BGP-SR) WAN (IGP-SR) PEER
IGP Adjacency Segment
3 6 5
11
14
DC (BGP-SR) WAN (IGP-SR) PEER
BGP Prefix Segment
3 6 5
11
14
DC (BGP-SR) WAN (IGP-SR) PEER
BGP Peering Segment
to the controller 11
14
DC (BGP-SR) WAN (IGP-SR) PEER
WAN Controller
BGP-LS
• WAE collects via BGP-LS BGP-LS
• IGP segments
BGP-LS
• BGP segments
• Topology 12
10
2 4 Low Lat, Low BW
1
7
13
3 6 5
11
14
DC (BGP-SR) WAN (IGP-SR) PEER
An end-to-end path as a list of segments
PCEP, Netconf,
BGP
• WAE computes that
the green path can be
encoded as
• 16001 12
{16001,
16002, 10
• 16002
124, 2 50
4 Low Lat, Low BW
• 124 147}
1
• 147 7
13
• WAE programs a
single per-flow state 3 6 5
to create an
11
application-
engineered end-to- 14
Default ISIS cost metric: 10
end policy DC (BGP-SR) WAN (IGP-SR) PEER
Segment Routing Standardization
Sample IETF Documents
Segment Routing Architecture
• IETF standardization in SPRING (draft-ietf-spring-segment-routing)
working group Problem Statement and Requirements
(draft-ietf-spring-problem-statement)
• Protocol extensions progressing in IPv6 SPRING Use Cases
(draft-ietf-spring-ipv6-use-cases)
multiple groups
Segment Routing Use Cases
• IS-IS (draft-filsfils-spring-segment-routing-use-cases)
• OSPFv2 (shipping)
• Node SID advertisement
• Traffic protection (LFA)
• Upcoming
• SR Traffic Engineering (manual provisioning and PCEP)
• OAM (Ping/Trace)
• IOS XE Support (ASR1000, ASR902, ASR903, ISR4400)
Use Cases
IPv4/6 VPN/Service transport 16007
vpn
pkt
• IGP only
2 3 vpn
• No LDP, no RSVP-TE
pkt
• ECMP
1 4 7
pkt
pkt
6 5
Site1 Site2
16007
vpn
pkt
Seamless interworking with LDP
16007
vpn
• Seamless deployment
pkt LDP(7)
vpn
2 3 vpn
pkt
pkt
1 4 7
pkt
pkt
6 5
Site1 Site2
16007
vpn
pkt
Topology-Independent LFA (TI-LFA FRR)
• capacity planning 3
• IP/Optical optimization
2
• Most operators do not have an
accurate traffic matrix
• With SR, the traffic matrix 1 3
collection is automated
4
Optimized Content Delivery
7
AS7
• On a per-content, per-user basis,
the content delivery application
can engineer 16003 5 6
• the path within the AS 16002 AS5 AS6
• the selected border router 126
• the selected peer pkt
1 2
• Also applicable for engineering
egress traffic from DC to peer
• BGP Prefix and Peering Segments
4 3
AS1
Application Engineered Routing
Low-Latency to 7
for application A12
PeerSID: 147, Low Lat, Low BW
• End-to-End
12
• DC, WAN, AGG, PEER
10 ISIS: 35
Push
{16001,
2 4 Low Lat, Low BW
11
Default ISIS cost metric: 10
14 Default Latency metric: 10
DC (or AGG) WAN PEER
Application Engineered Routing
Low-Latency to 7,
DC Plane 0 only,
for application A12 PeerSID: 147, Low Lat, Low BW
• End-to-End
12
• DC, WAN, AGG, PEER
10 ISIS: 35
Push
{16010,
2 4 Low Lat, Low BW
11
Default ISIS cost metric: 10
14 Default Latency metric: 10
DC (or AGG) WAN PEER
A Closer Look to Control
and Data Plane
MPLS Control and Forwarding Operation with Segment
Routing
Services
BGP / LDP
No changes to
IPv4 IPv6
IPv4 IPv6 VPWS VPLS control or
PE1 PE2 VPN VPN
forwarding plane
Packet
Transport LDP RSVP BGP Static IS-IS OSPF IGP label
distribution for IPv4
PE1 IGP PE2
and IPv6, same
MPLS Forwarding
forwarding plane
SID Encoding
• Prefix SID
• SID encoded as an index SR-enabled Node
• Index represents an offset from SRGB base
• Index globally unique
• SRGB may vary across LSRs
• SRGB (base and range) advertised with
router capabilities SRGB = [ 16000 - 23999 ]. Advertised as base = 16,000, range = 7,999
Prefix SID = 16041. Advertised as Prefix SID Index = 41
• Adjacency SID Adjacency SID = 24000. Advertised as Adjacency SID = 24000
• Required
• Wide metrics
• SR enabled under unicast address family
• Optional
• Prefix-SID configured under loopback(s) AF IPv4
• MPLS forwarding enabled automatically on all (non-passive) IS-IS
interfaces
• Adjacency-SIDs are automatically allocated for each adjacency
SR OSPF Control Plane Overview
• Optional
• Prefix-SID configured under loopback(s)
• MPLS forwarding enabled on all OSPF interfaces with
segment-routing forwarding configured
MPLS Data Plane Operation
Prefix SID Adjacency SID
Adjacency
SID = X
Swap Pop
X
X Y Y Y
• Packet forwarded along IGP shortest path (ECMP) Packet forwarded along IGP adjacency
• Swap operation performed on input label Pop operation performed on input label
• Same top label if same/similar SRGB
Top labels will likely differ
• PHP if signaled by egress LSR
Penultimate hop always pops last adjacency SID
MPLS Data Plane Operation (Prefix SID)
SRGB [16,000 – 23,999 ] SRGB [16,000 – 23,999 ] SRGB [26,000 – 23,999 ] SRGB [16,000 – 23,999 ]
A B C D Loopback X.X.X.X
Prefix SID Index = 41
16041 26041
VPN Label VPN Label VPN Label
OSPF)
PE PE
P
• Incremental deployment
• also protects LDP traffic
Topology Independent LFA – Implementation
• Calculate LFA(s) R1 R2
convergence SPT R4 R3
Q-space
• R1 will push the prefix-SID of R4
Default metric:10
on the backup path
TI-LFA – Double-Segment Example
A Z
• TI-LFA for link R1R2 on R1
Packet to Z Packet to Z
R4 R3
Stateful Stateful
PCC PCC
• PCE part of controller architecture managing PCC may initiate path setup based on
full path life cycle distributed network state
• Tighter integration with application demands Can be used in conjunction with PCE-
initiated paths
PCE Extensions for Segment Routing (SR)
Stateful PCE
• Segment routing enables source routing Application LSP DB
Path
based on segment ids distributed by IGP Request
TED
• PCE specifies path as list of segment ids
PCEP
• PCC forwards traffic by pushing segment id Segment List:: 10,20,30,40
list on packets
• No path signaling required Stateful
PCC
• Minimal forwarding state
• Maximum network forwarding virtualization
• The state is no longer in the network but in In Out Int
the packet L1 L1 Intf1 Forwarding
Node
… … … table remains
• Paths may be PCE- or PCC-initiated SID
L7 L7 Int3 constant
L8 Pop Intf3
Adjacency
… … …
SID
L9 Pop Intf5
Conclusion
Application Engineered Routing
Solution components
Network Bandwidth Low-latency Disjoint
3rd-party applications
Applications calendaring path selection recovery path
Northbound
RESTful APIs
interfaces
3rd-party
ESP WAE NSO VTS
controller
Southbound Netconf/Yan
BGP LS PCEP Configlets
interfaces g
ASR 9K ASR 1K
NEXUS 3rd-party platforms
VNF
EPN 9000 supporting SR
NCS 6K … … …
Physical Virtual
Application Engineered Routing journey
Adding value at your own pace
Phase 1 - Evolve Phase 2 - Exceed Phase 3 - Expand
Enable Segment Routing on EPN Enable Segment Routing on EPN Enable Segment Routing on EPN
platforms (SW only) platforms (SW only) platforms (SW only)
!
segment-routing Local prefix-to-SID mapping policy
address-family ipv4
prefix-sid-map
172.16.255.1/32 – 4041
172.16.255.1/32 4041 range 8 :
! 172.16.255.8/32 - 4048
!
!
Configuring a Mapping Client for SR and LDP
Interworking for IPv4 Using IS-IS (Cisco IOS XR)
router isis DEFAULT
net 49.0001.1720.1625.5001.00
address-family ipv4 unicast
metric-style wide
segment-routing mpls
segment-routing prefix-sid-map receive Construct active mapping policy using
!
remotely learned and locally configured
interface Loopback0
passive mappings (mapping client)
address-family ipv4 unicast
prefix-sid absolute 16041
!
!
interface GigabitEthernet0/0/0/0
point-to-point
address-family ipv4 unicast
!
!
!