SlideShare a Scribd company logo
#CLUS
#CLUS
Jakub Horn
Technial Marketing Engineer
BRKSPG-3001
Subtitle goes here
Introduction to SRv6
Technology
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Agenda
• Introduction
• SRv6 Header Format and Forwarding
• SID Structure and Network Programming
• L3 VPN
• TI-LFA
• Other Applications
• Conclusion
BRKSPG-3001 3
Questions?
Use Cisco Webex Teams to chat
with the speaker after the session
Find this session in the Cisco Live Mobile App
Click “Join the Discussion”
Install Webex Teams or go directly to the team space
Enter messages/questions in the team space
How
Webex Teams will be moderated
by the speaker until June 16, 2019.
1
2
3
4
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Cisco Webex Teams
cs.co/ciscolivebot#
4
BRKSPG-3001
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Aggregation
Problem statement: Today’s service creation
Metro/Access Network Domain Core Network Domain Data Center Domain
Limited Cross-domain Automation, Cumbersome Service Assurance
End-to-end service provisioning is lengthy and complex
• Routing protocols are blind to applications (Shortest-path for any traffic)
• Multiple network domains under different management teams
• Manual operations
• Heterogeneous underlay and overlay networks
IP
MPLS (LDP, RSVP-TE)
L2VPN
Ethernet
L3VPN VXLAN
Complex E2E Quality of Service (QoS)
BRKSPG-3001 5
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Aggregation
Segment Routing Unified Fabric Vision
SDN
Metro/Access Network Domain
SDN
Core Network Domain
SDN
Data Center Domain
Segment Routing
BGP VPN L2/L3
Homogenous Cross-domain Automation & Assurance
SDN
Control
End-to-end service provisioning is simple and scalable
• Multiple network domains under same management teams
• Automated operations
• Homogenous underlay and overlay networks
BRKSPG-3001 6
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
SDN
Metro Network Domain
SDN
Core Network Domain
SDN
Data Center Domain
Aggregation
Homogenous Cross-domain Automation & Assurance
End-to-end service provisioning is simple
• Multiple network domains under same management teams
• Automated operations
• Homogenous underlay and overlay networks
Centralized Services Delivery
Segment Routing
VPN L2/L3
SR-MPLS: SDN ready
“Network as a Fabric” for Service Creation
Cloud Scale Networking
Central Office
Access
Compute Leaf Spine
VNF VNF
VNF
VNF
SDN
Control
BRKSPG-3001 7
SRv6 Header
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
IPv6 SR Header
• IPv6 header
• Next header field: Indicates what comes next
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Source Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Destination Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
BRKSPG-3001 9
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Source Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Destination Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv6 SR Header
• IPv6 header
• Next header field: 17 → UDP
17
BRKSPG-3001 10
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Source Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Destination Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv6 SR Header
• IPv6 header
• Next header field: 4 → IPv4
4
BRKSPG-3001 11
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Source Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Destination Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv6 SR Header
• IPv6 header
• Next header field: 6 → TCP
6
BRKSPG-3001 12
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Source Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Destination Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. type-specific data .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv6 SR Header
• IPv6 header
• Next header field: 43 → Routing
• IPv6 Routing extension header
• Generic header format defined in RFC 2460
• Next Header: IPv4, TCP, UDP, …
• Hdr Ext Len: Any IPv6 device can skip this header
• Segments Left: Ignore extension header if equal to 0
• Specific data depends on Routing Type field:
• 0 Source Route (deprecated since 2007)
• 1 Nimrod (deprecated since 2009)
• 2 Mobility (RFC 6275)
• 3 RPL Source Route (RFC 6554)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Hdr Ext Len | Routing Type | Segments Left |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
43
BRKSPG-3001 13
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Source Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Destination Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| First Segment | Flags | Tag |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Segment List[0] (128 bits IPv6 address) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. ... .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Segment List[n-1] (128 bits IPv6 address) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// //
// Optional Type Length Value objects (variable) //
// //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv6 SR Header
• IPv6 header
• Next header field: 43 → Routing
• IPv6 Routing extension header
• Generic header format defined in RFC 2460
• Next Header: IPv4, TCP, UDP, …
• Hdr Ext Len: Any IPv6 device can skip this header
• Segments Left: Ignore extension header if equal to 0
• Specific data depends on Routing Type field:
• 0 Source Route (deprecated since 2007)
• 1 Nimrod (deprecated since 2009)
• 2 Mobility (RFC 6275)
• 3 RPL Source Route (RFC 6554)
• 4 Segment Routing (tentative)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Hdr Ext Len | Routing Type | Segments Left |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4
43
RFC
2460
SR
specific
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Source Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Destination Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| First Segment | Flags | Tag |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Segment List[0] (128 bits IPv6 address) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. ... .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Segment List[n-1] (128 bits IPv6 address) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// //
// Optional Type Length Value objects (variable) //
// //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv6 SR Header
• Each segment is an IPv6 address
• Segments are encoded in reverse
order
• Last segment index is 0
• First segment index is First Segment
• Active segment index is Segments Left
• Active Segment is copied in the
Destination Address field of the IP
header
• Additional data can be stored in TLVs
• Security (HMAC), NFV metadata, …
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Hdr Ext Len | Routing Type | Segments Left |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4
43
First Segment
@Segment List [First Segment]
Last Segment / Final Destination
@Segment List [0]
Active Segment
Active Segment
@Segment List [Segments Left]
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
SR Header Processing
BRKSPG-3001 16
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Source Node
• Source node is SR-capable
• SR Header (SRH) is created with
• Segment list in reversed order of the path
• Segment List [ 0 ] is the LAST segment
• Segment List [ 𝑛 − 1 ] is the FIRST segment
• Segments Left is set to 𝑛 − 1
• First Segment is set to 𝑛 − 1
• IP DA is set to the first segment
• Packet is send according to the IP DA
• Normal IPv6 forwarding
Version Traffic Class
Next = 43 Hop Limit
Payload Length
Source Address = A::
Destination Address = B::
Segment List [ 0 ] = D::
Segment List [ 1 ] = C::
Next Header Len= 6 Type = 4 SL = 2
First = 2 Flags RESERVED
IPv6
Hdr
Segment List [ 2 ] = B::
SR
Hdr
Payload
Flow Label
Flow Label
D
D::
A
A::
SR Hdr
IPv6 Hdr SA = A::, DA = B::
( D::, C::, B:: ) SL=2
Payload
B
B::
C
C::
BRKSPG-3001 17
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Non-SR Transit Node
• Plain IPv6 forwarding
• Solely based on IPv6 DA
• No SRH inspection or update
D
D::
A
A::
SR Hdr
IPv6 Hdr SA = A::, DA = B::
( D::, C::, B:: ) SL=2
Payload
B
B::
C
C::
BRKSPG-3001 18
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
SR Segment Endpoints
• SR Endpoints: SR-capable nodes
whose address is in the IP DA
• SR Endpoints inspect the SRH and do:
• IF Segments Left > 0, THEN
• Decrement Segments Left ( -1 )
• Update DA with Segment List [ Segments Left ]
• Forward according to the new IP DA
Version Traffic Class
Next = 43 Hop Limit
Payload Length
Source Address = A::
Destination Address = C::
Segment List [ 0 ] = D::
Segment List [ 1 ] = C::
Next Header Len= 6 Type = 4 SL = 1
First = 2 Flags RESERVED
IPv6
Hdr
Segment List [ 2 ] = B::
SR
Hdr
Payload
Flow Label
Flow Label
D
D::
A
A::
B
B::
C
C::
SR Hdr
IPv6 Hdr SA = A::, DA = C::
( D::, C::, B:: ) SL=1
Payload
BRKSPG-3001 19
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
SR Segment Endpoints
• SR Endpoints: SR-capable nodes
whose address is in the IP DA
• SR Endpoints inspect the SRH and do:
• IF Segments Left > 0, THEN
• Decrement Segments Left ( -1 )
• Update DA with Segment List [ Segments Left ]
• Forward according to the new IP DA
• ELSE (Segments Left = 0)
• Remove the IP and SR header
• Process the payload:
• Inner IP: Lookup DA and forward
• TCP / UDP: Send to socket
• …
Version Traffic Class
Next = 43 Hop Limit
Payload Length
Source Address = A::
Destination Address = D::
Segment List [ 0 ] = D::
Segment List [ 1 ] = C::
Next Header Len= 6 Type = 4 SL = 0
First = 2 Flags RESERVED
IPv6
Hdr
Segment List [ 2 ] = B::
SR
Hdr
Payload
Flow Label
Flow Label
D
D::
A
A::
B
B::
C
C::
SR Hdr
IPv6 Hdr SA = A::, DA = D::
( D::, C::, B:: ) SL=0
Payload
Standard IPv6
processing
The final destination
does not have to be
SR-capable.
BRKSPG-3001 20
Network
Programming
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Segment format
• SRv6 SIDs are 128-bit addresses
• Locator: most significant bits are used to route the segment to its parent node
• Function: least significant bits identify the action to be performed on the parent node
• Argument [optional]: Last bits can be used as a local function argument
• Flexible bit-length allocation
• Segment format is local knowledge on the parent node
• SIDs have to be specifically enabled as such on their parent node
• A local address is not by default a local SID
• A local SID does not have to be associated with an interface
1111 : 2222 : 3333 : 4444 : 5555 : 6666 : 7777 : 8888
Locator Function
BRKSPG-3001 22
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
END – Default endpoint
• Default endpoint behavior (node segment)
• Decrement Segments Left, update DA
• Forward according to new DA
• Node B advertises prefix B::/64 (B::/64 is the SID locator)
• Packets are forwarded to B along the default routes (shortest path)
• On B, the default endpoint behavior is associated with ID 0 (0 is the function)
• The SID corresponding to the default endpoint behavior on node B is B::0
SR Hdr
IPv6 Hdr SA = A::, DA = B::0
(…,C::,B::0,…) SL=k
Payload
B
B:: /64
SR Hdr
IPv6 Hdr SA = A::, DA = C::
(…,C::,B::0,…) SL=k-1
Payload
C
BRKSPG-3001 23
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
END.X – Endpoint then Xconnect
• Endpoint xconnect behavior (adjacency segment)
• Decrement Segments Left, update DA
• Forward on the interface associated with the Xconnect segment
• Node C advertises prefix C::/64
• Packets are forwarded to C along the default routes (shortest path)
• On C, the endpoint xconnect behavior for link (C, E) is associated with ID CE
• The SID corresponding to endpoint xconnect-(C,E) behavior on node C is C::CE
SR Hdr
IPv6 Hdr SA = A::, DA = C::C1
(…,D::, C::C1,…) SL=k
Payload
SR Hdr
IPv6 Hdr SA = A::, DA = D::
(…,D::,C::C1,…)SL=k-1
Payload
C
C:: /64
D
1
2
BRKSPG-3001 24
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
END.DX4 – Endpoint with Decapsulation and
Xconnect (END.DX6, END.DX2)
• Endpoint xconnect behavior (adjacency segment)
• Segments Left must be 0
• NH must be IPv4 (or IPv6 or L2)
• Decapsulate inner packet
• Forward on the interface associated with the Xconnect
• Node D advertises prefix C::/64
• Packets are forwarded to D along the default routes (shortest path)
• On C, the endpoint xconnect behavior for link (D, E) is associated with ID DE
• It is like L3 VPN with per CE label allocation
SR Hdr
IPv6 Hdr SA = A::, DA = D::D1
(…, D::C1) SL=0
IPv4 packet
IPv4 packet
D
D:: /64
1
2
BRKSPG-3001 25
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
END.DT4 – Endpoint with Decapsulation and
Table lookup(END.DT6)
• Endpoint xconnect behavior (adjacency segment)
• Segments Left must be 0
• NH must be IPv4 (or IPv6)
• Decapsulate inner packet
• Do the lookup for IPv4 destination of inner packet and forward accordingly
• Node D advertises prefix D::/64
• Packets are forwarded to D along the default routes (shortest path)
• On C, the endpoint behavior for link (D, E) is associated with ID CE
• It is like L3 VPN with per VRF label allocation
SR Hdr
IPv6 Hdr SA = A::, DA = D::1
(…, D::1) SL=0
IPv4 packet
IPv4 packet
D
D:: /64
1
2
BRKSPG-3001 26
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Transit behavior T.ENCAP and T.INSERT
IPv6 Hdr SA = A::, DA = D::
Payload X
IPv6 Hdr SA = E::, DA = F::
SR Hdr (B::, C::,F::) SL=2
IPv6 Hdr SA = A::, DA = D::
Payload X IPv6 Hdr SA = A::, DA = D::
Payload
IPv6 Hdr SA = A::, DA = C::
Payload
SR Hdr (D::, B::,C::) SL=2
BRKSPG-3001 27
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
IPv6 Hdr SA = D::, DA = S1
SR Hdr (…, E::, D::10,… ) SL=k-1
Payload
IPv6 Hdr SA = A::, DA = E::
SR Hdr (S3, S2, S1) SL=2
END.B6.ENCAPS – IPv6 Binding Segment
(encap)
• IPv6 binding segment
• Decrement Segments Left, update DA
• Push outer IP and SR headers associated with the binding segment
• Forward according to outer header DA (first segment of the new SRH)
• Node D advertises prefix D::/64
• The SR encaps policy (SA = D::, SL = 〈 S1, S2, S3 〉) is associated with ID 10
• The corresponding binding SID is D::10
SR Hdr
IPv6 Hdr SA = A::, DA = D::10
(…,E::,D::10,…) SL=k
Payload
D
D:: /64
BRKSPG-3001 28
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
IPv6 Hdr SA = A::, DA = S1
SR Hdr (…,E::, D::20,…) SL=k
Payload
SR Hdr ( S3, S2, S1 ) SL=2
END.B6 – IPv6 Binding Segment (insert)
• IPv6 binding segment
• Do not decrement Segments Left
• Push outer SR header associated with the binding segment
• Update DA with the first segment of the outer SR header
• Forward according to outer header DA (first segment of the new SRH)
• Node D advertises prefix D::/64
• On D, the SR insert policy 〈 S1, S2, S3 〉 is associated with ID 20
• The corresponding binding SID is D::20
SR Hdr
IPv6 Hdr SA = A::, DA = D::20
(…,E::, D::20,…) SL=k
Payload
D
D:: /64
BRKSPG-3001 29
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
MPLS { L1, L2, L3 }
SR Hdr (…,E::, D::20,…) SL=k-1
Payload
IPv6 Hdr SA = A::, DA = E::
END.BM – MPLS Binding Segment
• MPLS binding segment
• Decrement Segments Left
• Push outer MPLS label stack associated with the binding segment
• Forward according to the top MPLS label
• Node D advertises prefix D::/64
• On D, the MPLS SR policy { L1, L2, L3 } is associated with ID 30
• The corresponding binding SID is D::30
SR Hdr
IPv6 Hdr SA = A::, DA = D::30
(…,E::, D::30,…) SL=k
Payload
D
D:: /64
BRKSPG-3001 30
Overlay Services
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Functions might be signaled differently
Signalling IGP BGP-
LS
BGP-
IP/VPN
End Yes Yes
End.X Yes Yes
End.T Yes Yes
End.DX4 Yes Yes
End.DX6 Yes Yes Yes
End.DX2 Yes Yes
END.DT4 Yes Yes
End.DT6 Yes Yes Yes
End.B Yes
Signalling IGP BGP-
LS
BGP-
IP/VPN
T.insert Yes
T.Encap Yes
Locator – routing table
BRKSPG-3001 32
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
ISIS easily extensible
• Uses TLVs
• For Srv6:
• Locator – for Reachability (twice for
backward compatibility)
• END function - TI-LFA and TE
• END.X function for each interface in
routing protocol TI-LFA and TE
• Capabilities:
• Max SID depth for different functionn
• OSPF will follow
Ten0/0/0/0
Lo0
A::1/128
2001::12/64
Locator : B::/64
END: B::1
END.X: B::41
Ten0/0/0/1
END.X: B::42
fe80::dead/64
Router 1
BRKSPG-3001 33
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
ISIS example
r12.00-00 * 0x00000978 0x5eea 611 /* 0/0/0
Area Address: 49
NLPID: 0x8e
Hostname: r12
IPv6 Address: 2001::2
Metric: 10 MT (IPv6 Unicast) IPv6 2001::2/128
Prefix Attribute Flags: X:0 R:0 N:1
Metric: 1 MT (IPv6 Unicast) IPv6 2001:0:0:2::/64
Prefix Attribute Flags: X:0 R:0 N:0
Metric: 10 MT (IPv6 Unicast) IPv6 2001:0:0:12::/64
Prefix Attribute Flags: X:0 R:0 N:0
Metric: 10 MT (IPv6 Unicast) IPv6 2001:0:0:23::/64
Prefix Attribute Flags: X:0 R:0 N:0
Router Cap: 0.0.0.0 D:0 S:0
IPv6 Router ID: 2001::2
SRv6: O:0
Node Maximum SID Depth:
SRH Max SL: 5
SRH Max End Pop: 6
SRH Max T.insert: 5
SRH Max T.encaps: 5
SRH Max End D: 6
SRv6 Locator: MT (IPv6 Unicast) 2001:0:0:2::/64 D:0 Metric: 0 Algorithm: 0
END SID: 2001:0:0:2:1:: End (PSP)
MT: IPv6 Unicast 0/0/0
Metric: 10 MT (IPv6 Unicast) IS-Extended r11.00
Interface IPv6 Address: 2001:0:0:12::2
Neighbor IPv6 Address: 2001:0:0:12::1
END.X SID: 2001:0:0:2:40:: B:0 S:0 P:0 End.X (PSP)
Metric: 10 MT (IPv6 Unicast) IS-Extended r13.00
Interface IPv6 Address: 2001:0:0:23::2
Neighbor IPv6 Address: 2001:0:0:23::3
END.X SID: 2001:0:0:2:41:: B:0 S:0 P:0 End.X (PSP)
Locator
Capabilities
END
END.X
BRKSPG-3001 34
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Basic SRv6 VPN –Control Plane
• BGP needs to allocate function for each local prefix
• Two possibilities
• Per VRF allocation –one END.DT function allocated
• Per CE allocation – END.DX function is allocated for each BGP peer in
VRF
• END.DT is allocated by default and advertised with local prefixes, and
static routes
BRKSPG-3001 35
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
VPNv4 Basic Control Plane
4
SRv6
CE CE
eBGP
eBGP
IPv4 :1.1.1.0/24
VPNv4 address family
IPv4 :1.1.1.0/24 – END.DX A:3::45
IPv4 :1.1.1.0/24
END.DX4
A:3::45
iBGP
Locator A:3::/64
Locator A:1::/64
BRKSPG-3001 36
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
VPNv4 Basic Data Plane
4
SRv6
CE CE
eBGP
eBGP
IPv4 :1.1.1.0/24
VPNv4 address family
IPv4 :1.1.1.0/24 – END.DX A:3::45
IPv4 :1.1.1.0/24
END.DX4
A:3::45
iBGP
Locator A:3::/64
Locator A:1::/64
SA:2.2.2.2
DA:1.1.1.1
NH:UDP
UDP Header/Data
SA:A:1::1
DA:A:3::45
NH:IPv4
SA:2.2.2.2
DA:1.1.1.1
NH:UDP
UDP Header/Data
SA:2.2.2.2
DA:1.1.1.1
NH:UDP
UDP Header/Data
BRKSPG-3001 37
TI-LFA
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
TI-LFA
• Topology Independent Loop Free Alternate
• Fast Convergence
• To be fast it has to be LOCAL
• No signalling
• No reprograming FIB
• <50ms is considered fast convergence
BRKSPG-3001 39
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
NO TI-LFA -Before Failure
4
SRv6
CE CE
Destination is END.DX4 – A:3::45
Whole network knows how to reach A:3::/64
Metric 100
BRKSPG-3001 40
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
NO-TI-LFA
4
SRv6
CE CE
Failure –Fiber CUT between R2-R3 time T0
Failure Detection T1 (LOS or BFD) (1-100ms)
Propagation of Failure to IGP T2 (2ms-20ms)
IGP Creates new LSP
IGP sends new LSP to R1- T3 (~4ms)
IGP Runs SPF and creates new RIB-FIB entry (1-3000 ms)
HW programming on R2 (1-3ms)
Discarding
Metric 100
BRKSPG-3001 41
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
NO-TI-LFA R2 Convergence
4
SRv6
CE CE
R1 Received new LSP -T4 (5us/km)
R1 IGP Takes LSP and propagates it to R5 -T5 (~1-20ms)
R1 IGP Runs SPF and creates new RIB-FIB entry
HW programming on R1
uLoop
Metric 100
BRKSPG-3001 42
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
NO-TI-LFA R2 Convergence
4
SRv6
CE CE
R5 Received new LSP –T6 (5us/km)
R5 IGP Takes LSP and propagates it to R5 (~1-20ms)
R5 IGP Runs SPF and creates new RIB-FIB entry
HW programming on R5 T7
uLoop
Metric 100
BRKSPG-3001 43
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
NO-TI-LFA R5 Convergence
4
SRv6
CE CE
A:3::/64
R5 Received new LSP T6 (5us/km)
R5 Takes LSP and propagates it to R4
R5 IGP Runs SPF and creates new RIB-FIB entry (1-3000ms)
HW programming on R5 T7 (1-5ms)
Metric 100
BRKSPG-3001 44
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
ISIS enable SRv6
4
IPv6 only
LocatorA:2::/64
END A:2::1
END.X A:2::21
END.X A:2::23
LocatorA:1::/64
END A:1::1
END.X A:1::12
END.X A:1::15
LocatorA:3::/64
END A:3::1
END.X A:3::32
END.X A:3::34
LocatorA:4::/64
END A:4::1
END.X A:4::43
END.X A:4::45
LocatorA:5::/64
END A:5::1
END.X A:5::51
END.X A:5::54
BRKSPG-3001 45
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
TI-LFA before Failure - Calculating Backup Path
4
SRv6
CE CE
Router 2
Link to Router 3
Prefix A:3::/64
P -Space
All Routers R1 can reach
without crossing the link 2-3
Q -Space
All Routers that can reach destination
without crossing the link 2-3
Metric 100
BRKSPG-3001 46
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
Failure
4
CE CE
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:3::45
NH:IPv6
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:5::54
NH:RH
Type:4(SRH)
NH:IPv4|SL:1
Segment List:
[0]: A:3::45
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:3::45
NH:IPv4
Failure –Fiber CUT between R2-R3 time T0
Failure Detection T1 (LOS or BFD) (1-100ms)
Single HW Interrupt to switch to preprogrammed backups (1-15ms)
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
Converged
4
CE CE
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:3::45
NH:IPv4
BRKSPG-3001 48
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
What About Microloop
4
CE CE
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:3::45
NH:IPv6
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:5:41::
NH:IPv4
IGP Creates new LSP
IGP sends new LSP to R1- T3
IGP Runs SPF and creates new RIB-FIB entry
HW programming on R2 (1-3ms)
BRKSPG-3001 49
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
Microloop Avoidance- Local
4
CE CE
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:3::45
NH:IPv6
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:5::54
NH:RH
Type:4(SRH)
NH:IPv4|SL:1
Segment List:
[0]: A:3::45
IGP Creates new LSP
IGP sends new LSP to R1- T3
IGP Runs SPF and creates new RIB-FIB entry
WAIT WAIT WAIT give some time to R1 to do his job
HW programming on R2
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
R1 Converged
4
CE CE
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:3::45
NH:IPv4
But R5 still have old information……
Maybe still doing SPF….
BRKSPG-3001 51
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
R1 Converged
4
CE CE
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:5::54
NH:RH
R1 does not install postconvergence FIB entry immediately
He gives some more time to R5
Type:4(SRH)
NH:IPv4|SL:1
Segment List:
[0]: A:3::45
BRKSPG-3001 52
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
5
2
3
Converged
4
CE CE
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:6.6.6.6
DA:7.7.7.7
NH:UDP
UDP Header/Data
SA:A::1
DA:A:3::45
NH:IPv6
BRKSPG-3001 53
Flexible Algorithm
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Flexible Algorithm
• 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, delay, …
• The exclusion of certain link properties: link-affinity, SRLG, …
• 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”
55
BRKSPG-3001
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
3
2 4
L3VPN VRF1
5
6
7
8
IGP
10
IGP
30
IGP
30
IGP
10
IGP
10
IGP
20
IGP
10 IGP
10
IGP
10
IGP
10
IGP
10
IGP
30
IGP
10 CE
CE
eBGP
eBGP
iBGP
IPv4 :1.1.1.0/24
IPv4 :1.1.1.0/24 – END.DX A:8::45
IPv4 :1.1.1.0/24
Locator A:1::/64 Locator A:8::/64
END.DX4
A:8::45
BRKSPG-3001 56
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
3
2 4
L3VPN
5
6
7
8
IGP
10
IGP
30
IGP
30
IGP
10
IGP
10
IGP
20
IGP
10 IGP
10
IGP
10
IGP
10
IGP
10
IGP
30
IGP
10 CE
CE
iBGP
IPv4 :1.1.1.0/24 – END.DX A:8::45
Locator 2001:0:0:8::/64
END.DX4
A:8::45
SA:A::1
DA:A:8::45
NH:IPv4
SA:2.2.2.2
DA:1.1.1.1
NH:UDP
UDP Header/Data
SA:2.2.2.2
DA:1.1.1.1
NH:UDP
UDP Header/Data
BRKSPG-3001 57
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
3
2 4
Flex ALGO 128
5
6
7
8
Delay
1ms
Delay
5ms
Delay
15ms
Delay
20ms
Delay
5ms
Delay
5ms
Delay
1ms Delay
1ms
Delay
15ms
Delay
10ms
Delay
5ms
Delay
20ms
Delay
1ms CE
CE
SRv6 Locator
A:801::/64
SRv6 Locator
A:808::/64
SRv6 Locator
A:802::/64
SRv6 Locator
A:804::/64
SRv6 Locator
A:803::/64
SRv6 Locator
A:805::/64
SRv6 Locator
A:806::/64
SRv6 Locator
A:807::/64
Definition:
Metric-Delay
Exclude link BLUE
BRKSPG-3001 58
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Link Delay Measurement Protocol
Querier Responder
PM Response Packet
PM Query Packet
TX Timestamp T1 RX Timestamp T2
One-Way Delay = (T2 – T1)
Two-Way Delay = (T4 – T1) – (T3 – T2)
One-Way Delay = Two-Way Delay/2
TX Timestamp T3
RX Timestamp T4
A::1
A::2
PM Query and Response using
RFC 6374 packet format
• For one-way delay measurement, hardware clocks must be
synchronized using PTP (IEEE 1588) between querier and responder
nodes.
BRKSPG-3001 59
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
3
2 4
L3VPN VRF f128
5
6
7
8 CE
CE
eBGP
eBGP
iBGP
IPv4 :3.3.3.0/24
IPv4 :3.3.3.0/24 – END.DX A:808::44
IPv4 :3.3.3.0/24
Locator Flex ALGO 128
A:808::/64
END.DX4
A:808::44
Delay
1ms
Delay
5ms
Delay
15ms
Delay
20ms
Delay
5ms
Delay
5ms
Delay
1ms
Delay
10ms
Delay
5ms
BRKSPG-3001 60
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
3
2 4
L3VPN VRF f128
5
6
7
8 CE
CE
iBGP
IPv4 :3.3.3.0/24 – END.DX A:808::44
Locator Flex ALGO 128
A:808::/64
END.DX4
A:808::44
Delay
1ms
Delay
5ms
Delay
15ms
Delay
20ms
Delay
5ms
Delay
5ms
Delay
1ms
Delay
10ms
Delay
5ms
SA:A::1
DA:A:808::44
NH:IPv4
SA:2.2.2.2
DA:3.3.3.3
NH:UDP
UDP Header/Data
SA:2.2.2.2
DA:3.3.3.3
NH:UDP
UDP Header/Data
BRKSPG-3001 61
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
1
3
2 4
All Together
5
6
7
8 CE
CE
Locator Flex ALGO 128
A:808::/64
END.DX4 FA128
A:808::44
SA:A::1
DA:A:808::44
NH:IPv4
SA:2.2.2.2
DA:3.3.3.3
NH:UDP
UDP Header/Data
SA:2.2.2.2
DA:3.3.3.3
NH:UDP
UDP Header/Data
SA:A::1
DA:A:8::45
NH:IPv4
SA:2.2.2.2
DA:1.1.1.1
NH:UDP
UDP Header/Data
SA:2.2.2.2
DA:1.1.1.1
NH:UDP
UDP Header/Data
END.DX4 FA0
A:8::45
Locator Flex ALGO 0
A:8::/64
BRKSPG-3001 62
SRv6 for 5G
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
UPF
5G Core (Service Based) Architecture
AMF SMF PCF
UPF
AF
(R)AN
UE Control
Data
N1 N2
N4
N9
N3 N6
DN
NSSF
NG-RAN, Fixed
Nnssf Nausf
Nudm
Nnef Nnrf
Namf Nsmf Npcf Naf
NEF NRF
APIs (HTTP/JSON)
BSF
Nbsf
SEPP
Other
PLMN
Nudr
AUSF UDM UDR NWDAF
Nwdaf
CHF
Nchf
SMSF
Nsmsf
AF Application Function
AMF Access and Mobility Management Function
AUSF Authentication Server Function
BSF Binding Support Function
CHF Charging Function
DN Data Networks
NEF Network Exposure Function
NRF NF Repository Function
NSSF Network Slice Selection Function
NWDAF Network Data Analytics Function
PCF Policy Control Function
SMF Session Management Function
SMSF SMS Function
SEPP Security Edge Protection Proxy
(R)AN (Radio) Access Network
UPF User Plane Function
UDM Unified Data Management
UDR Unified Data Repository
BRKSPG-3001 64
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
GTP = GPRS Tunneling Protocol
• GSM 9.60 -1996
• 3 Versions: 0,1,2
• 2 Flavours
• GTP-C (Can be v1 and v2)
• GTP-U (Always v1) IP4/6 Carrier
IP4/6 Customer
UDP
GTP
L2
UPF
gNB
UE
Internet
BRKSPG-3001 65
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
GTPv1 header format
3GPP TS 29.281
UDP port 2152
Version – 1 (for v1)
Protocol Type – 1 (0 used for charging)
Extension Header, Sequence Number, N-PDU Number – optional
Message type, Message Length used for GTP-C
TEID –Tunnel Endpoint Identifier (random number)
BRKSPG-3001 66
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
IETF
• Segment Routing IPv6 for Mobile User Plane
• https://tools.ietf.org/html/draft-ietf-dmm-srv6-mobile-uplane-03
• Segment Routing IPv6 for mobile user-plane PoCs
• https://tools.ietf.org/html/draft-camarillo-dmm-srv6-mobile-pocs-01
End.MAP -Endpoint function with SID mapping
End.M.GTP6.D -Endpoint function with IPv6/GTP decapsulation into SR policy
End.M.GTP6.E -Endpoint function with encapsulation for IPv6/GTP tunnel
End.M.GTP4.E -Endpoint function with encapsulation for IPv4/GTP tunnel
T.M.Tmap -Transit with tunnel decapsulation and map to an SRv6 policy
End.Limit -Rate Limiting Function
BRKSPG-3001 67
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
IETF -Modes
UPF
(R)AN
UE
N9
DN
UPF
N3 N6
SRv6 Node SRv6 Node SRv6 Node
SRv6
SRv6
Traditional
Enhanced (Traffic Engineering, Service Programming)
TE
(R)AN
UE
N3
DN
UPF
N3 N6
SRv6 Node SRv6 Node SRv6 Node
SRv6
SRv6
CNF
N3
SRv6
SRv6 Node
Enhanced with unchanged gNB (Interworking)
UPF
(R)AN
UE
N9
DN
UPF
N3 N6
SRv6 Gateway SRv6 Node
SRv6
GTP
BRKSPG-3001 68
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
3GPP
• 3GPP TR 29.892
• Study on User Plane Protocol in 5GC (R16)
BRKSPG-3001 69
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
3GPP
BRKSPG-3001 70
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
GTP-U Conclusion
• GTP is legacy protocol
• GTP has significant overhead (especially for 5G with extension header)
• GTP is load balancing unfriendly (can be used by using IPv6 + flow label)
• We can encapsulate GTP into SRV6 
• SRv6 can do the same as GTP
• SRv6 provides natural link between Mobile and Transport
BRKSPG-3001 71
Service
Programming
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Service Chaining
Packets are steered through a sequence of services on their way to the destination.
BRKSPG-3001 73
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Service Chaining – traditional approach
Packets are steered through a sequence of services on their way to the
destination.
• Services are placed on the traffic route
• Static configurations
• Traffic bottlenecks
BRKSPG-3001 74
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Service Chaining with NSH
Packets are steered through a sequence of services on their way to the destination.
• Dedicated encapsulation header
• Per-chain state to be maintained at every hop (SFF)
BRKSPG-3001 75
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
• Services are expressed with segments
• Flexible
• Scalable
• Stateless
Service Chaining with SR
Packets are steered through a sequence of services on their way to the destination.
S1 S2 S3 D
SR: 〈S1, S2, S3, D〉
BRKSPG-3001 76
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
SRv6 service segments
• SID instantiated on an SRv6 router / host connected to the service
• Send with SRH to SRv6-capable device
• Use proxy function to remove / hide SRH before sending to SRv6 unaware service
• SID instantiated on an SRv6 aware service
• Traffic processing depends on the SID
e.g.
• F1::10 → Firewall F1 with rule-set 10
• F1::20 → Firewall F1 with rule-set 20
BRKSPG-3001 77
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Service segments in SR architecture
Just another type of segment
• Stateless in the fabric
• Seamless integration with VPN and/or TE
• Service is opaque to the head-end and intermediate nodes
S1
S2
S3
D
SR: 〈S1, C1, S2, S3, D〉
C1
BRKSPG-3001 78
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Services
• SR-Aware: Service is bound to an SR endpoint function
• Processes all the traffic passing through the node
or is triggered by a specific endpoint function
• SR-UnAware: Service is not able to process SR traffic
• Requires an SR proxy to operate properly
S1
D
SR: 〈S1, C1, S2, S3, D〉
C1
S2 S3
BRKSPG-3001 79
Metadata
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
SRH metadata carrier
• Tag
• 16-bit opaque field
• Hardware friendly
• “Poor man’s” metadata
• TLVs
• Flexible encoding and length
• Designed for software processing
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Hdr Ext Len | Routing Type | Segments Left |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Last Entry | Flags | Tag |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Segment List[0] (128 bits IPv6 address) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| |
...
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Segment List[n] (128 bits IPv6 address) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// //
// Optional Type Length Value objects (variable) //
// //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
BRKSPG-3001 81
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
SRH opaque metadata TLV
• Type: TBA
• Length: 14
• Service Metadata: 14 octets of opaque data
 Similar to NSH’s MD Type 1
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| Service Metadata |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
BRKSPG-3001 82
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
VNF
VPC
All nodes in green are SRv6 capable
Server
2
Server
1
Internet
AWS Oregon
AWS North Virginia
AWS Ireland
VPP
VPC
VPP
VPC
VPP
IPv6 Hdr SA = A:1::, DA = B:2:A::
SR Hdr ( B:3:DC2::, B:2:A:: ) SL=1
IPv4 Hdr SA = 1.1.1.0, DA = 2.2.2.2
Payload
IPv4 Hdr SA=1.1.1.0, DA=2.2.2.2
Payload
IPv4 Hdr SA=1.1.1.0, DA=2.2.2.2
Payload
IPv6 Hdr SA = A:2::, DA = B:3:DC2::
SR Hdr ( B:3:DC2:, B:2:A:: ) SL=0
IPv4 Hdr SA = 1.1.1.0, DA = 2.2.2.2
Payload
Multi-cloud overlays
• Interconnect cloud-based services
• Different cloud regions
• Different cloud providers
• Plain IPv6 transit over the Internet
BRKSPG-3001 83
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Service Programming Conclusion
• Current approach is inefficient
• NSH is stateful hence not scalable
• SRv6 is stateless
• There are VNFs supporting SRv6 already
• For legacy VNF we will use proxy functionality
• TLVs allow to use metadata to carry additional information
• SRv6 concept is ready for microservices
• SRv6 excellent for cloud based application
• Any function can be anywhere
BRKSPG-3001 84
Scaling
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Locator Function Argument
1111 : 2222 : 3333 : 4444 : 5555 : 6666 : 7777 : 8888
r1 r2
IPv6 Network
Locator
A1::/64
Locator
B2::/64
Function
::a
Function
::b
A1::/64
B2::/64
SRv6 Locator-Function
Locator = Reachability= pure routing
IGP or BGP or…….
Function = Service provisioning
BGP, Controller ….
BRKSPG-3001 86
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
r1 r2
IPv6 Network
A
Locator
A:1::/64
Locator
B:2::/64
SRv6 Scale
IPv6 Network
B
r3
B:2::/64
A:1::/64
B::/16 A::/16
Unlike MPLS, no /32 nor /64 needed
BRKSPG-3001 87
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
r1 r2
IPv6
Network
A1
Locator
A:1:1::/64
Locator
B:1:2::/64
SRv6 Massive Scale
IPv6 Network
A2
r3
A:1:4::/64
B::/16
::/0
IPv6 Network
B2
IPv6 Network
B1
IPv6 Network
C
IPv6 Network
D
r4
Locator
A:1:4::/64
r5
Locator
A:2:1::/64
Locator
C:0:1::/64
r6
A:2::/32
C::/16
B::/16
A::/16
D::/16
D::/16
BRKSPG-3001 88
Implementations
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
SRv6 Ecosystem
2018
ISIS SRv6 w/ TILFA (NfV ; END.AS)
L3 Service (IPv4 L3VPN)
SRv6 OAM (Ping/Trace)
2019
SRv6 for Internet (v4/v6, VPNv6)
SRv6 Flex-Algo
Multi-plane, Delay optimized
L2 P2P Service (EVPN VPWS)
SRv6/MPLS Gateway
 END.AS
 END.AD
 END.ASM
 END.AM
Linux / FD.io
Open-Source Applications
Pyroute2 SERA
NfV Partners
Smart NIC
BRKSPG-3001 90
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
SRv6 Support
ASR9000
XR 6.6.1
SRv6 Transport (ISIS)
Service (IPv4 L3VPN)
TILFA (ISIS)
SRv6 OAM (Ping/Trace)
NCS540
NCS5500
BRKSPG-3001 91
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
• SRv6 is Here
• It is ready for greenfield
• It has wide opensource support
• Massive Scale!
• Stateless Service Chaining –Network Programming
• Can Replace GTP
BRKSPG-3001 92
Conclusion
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
More IPv6 Sessions
93
BRKSPG-3001
When Session Title
10 June 2019/ 8:00 BRKRST-2619 IPv6 Deployment: Developing an IPv6 Addressing Plan and Developing IPv6
12 June / 8:00 BRKMPL-2132 Designing and deploying SRv6 networking
12 June / 13:00 BRKRST-3304 Hitchhiker's Guide to Troubleshooting IPv6
12 June / 8:00 BBRKRST-3122 Segment Routing: Technology Deep Dive and Advanced Use Cases
LABRST-2261 IPv6 planning, deployment and transition
LABSPG-1327 Introduction to Segment Routing v6 (SRv6) with IOS-XR
Complete your
online session
evaluation
• Please complete your session survey
after each session. Your feedback
is very important.
• Complete a minimum of 4 session
surveys and the Overall Conference
survey (starting on Thursday) to
receive your Cisco Live water bottle.
• All surveys can be taken in the Cisco Live
Mobile App or by logging in to the Session
Catalog on ciscolive.cisco.com/us.
Cisco Live sessions will be available for viewing
on demand after the event at ciscolive.cisco.com.
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS BRKSPG-3001 94
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
#CLUS
Continue your education
95
BRKSPG-3001
Related sessions
Walk-in
self-paced labs
Demos in the
Cisco campus
Meet the engineer
1:1 meetings
Thank you
#CLUS
#CLUS

More Related Content

Similar to BRKSPG-3001.pdf

Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
APNIC
 
Networking
NetworkingNetworking
Networking
Marian Marinov
 
8 congestion-ipv6
8 congestion-ipv68 congestion-ipv6
8 congestion-ipv6
Olivier Bonaventure
 
SRv6-TOI-rev3i-EXTERNAL.pdf
SRv6-TOI-rev3i-EXTERNAL.pdfSRv6-TOI-rev3i-EXTERNAL.pdf
SRv6-TOI-rev3i-EXTERNAL.pdf
YunLiu75
 
ASCC Network Experience in IPv6
ASCC Network Experience in IPv6ASCC Network Experience in IPv6
ASCC Network Experience in IPv6
Ethern Lin
 
Rfc1723
Rfc1723Rfc1723
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
Gunnar Hillert
 
A tale of queues — from ActiveMQ over Hazelcast to Disque - Philipp Krenn
A tale of queues — from ActiveMQ over Hazelcast to Disque - Philipp KrennA tale of queues — from ActiveMQ over Hazelcast to Disque - Philipp Krenn
A tale of queues — from ActiveMQ over Hazelcast to Disque - Philipp Krenn
distributed matters
 
Cisco MEM-C6K-CPTFL256M
Cisco MEM-C6K-CPTFL256MCisco MEM-C6K-CPTFL256M
Cisco MEM-C6K-CPTFL256M
savomir
 
The Road to End-to-End Encryption in Jitsi Meet
The Road to End-to-End Encryption in Jitsi MeetThe Road to End-to-End Encryption in Jitsi Meet
The Road to End-to-End Encryption in Jitsi Meet
Saúl Ibarra Corretgé
 
Cisco XFP-10GLR-OC192SR
Cisco XFP-10GLR-OC192SRCisco XFP-10GLR-OC192SR
Cisco XFP-10GLR-OC192SR
savomir
 
Prod presentation0900aecd80312824
Prod presentation0900aecd80312824Prod presentation0900aecd80312824
Prod presentation0900aecd80312824
SalvatoreFILORIZZO
 
Websockets
WebsocketsWebsockets
Websockets
Sheridan Roberts
 
IxVM on CML
IxVM on CMLIxVM on CML
IxVM on CML
npsg
 
Unleashing the Power of Fabric Orchestrating New Performance Features for SR-...
Unleashing the Power of Fabric Orchestrating New Performance Features for SR-...Unleashing the Power of Fabric Orchestrating New Performance Features for SR-...
Unleashing the Power of Fabric Orchestrating New Performance Features for SR-...
Liz Warner
 
EvasionTechniques
EvasionTechniquesEvasionTechniques
EvasionTechniques
Candan BOLUKBAS
 
Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19
Nelson Calero
 
Introduction to HTTP/2 and How To Use It
Introduction to HTTP/2 and How To Use ItIntroduction to HTTP/2 and How To Use It
Introduction to HTTP/2 and How To Use It
ArcBlock
 
3Com SPA-4XOC3-POS
3Com SPA-4XOC3-POS3Com SPA-4XOC3-POS
3Com SPA-4XOC3-POS
savomir
 
Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...
Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...
Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...
Cisco Canada
 

Similar to BRKSPG-3001.pdf (20)

Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
Leveraging IPv6 extension header for traffic engineering, by Eric Vyncke [APN...
 
Networking
NetworkingNetworking
Networking
 
8 congestion-ipv6
8 congestion-ipv68 congestion-ipv6
8 congestion-ipv6
 
SRv6-TOI-rev3i-EXTERNAL.pdf
SRv6-TOI-rev3i-EXTERNAL.pdfSRv6-TOI-rev3i-EXTERNAL.pdf
SRv6-TOI-rev3i-EXTERNAL.pdf
 
ASCC Network Experience in IPv6
ASCC Network Experience in IPv6ASCC Network Experience in IPv6
ASCC Network Experience in IPv6
 
Rfc1723
Rfc1723Rfc1723
Rfc1723
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
 
A tale of queues — from ActiveMQ over Hazelcast to Disque - Philipp Krenn
A tale of queues — from ActiveMQ over Hazelcast to Disque - Philipp KrennA tale of queues — from ActiveMQ over Hazelcast to Disque - Philipp Krenn
A tale of queues — from ActiveMQ over Hazelcast to Disque - Philipp Krenn
 
Cisco MEM-C6K-CPTFL256M
Cisco MEM-C6K-CPTFL256MCisco MEM-C6K-CPTFL256M
Cisco MEM-C6K-CPTFL256M
 
The Road to End-to-End Encryption in Jitsi Meet
The Road to End-to-End Encryption in Jitsi MeetThe Road to End-to-End Encryption in Jitsi Meet
The Road to End-to-End Encryption in Jitsi Meet
 
Cisco XFP-10GLR-OC192SR
Cisco XFP-10GLR-OC192SRCisco XFP-10GLR-OC192SR
Cisco XFP-10GLR-OC192SR
 
Prod presentation0900aecd80312824
Prod presentation0900aecd80312824Prod presentation0900aecd80312824
Prod presentation0900aecd80312824
 
Websockets
WebsocketsWebsockets
Websockets
 
IxVM on CML
IxVM on CMLIxVM on CML
IxVM on CML
 
Unleashing the Power of Fabric Orchestrating New Performance Features for SR-...
Unleashing the Power of Fabric Orchestrating New Performance Features for SR-...Unleashing the Power of Fabric Orchestrating New Performance Features for SR-...
Unleashing the Power of Fabric Orchestrating New Performance Features for SR-...
 
EvasionTechniques
EvasionTechniquesEvasionTechniques
EvasionTechniques
 
Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19
 
Introduction to HTTP/2 and How To Use It
Introduction to HTTP/2 and How To Use ItIntroduction to HTTP/2 and How To Use It
Introduction to HTTP/2 and How To Use It
 
3Com SPA-4XOC3-POS
3Com SPA-4XOC3-POS3Com SPA-4XOC3-POS
3Com SPA-4XOC3-POS
 
Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...
Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...
Cisco Connect Montreal 2017 - Segment Routing - Technology Deep-dive and Adva...
 

Recently uploaded

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 

Recently uploaded (20)

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 

BRKSPG-3001.pdf

  • 2. #CLUS Jakub Horn Technial Marketing Engineer BRKSPG-3001 Subtitle goes here Introduction to SRv6 Technology
  • 3. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Agenda • Introduction • SRv6 Header Format and Forwarding • SID Structure and Network Programming • L3 VPN • TI-LFA • Other Applications • Conclusion BRKSPG-3001 3
  • 4. Questions? Use Cisco Webex Teams to chat with the speaker after the session Find this session in the Cisco Live Mobile App Click “Join the Discussion” Install Webex Teams or go directly to the team space Enter messages/questions in the team space How Webex Teams will be moderated by the speaker until June 16, 2019. 1 2 3 4 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Cisco Webex Teams cs.co/ciscolivebot# 4 BRKSPG-3001
  • 5. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Aggregation Problem statement: Today’s service creation Metro/Access Network Domain Core Network Domain Data Center Domain Limited Cross-domain Automation, Cumbersome Service Assurance End-to-end service provisioning is lengthy and complex • Routing protocols are blind to applications (Shortest-path for any traffic) • Multiple network domains under different management teams • Manual operations • Heterogeneous underlay and overlay networks IP MPLS (LDP, RSVP-TE) L2VPN Ethernet L3VPN VXLAN Complex E2E Quality of Service (QoS) BRKSPG-3001 5
  • 6. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Aggregation Segment Routing Unified Fabric Vision SDN Metro/Access Network Domain SDN Core Network Domain SDN Data Center Domain Segment Routing BGP VPN L2/L3 Homogenous Cross-domain Automation & Assurance SDN Control End-to-end service provisioning is simple and scalable • Multiple network domains under same management teams • Automated operations • Homogenous underlay and overlay networks BRKSPG-3001 6
  • 7. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS SDN Metro Network Domain SDN Core Network Domain SDN Data Center Domain Aggregation Homogenous Cross-domain Automation & Assurance End-to-end service provisioning is simple • Multiple network domains under same management teams • Automated operations • Homogenous underlay and overlay networks Centralized Services Delivery Segment Routing VPN L2/L3 SR-MPLS: SDN ready “Network as a Fabric” for Service Creation Cloud Scale Networking Central Office Access Compute Leaf Spine VNF VNF VNF VNF SDN Control BRKSPG-3001 7
  • 9. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS IPv6 SR Header • IPv6 header • Next header field: Indicates what comes next 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ BRKSPG-3001 9
  • 10. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Length | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IPv6 SR Header • IPv6 header • Next header field: 17 → UDP 17 BRKSPG-3001 10
  • 11. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IPv6 SR Header • IPv6 header • Next header field: 4 → IPv4 4 BRKSPG-3001 11
  • 12. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Acknowledgment Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data | |U|A|P|R|S|F| | | Offset| Reserved |R|C|S|S|Y|I| Window | | | |G|K|H|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Urgent Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IPv6 SR Header • IPv6 header • Next header field: 6 → TCP 6 BRKSPG-3001 12
  • 13. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . type-specific data . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IPv6 SR Header • IPv6 header • Next header field: 43 → Routing • IPv6 Routing extension header • Generic header format defined in RFC 2460 • Next Header: IPv4, TCP, UDP, … • Hdr Ext Len: Any IPv6 device can skip this header • Segments Left: Ignore extension header if equal to 0 • Specific data depends on Routing Type field: • 0 Source Route (deprecated since 2007) • 1 Nimrod (deprecated since 2009) • 2 Mobility (RFC 6275) • 3 RPL Source Route (RFC 6554) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type | Segments Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 43 BRKSPG-3001 13
  • 14. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | First Segment | Flags | Tag | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[0] (128 bits IPv6 address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . ... . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[n-1] (128 bits IPv6 address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // // // Optional Type Length Value objects (variable) // // // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IPv6 SR Header • IPv6 header • Next header field: 43 → Routing • IPv6 Routing extension header • Generic header format defined in RFC 2460 • Next Header: IPv4, TCP, UDP, … • Hdr Ext Len: Any IPv6 device can skip this header • Segments Left: Ignore extension header if equal to 0 • Specific data depends on Routing Type field: • 0 Source Route (deprecated since 2007) • 1 Nimrod (deprecated since 2009) • 2 Mobility (RFC 6275) • 3 RPL Source Route (RFC 6554) • 4 Segment Routing (tentative) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type | Segments Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4 43 RFC 2460 SR specific
  • 15. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | First Segment | Flags | Tag | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[0] (128 bits IPv6 address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . ... . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[n-1] (128 bits IPv6 address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // // // Optional Type Length Value objects (variable) // // // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IPv6 SR Header • Each segment is an IPv6 address • Segments are encoded in reverse order • Last segment index is 0 • First segment index is First Segment • Active segment index is Segments Left • Active Segment is copied in the Destination Address field of the IP header • Additional data can be stored in TLVs • Security (HMAC), NFV metadata, … +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type | Segments Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4 43 First Segment @Segment List [First Segment] Last Segment / Final Destination @Segment List [0] Active Segment Active Segment @Segment List [Segments Left]
  • 16. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS SR Header Processing BRKSPG-3001 16
  • 17. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Source Node • Source node is SR-capable • SR Header (SRH) is created with • Segment list in reversed order of the path • Segment List [ 0 ] is the LAST segment • Segment List [ 𝑛 − 1 ] is the FIRST segment • Segments Left is set to 𝑛 − 1 • First Segment is set to 𝑛 − 1 • IP DA is set to the first segment • Packet is send according to the IP DA • Normal IPv6 forwarding Version Traffic Class Next = 43 Hop Limit Payload Length Source Address = A:: Destination Address = B:: Segment List [ 0 ] = D:: Segment List [ 1 ] = C:: Next Header Len= 6 Type = 4 SL = 2 First = 2 Flags RESERVED IPv6 Hdr Segment List [ 2 ] = B:: SR Hdr Payload Flow Label Flow Label D D:: A A:: SR Hdr IPv6 Hdr SA = A::, DA = B:: ( D::, C::, B:: ) SL=2 Payload B B:: C C:: BRKSPG-3001 17
  • 18. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Non-SR Transit Node • Plain IPv6 forwarding • Solely based on IPv6 DA • No SRH inspection or update D D:: A A:: SR Hdr IPv6 Hdr SA = A::, DA = B:: ( D::, C::, B:: ) SL=2 Payload B B:: C C:: BRKSPG-3001 18
  • 19. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS SR Segment Endpoints • SR Endpoints: SR-capable nodes whose address is in the IP DA • SR Endpoints inspect the SRH and do: • IF Segments Left > 0, THEN • Decrement Segments Left ( -1 ) • Update DA with Segment List [ Segments Left ] • Forward according to the new IP DA Version Traffic Class Next = 43 Hop Limit Payload Length Source Address = A:: Destination Address = C:: Segment List [ 0 ] = D:: Segment List [ 1 ] = C:: Next Header Len= 6 Type = 4 SL = 1 First = 2 Flags RESERVED IPv6 Hdr Segment List [ 2 ] = B:: SR Hdr Payload Flow Label Flow Label D D:: A A:: B B:: C C:: SR Hdr IPv6 Hdr SA = A::, DA = C:: ( D::, C::, B:: ) SL=1 Payload BRKSPG-3001 19
  • 20. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS SR Segment Endpoints • SR Endpoints: SR-capable nodes whose address is in the IP DA • SR Endpoints inspect the SRH and do: • IF Segments Left > 0, THEN • Decrement Segments Left ( -1 ) • Update DA with Segment List [ Segments Left ] • Forward according to the new IP DA • ELSE (Segments Left = 0) • Remove the IP and SR header • Process the payload: • Inner IP: Lookup DA and forward • TCP / UDP: Send to socket • … Version Traffic Class Next = 43 Hop Limit Payload Length Source Address = A:: Destination Address = D:: Segment List [ 0 ] = D:: Segment List [ 1 ] = C:: Next Header Len= 6 Type = 4 SL = 0 First = 2 Flags RESERVED IPv6 Hdr Segment List [ 2 ] = B:: SR Hdr Payload Flow Label Flow Label D D:: A A:: B B:: C C:: SR Hdr IPv6 Hdr SA = A::, DA = D:: ( D::, C::, B:: ) SL=0 Payload Standard IPv6 processing The final destination does not have to be SR-capable. BRKSPG-3001 20
  • 22. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Segment format • SRv6 SIDs are 128-bit addresses • Locator: most significant bits are used to route the segment to its parent node • Function: least significant bits identify the action to be performed on the parent node • Argument [optional]: Last bits can be used as a local function argument • Flexible bit-length allocation • Segment format is local knowledge on the parent node • SIDs have to be specifically enabled as such on their parent node • A local address is not by default a local SID • A local SID does not have to be associated with an interface 1111 : 2222 : 3333 : 4444 : 5555 : 6666 : 7777 : 8888 Locator Function BRKSPG-3001 22
  • 23. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS END – Default endpoint • Default endpoint behavior (node segment) • Decrement Segments Left, update DA • Forward according to new DA • Node B advertises prefix B::/64 (B::/64 is the SID locator) • Packets are forwarded to B along the default routes (shortest path) • On B, the default endpoint behavior is associated with ID 0 (0 is the function) • The SID corresponding to the default endpoint behavior on node B is B::0 SR Hdr IPv6 Hdr SA = A::, DA = B::0 (…,C::,B::0,…) SL=k Payload B B:: /64 SR Hdr IPv6 Hdr SA = A::, DA = C:: (…,C::,B::0,…) SL=k-1 Payload C BRKSPG-3001 23
  • 24. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS END.X – Endpoint then Xconnect • Endpoint xconnect behavior (adjacency segment) • Decrement Segments Left, update DA • Forward on the interface associated with the Xconnect segment • Node C advertises prefix C::/64 • Packets are forwarded to C along the default routes (shortest path) • On C, the endpoint xconnect behavior for link (C, E) is associated with ID CE • The SID corresponding to endpoint xconnect-(C,E) behavior on node C is C::CE SR Hdr IPv6 Hdr SA = A::, DA = C::C1 (…,D::, C::C1,…) SL=k Payload SR Hdr IPv6 Hdr SA = A::, DA = D:: (…,D::,C::C1,…)SL=k-1 Payload C C:: /64 D 1 2 BRKSPG-3001 24
  • 25. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS END.DX4 – Endpoint with Decapsulation and Xconnect (END.DX6, END.DX2) • Endpoint xconnect behavior (adjacency segment) • Segments Left must be 0 • NH must be IPv4 (or IPv6 or L2) • Decapsulate inner packet • Forward on the interface associated with the Xconnect • Node D advertises prefix C::/64 • Packets are forwarded to D along the default routes (shortest path) • On C, the endpoint xconnect behavior for link (D, E) is associated with ID DE • It is like L3 VPN with per CE label allocation SR Hdr IPv6 Hdr SA = A::, DA = D::D1 (…, D::C1) SL=0 IPv4 packet IPv4 packet D D:: /64 1 2 BRKSPG-3001 25
  • 26. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS END.DT4 – Endpoint with Decapsulation and Table lookup(END.DT6) • Endpoint xconnect behavior (adjacency segment) • Segments Left must be 0 • NH must be IPv4 (or IPv6) • Decapsulate inner packet • Do the lookup for IPv4 destination of inner packet and forward accordingly • Node D advertises prefix D::/64 • Packets are forwarded to D along the default routes (shortest path) • On C, the endpoint behavior for link (D, E) is associated with ID CE • It is like L3 VPN with per VRF label allocation SR Hdr IPv6 Hdr SA = A::, DA = D::1 (…, D::1) SL=0 IPv4 packet IPv4 packet D D:: /64 1 2 BRKSPG-3001 26
  • 27. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Transit behavior T.ENCAP and T.INSERT IPv6 Hdr SA = A::, DA = D:: Payload X IPv6 Hdr SA = E::, DA = F:: SR Hdr (B::, C::,F::) SL=2 IPv6 Hdr SA = A::, DA = D:: Payload X IPv6 Hdr SA = A::, DA = D:: Payload IPv6 Hdr SA = A::, DA = C:: Payload SR Hdr (D::, B::,C::) SL=2 BRKSPG-3001 27
  • 28. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS IPv6 Hdr SA = D::, DA = S1 SR Hdr (…, E::, D::10,… ) SL=k-1 Payload IPv6 Hdr SA = A::, DA = E:: SR Hdr (S3, S2, S1) SL=2 END.B6.ENCAPS – IPv6 Binding Segment (encap) • IPv6 binding segment • Decrement Segments Left, update DA • Push outer IP and SR headers associated with the binding segment • Forward according to outer header DA (first segment of the new SRH) • Node D advertises prefix D::/64 • The SR encaps policy (SA = D::, SL = 〈 S1, S2, S3 〉) is associated with ID 10 • The corresponding binding SID is D::10 SR Hdr IPv6 Hdr SA = A::, DA = D::10 (…,E::,D::10,…) SL=k Payload D D:: /64 BRKSPG-3001 28
  • 29. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS IPv6 Hdr SA = A::, DA = S1 SR Hdr (…,E::, D::20,…) SL=k Payload SR Hdr ( S3, S2, S1 ) SL=2 END.B6 – IPv6 Binding Segment (insert) • IPv6 binding segment • Do not decrement Segments Left • Push outer SR header associated with the binding segment • Update DA with the first segment of the outer SR header • Forward according to outer header DA (first segment of the new SRH) • Node D advertises prefix D::/64 • On D, the SR insert policy 〈 S1, S2, S3 〉 is associated with ID 20 • The corresponding binding SID is D::20 SR Hdr IPv6 Hdr SA = A::, DA = D::20 (…,E::, D::20,…) SL=k Payload D D:: /64 BRKSPG-3001 29
  • 30. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS MPLS { L1, L2, L3 } SR Hdr (…,E::, D::20,…) SL=k-1 Payload IPv6 Hdr SA = A::, DA = E:: END.BM – MPLS Binding Segment • MPLS binding segment • Decrement Segments Left • Push outer MPLS label stack associated with the binding segment • Forward according to the top MPLS label • Node D advertises prefix D::/64 • On D, the MPLS SR policy { L1, L2, L3 } is associated with ID 30 • The corresponding binding SID is D::30 SR Hdr IPv6 Hdr SA = A::, DA = D::30 (…,E::, D::30,…) SL=k Payload D D:: /64 BRKSPG-3001 30
  • 32. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Functions might be signaled differently Signalling IGP BGP- LS BGP- IP/VPN End Yes Yes End.X Yes Yes End.T Yes Yes End.DX4 Yes Yes End.DX6 Yes Yes Yes End.DX2 Yes Yes END.DT4 Yes Yes End.DT6 Yes Yes Yes End.B Yes Signalling IGP BGP- LS BGP- IP/VPN T.insert Yes T.Encap Yes Locator – routing table BRKSPG-3001 32
  • 33. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS ISIS easily extensible • Uses TLVs • For Srv6: • Locator – for Reachability (twice for backward compatibility) • END function - TI-LFA and TE • END.X function for each interface in routing protocol TI-LFA and TE • Capabilities: • Max SID depth for different functionn • OSPF will follow Ten0/0/0/0 Lo0 A::1/128 2001::12/64 Locator : B::/64 END: B::1 END.X: B::41 Ten0/0/0/1 END.X: B::42 fe80::dead/64 Router 1 BRKSPG-3001 33
  • 34. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS ISIS example r12.00-00 * 0x00000978 0x5eea 611 /* 0/0/0 Area Address: 49 NLPID: 0x8e Hostname: r12 IPv6 Address: 2001::2 Metric: 10 MT (IPv6 Unicast) IPv6 2001::2/128 Prefix Attribute Flags: X:0 R:0 N:1 Metric: 1 MT (IPv6 Unicast) IPv6 2001:0:0:2::/64 Prefix Attribute Flags: X:0 R:0 N:0 Metric: 10 MT (IPv6 Unicast) IPv6 2001:0:0:12::/64 Prefix Attribute Flags: X:0 R:0 N:0 Metric: 10 MT (IPv6 Unicast) IPv6 2001:0:0:23::/64 Prefix Attribute Flags: X:0 R:0 N:0 Router Cap: 0.0.0.0 D:0 S:0 IPv6 Router ID: 2001::2 SRv6: O:0 Node Maximum SID Depth: SRH Max SL: 5 SRH Max End Pop: 6 SRH Max T.insert: 5 SRH Max T.encaps: 5 SRH Max End D: 6 SRv6 Locator: MT (IPv6 Unicast) 2001:0:0:2::/64 D:0 Metric: 0 Algorithm: 0 END SID: 2001:0:0:2:1:: End (PSP) MT: IPv6 Unicast 0/0/0 Metric: 10 MT (IPv6 Unicast) IS-Extended r11.00 Interface IPv6 Address: 2001:0:0:12::2 Neighbor IPv6 Address: 2001:0:0:12::1 END.X SID: 2001:0:0:2:40:: B:0 S:0 P:0 End.X (PSP) Metric: 10 MT (IPv6 Unicast) IS-Extended r13.00 Interface IPv6 Address: 2001:0:0:23::2 Neighbor IPv6 Address: 2001:0:0:23::3 END.X SID: 2001:0:0:2:41:: B:0 S:0 P:0 End.X (PSP) Locator Capabilities END END.X BRKSPG-3001 34
  • 35. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Basic SRv6 VPN –Control Plane • BGP needs to allocate function for each local prefix • Two possibilities • Per VRF allocation –one END.DT function allocated • Per CE allocation – END.DX function is allocated for each BGP peer in VRF • END.DT is allocated by default and advertised with local prefixes, and static routes BRKSPG-3001 35
  • 36. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 VPNv4 Basic Control Plane 4 SRv6 CE CE eBGP eBGP IPv4 :1.1.1.0/24 VPNv4 address family IPv4 :1.1.1.0/24 – END.DX A:3::45 IPv4 :1.1.1.0/24 END.DX4 A:3::45 iBGP Locator A:3::/64 Locator A:1::/64 BRKSPG-3001 36
  • 37. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 VPNv4 Basic Data Plane 4 SRv6 CE CE eBGP eBGP IPv4 :1.1.1.0/24 VPNv4 address family IPv4 :1.1.1.0/24 – END.DX A:3::45 IPv4 :1.1.1.0/24 END.DX4 A:3::45 iBGP Locator A:3::/64 Locator A:1::/64 SA:2.2.2.2 DA:1.1.1.1 NH:UDP UDP Header/Data SA:A:1::1 DA:A:3::45 NH:IPv4 SA:2.2.2.2 DA:1.1.1.1 NH:UDP UDP Header/Data SA:2.2.2.2 DA:1.1.1.1 NH:UDP UDP Header/Data BRKSPG-3001 37
  • 39. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS TI-LFA • Topology Independent Loop Free Alternate • Fast Convergence • To be fast it has to be LOCAL • No signalling • No reprograming FIB • <50ms is considered fast convergence BRKSPG-3001 39
  • 40. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 NO TI-LFA -Before Failure 4 SRv6 CE CE Destination is END.DX4 – A:3::45 Whole network knows how to reach A:3::/64 Metric 100 BRKSPG-3001 40
  • 41. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 NO-TI-LFA 4 SRv6 CE CE Failure –Fiber CUT between R2-R3 time T0 Failure Detection T1 (LOS or BFD) (1-100ms) Propagation of Failure to IGP T2 (2ms-20ms) IGP Creates new LSP IGP sends new LSP to R1- T3 (~4ms) IGP Runs SPF and creates new RIB-FIB entry (1-3000 ms) HW programming on R2 (1-3ms) Discarding Metric 100 BRKSPG-3001 41
  • 42. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 NO-TI-LFA R2 Convergence 4 SRv6 CE CE R1 Received new LSP -T4 (5us/km) R1 IGP Takes LSP and propagates it to R5 -T5 (~1-20ms) R1 IGP Runs SPF and creates new RIB-FIB entry HW programming on R1 uLoop Metric 100 BRKSPG-3001 42
  • 43. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 NO-TI-LFA R2 Convergence 4 SRv6 CE CE R5 Received new LSP –T6 (5us/km) R5 IGP Takes LSP and propagates it to R5 (~1-20ms) R5 IGP Runs SPF and creates new RIB-FIB entry HW programming on R5 T7 uLoop Metric 100 BRKSPG-3001 43
  • 44. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 NO-TI-LFA R5 Convergence 4 SRv6 CE CE A:3::/64 R5 Received new LSP T6 (5us/km) R5 Takes LSP and propagates it to R4 R5 IGP Runs SPF and creates new RIB-FIB entry (1-3000ms) HW programming on R5 T7 (1-5ms) Metric 100 BRKSPG-3001 44
  • 45. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 ISIS enable SRv6 4 IPv6 only LocatorA:2::/64 END A:2::1 END.X A:2::21 END.X A:2::23 LocatorA:1::/64 END A:1::1 END.X A:1::12 END.X A:1::15 LocatorA:3::/64 END A:3::1 END.X A:3::32 END.X A:3::34 LocatorA:4::/64 END A:4::1 END.X A:4::43 END.X A:4::45 LocatorA:5::/64 END A:5::1 END.X A:5::51 END.X A:5::54 BRKSPG-3001 45
  • 46. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 TI-LFA before Failure - Calculating Backup Path 4 SRv6 CE CE Router 2 Link to Router 3 Prefix A:3::/64 P -Space All Routers R1 can reach without crossing the link 2-3 Q -Space All Routers that can reach destination without crossing the link 2-3 Metric 100 BRKSPG-3001 46
  • 47. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 Failure 4 CE CE SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:3::45 NH:IPv6 SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:5::54 NH:RH Type:4(SRH) NH:IPv4|SL:1 Segment List: [0]: A:3::45 SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:3::45 NH:IPv4 Failure –Fiber CUT between R2-R3 time T0 Failure Detection T1 (LOS or BFD) (1-100ms) Single HW Interrupt to switch to preprogrammed backups (1-15ms)
  • 48. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 Converged 4 CE CE SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:3::45 NH:IPv4 BRKSPG-3001 48
  • 49. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 What About Microloop 4 CE CE SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:3::45 NH:IPv6 SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:5:41:: NH:IPv4 IGP Creates new LSP IGP sends new LSP to R1- T3 IGP Runs SPF and creates new RIB-FIB entry HW programming on R2 (1-3ms) BRKSPG-3001 49
  • 50. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 Microloop Avoidance- Local 4 CE CE SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:3::45 NH:IPv6 SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:5::54 NH:RH Type:4(SRH) NH:IPv4|SL:1 Segment List: [0]: A:3::45 IGP Creates new LSP IGP sends new LSP to R1- T3 IGP Runs SPF and creates new RIB-FIB entry WAIT WAIT WAIT give some time to R1 to do his job HW programming on R2
  • 51. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 R1 Converged 4 CE CE SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:3::45 NH:IPv4 But R5 still have old information…… Maybe still doing SPF…. BRKSPG-3001 51
  • 52. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 R1 Converged 4 CE CE SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:5::54 NH:RH R1 does not install postconvergence FIB entry immediately He gives some more time to R5 Type:4(SRH) NH:IPv4|SL:1 Segment List: [0]: A:3::45 BRKSPG-3001 52
  • 53. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 5 2 3 Converged 4 CE CE SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:6.6.6.6 DA:7.7.7.7 NH:UDP UDP Header/Data SA:A::1 DA:A:3::45 NH:IPv6 BRKSPG-3001 53
  • 55. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Flexible Algorithm • 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, delay, … • The exclusion of certain link properties: link-affinity, SRLG, … • 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” 55 BRKSPG-3001
  • 56. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 3 2 4 L3VPN VRF1 5 6 7 8 IGP 10 IGP 30 IGP 30 IGP 10 IGP 10 IGP 20 IGP 10 IGP 10 IGP 10 IGP 10 IGP 10 IGP 30 IGP 10 CE CE eBGP eBGP iBGP IPv4 :1.1.1.0/24 IPv4 :1.1.1.0/24 – END.DX A:8::45 IPv4 :1.1.1.0/24 Locator A:1::/64 Locator A:8::/64 END.DX4 A:8::45 BRKSPG-3001 56
  • 57. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 3 2 4 L3VPN 5 6 7 8 IGP 10 IGP 30 IGP 30 IGP 10 IGP 10 IGP 20 IGP 10 IGP 10 IGP 10 IGP 10 IGP 10 IGP 30 IGP 10 CE CE iBGP IPv4 :1.1.1.0/24 – END.DX A:8::45 Locator 2001:0:0:8::/64 END.DX4 A:8::45 SA:A::1 DA:A:8::45 NH:IPv4 SA:2.2.2.2 DA:1.1.1.1 NH:UDP UDP Header/Data SA:2.2.2.2 DA:1.1.1.1 NH:UDP UDP Header/Data BRKSPG-3001 57
  • 58. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 3 2 4 Flex ALGO 128 5 6 7 8 Delay 1ms Delay 5ms Delay 15ms Delay 20ms Delay 5ms Delay 5ms Delay 1ms Delay 1ms Delay 15ms Delay 10ms Delay 5ms Delay 20ms Delay 1ms CE CE SRv6 Locator A:801::/64 SRv6 Locator A:808::/64 SRv6 Locator A:802::/64 SRv6 Locator A:804::/64 SRv6 Locator A:803::/64 SRv6 Locator A:805::/64 SRv6 Locator A:806::/64 SRv6 Locator A:807::/64 Definition: Metric-Delay Exclude link BLUE BRKSPG-3001 58
  • 59. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Link Delay Measurement Protocol Querier Responder PM Response Packet PM Query Packet TX Timestamp T1 RX Timestamp T2 One-Way Delay = (T2 – T1) Two-Way Delay = (T4 – T1) – (T3 – T2) One-Way Delay = Two-Way Delay/2 TX Timestamp T3 RX Timestamp T4 A::1 A::2 PM Query and Response using RFC 6374 packet format • For one-way delay measurement, hardware clocks must be synchronized using PTP (IEEE 1588) between querier and responder nodes. BRKSPG-3001 59
  • 60. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 3 2 4 L3VPN VRF f128 5 6 7 8 CE CE eBGP eBGP iBGP IPv4 :3.3.3.0/24 IPv4 :3.3.3.0/24 – END.DX A:808::44 IPv4 :3.3.3.0/24 Locator Flex ALGO 128 A:808::/64 END.DX4 A:808::44 Delay 1ms Delay 5ms Delay 15ms Delay 20ms Delay 5ms Delay 5ms Delay 1ms Delay 10ms Delay 5ms BRKSPG-3001 60
  • 61. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 3 2 4 L3VPN VRF f128 5 6 7 8 CE CE iBGP IPv4 :3.3.3.0/24 – END.DX A:808::44 Locator Flex ALGO 128 A:808::/64 END.DX4 A:808::44 Delay 1ms Delay 5ms Delay 15ms Delay 20ms Delay 5ms Delay 5ms Delay 1ms Delay 10ms Delay 5ms SA:A::1 DA:A:808::44 NH:IPv4 SA:2.2.2.2 DA:3.3.3.3 NH:UDP UDP Header/Data SA:2.2.2.2 DA:3.3.3.3 NH:UDP UDP Header/Data BRKSPG-3001 61
  • 62. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 1 3 2 4 All Together 5 6 7 8 CE CE Locator Flex ALGO 128 A:808::/64 END.DX4 FA128 A:808::44 SA:A::1 DA:A:808::44 NH:IPv4 SA:2.2.2.2 DA:3.3.3.3 NH:UDP UDP Header/Data SA:2.2.2.2 DA:3.3.3.3 NH:UDP UDP Header/Data SA:A::1 DA:A:8::45 NH:IPv4 SA:2.2.2.2 DA:1.1.1.1 NH:UDP UDP Header/Data SA:2.2.2.2 DA:1.1.1.1 NH:UDP UDP Header/Data END.DX4 FA0 A:8::45 Locator Flex ALGO 0 A:8::/64 BRKSPG-3001 62
  • 64. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS UPF 5G Core (Service Based) Architecture AMF SMF PCF UPF AF (R)AN UE Control Data N1 N2 N4 N9 N3 N6 DN NSSF NG-RAN, Fixed Nnssf Nausf Nudm Nnef Nnrf Namf Nsmf Npcf Naf NEF NRF APIs (HTTP/JSON) BSF Nbsf SEPP Other PLMN Nudr AUSF UDM UDR NWDAF Nwdaf CHF Nchf SMSF Nsmsf AF Application Function AMF Access and Mobility Management Function AUSF Authentication Server Function BSF Binding Support Function CHF Charging Function DN Data Networks NEF Network Exposure Function NRF NF Repository Function NSSF Network Slice Selection Function NWDAF Network Data Analytics Function PCF Policy Control Function SMF Session Management Function SMSF SMS Function SEPP Security Edge Protection Proxy (R)AN (Radio) Access Network UPF User Plane Function UDM Unified Data Management UDR Unified Data Repository BRKSPG-3001 64
  • 65. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS GTP = GPRS Tunneling Protocol • GSM 9.60 -1996 • 3 Versions: 0,1,2 • 2 Flavours • GTP-C (Can be v1 and v2) • GTP-U (Always v1) IP4/6 Carrier IP4/6 Customer UDP GTP L2 UPF gNB UE Internet BRKSPG-3001 65
  • 66. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS GTPv1 header format 3GPP TS 29.281 UDP port 2152 Version – 1 (for v1) Protocol Type – 1 (0 used for charging) Extension Header, Sequence Number, N-PDU Number – optional Message type, Message Length used for GTP-C TEID –Tunnel Endpoint Identifier (random number) BRKSPG-3001 66
  • 67. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS IETF • Segment Routing IPv6 for Mobile User Plane • https://tools.ietf.org/html/draft-ietf-dmm-srv6-mobile-uplane-03 • Segment Routing IPv6 for mobile user-plane PoCs • https://tools.ietf.org/html/draft-camarillo-dmm-srv6-mobile-pocs-01 End.MAP -Endpoint function with SID mapping End.M.GTP6.D -Endpoint function with IPv6/GTP decapsulation into SR policy End.M.GTP6.E -Endpoint function with encapsulation for IPv6/GTP tunnel End.M.GTP4.E -Endpoint function with encapsulation for IPv4/GTP tunnel T.M.Tmap -Transit with tunnel decapsulation and map to an SRv6 policy End.Limit -Rate Limiting Function BRKSPG-3001 67
  • 68. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS IETF -Modes UPF (R)AN UE N9 DN UPF N3 N6 SRv6 Node SRv6 Node SRv6 Node SRv6 SRv6 Traditional Enhanced (Traffic Engineering, Service Programming) TE (R)AN UE N3 DN UPF N3 N6 SRv6 Node SRv6 Node SRv6 Node SRv6 SRv6 CNF N3 SRv6 SRv6 Node Enhanced with unchanged gNB (Interworking) UPF (R)AN UE N9 DN UPF N3 N6 SRv6 Gateway SRv6 Node SRv6 GTP BRKSPG-3001 68
  • 69. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 3GPP • 3GPP TR 29.892 • Study on User Plane Protocol in 5GC (R16) BRKSPG-3001 69
  • 70. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS 3GPP BRKSPG-3001 70
  • 71. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS GTP-U Conclusion • GTP is legacy protocol • GTP has significant overhead (especially for 5G with extension header) • GTP is load balancing unfriendly (can be used by using IPv6 + flow label) • We can encapsulate GTP into SRV6  • SRv6 can do the same as GTP • SRv6 provides natural link between Mobile and Transport BRKSPG-3001 71
  • 73. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Service Chaining Packets are steered through a sequence of services on their way to the destination. BRKSPG-3001 73
  • 74. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Service Chaining – traditional approach Packets are steered through a sequence of services on their way to the destination. • Services are placed on the traffic route • Static configurations • Traffic bottlenecks BRKSPG-3001 74
  • 75. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Service Chaining with NSH Packets are steered through a sequence of services on their way to the destination. • Dedicated encapsulation header • Per-chain state to be maintained at every hop (SFF) BRKSPG-3001 75
  • 76. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS • Services are expressed with segments • Flexible • Scalable • Stateless Service Chaining with SR Packets are steered through a sequence of services on their way to the destination. S1 S2 S3 D SR: 〈S1, S2, S3, D〉 BRKSPG-3001 76
  • 77. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS SRv6 service segments • SID instantiated on an SRv6 router / host connected to the service • Send with SRH to SRv6-capable device • Use proxy function to remove / hide SRH before sending to SRv6 unaware service • SID instantiated on an SRv6 aware service • Traffic processing depends on the SID e.g. • F1::10 → Firewall F1 with rule-set 10 • F1::20 → Firewall F1 with rule-set 20 BRKSPG-3001 77
  • 78. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Service segments in SR architecture Just another type of segment • Stateless in the fabric • Seamless integration with VPN and/or TE • Service is opaque to the head-end and intermediate nodes S1 S2 S3 D SR: 〈S1, C1, S2, S3, D〉 C1 BRKSPG-3001 78
  • 79. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Services • SR-Aware: Service is bound to an SR endpoint function • Processes all the traffic passing through the node or is triggered by a specific endpoint function • SR-UnAware: Service is not able to process SR traffic • Requires an SR proxy to operate properly S1 D SR: 〈S1, C1, S2, S3, D〉 C1 S2 S3 BRKSPG-3001 79
  • 81. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS SRH metadata carrier • Tag • 16-bit opaque field • Hardware friendly • “Poor man’s” metadata • TLVs • Flexible encoding and length • Designed for software processing 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type | Segments Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Last Entry | Flags | Tag | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[0] (128 bits IPv6 address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | ... | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[n] (128 bits IPv6 address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // // // Optional Type Length Value objects (variable) // // // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ BRKSPG-3001 81
  • 82. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS SRH opaque metadata TLV • Type: TBA • Length: 14 • Service Metadata: 14 octets of opaque data  Similar to NSH’s MD Type 1 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | Service Metadata | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ BRKSPG-3001 82
  • 83. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS VNF VPC All nodes in green are SRv6 capable Server 2 Server 1 Internet AWS Oregon AWS North Virginia AWS Ireland VPP VPC VPP VPC VPP IPv6 Hdr SA = A:1::, DA = B:2:A:: SR Hdr ( B:3:DC2::, B:2:A:: ) SL=1 IPv4 Hdr SA = 1.1.1.0, DA = 2.2.2.2 Payload IPv4 Hdr SA=1.1.1.0, DA=2.2.2.2 Payload IPv4 Hdr SA=1.1.1.0, DA=2.2.2.2 Payload IPv6 Hdr SA = A:2::, DA = B:3:DC2:: SR Hdr ( B:3:DC2:, B:2:A:: ) SL=0 IPv4 Hdr SA = 1.1.1.0, DA = 2.2.2.2 Payload Multi-cloud overlays • Interconnect cloud-based services • Different cloud regions • Different cloud providers • Plain IPv6 transit over the Internet BRKSPG-3001 83
  • 84. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Service Programming Conclusion • Current approach is inefficient • NSH is stateful hence not scalable • SRv6 is stateless • There are VNFs supporting SRv6 already • For legacy VNF we will use proxy functionality • TLVs allow to use metadata to carry additional information • SRv6 concept is ready for microservices • SRv6 excellent for cloud based application • Any function can be anywhere BRKSPG-3001 84
  • 86. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Locator Function Argument 1111 : 2222 : 3333 : 4444 : 5555 : 6666 : 7777 : 8888 r1 r2 IPv6 Network Locator A1::/64 Locator B2::/64 Function ::a Function ::b A1::/64 B2::/64 SRv6 Locator-Function Locator = Reachability= pure routing IGP or BGP or……. Function = Service provisioning BGP, Controller …. BRKSPG-3001 86
  • 87. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS r1 r2 IPv6 Network A Locator A:1::/64 Locator B:2::/64 SRv6 Scale IPv6 Network B r3 B:2::/64 A:1::/64 B::/16 A::/16 Unlike MPLS, no /32 nor /64 needed BRKSPG-3001 87
  • 88. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS r1 r2 IPv6 Network A1 Locator A:1:1::/64 Locator B:1:2::/64 SRv6 Massive Scale IPv6 Network A2 r3 A:1:4::/64 B::/16 ::/0 IPv6 Network B2 IPv6 Network B1 IPv6 Network C IPv6 Network D r4 Locator A:1:4::/64 r5 Locator A:2:1::/64 Locator C:0:1::/64 r6 A:2::/32 C::/16 B::/16 A::/16 D::/16 D::/16 BRKSPG-3001 88
  • 90. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS SRv6 Ecosystem 2018 ISIS SRv6 w/ TILFA (NfV ; END.AS) L3 Service (IPv4 L3VPN) SRv6 OAM (Ping/Trace) 2019 SRv6 for Internet (v4/v6, VPNv6) SRv6 Flex-Algo Multi-plane, Delay optimized L2 P2P Service (EVPN VPWS) SRv6/MPLS Gateway  END.AS  END.AD  END.ASM  END.AM Linux / FD.io Open-Source Applications Pyroute2 SERA NfV Partners Smart NIC BRKSPG-3001 90
  • 91. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS SRv6 Support ASR9000 XR 6.6.1 SRv6 Transport (ISIS) Service (IPv4 L3VPN) TILFA (ISIS) SRv6 OAM (Ping/Trace) NCS540 NCS5500 BRKSPG-3001 91
  • 92. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS • SRv6 is Here • It is ready for greenfield • It has wide opensource support • Massive Scale! • Stateless Service Chaining –Network Programming • Can Replace GTP BRKSPG-3001 92 Conclusion
  • 93. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS More IPv6 Sessions 93 BRKSPG-3001 When Session Title 10 June 2019/ 8:00 BRKRST-2619 IPv6 Deployment: Developing an IPv6 Addressing Plan and Developing IPv6 12 June / 8:00 BRKMPL-2132 Designing and deploying SRv6 networking 12 June / 13:00 BRKRST-3304 Hitchhiker's Guide to Troubleshooting IPv6 12 June / 8:00 BBRKRST-3122 Segment Routing: Technology Deep Dive and Advanced Use Cases LABRST-2261 IPv6 planning, deployment and transition LABSPG-1327 Introduction to Segment Routing v6 (SRv6) with IOS-XR
  • 94. Complete your online session evaluation • Please complete your session survey after each session. Your feedback is very important. • Complete a minimum of 4 session surveys and the Overall Conference survey (starting on Thursday) to receive your Cisco Live water bottle. • All surveys can be taken in the Cisco Live Mobile App or by logging in to the Session Catalog on ciscolive.cisco.com/us. Cisco Live sessions will be available for viewing on demand after the event at ciscolive.cisco.com. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS BRKSPG-3001 94
  • 95. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public #CLUS Continue your education 95 BRKSPG-3001 Related sessions Walk-in self-paced labs Demos in the Cisco campus Meet the engineer 1:1 meetings
  • 97. #CLUS