Segment Routing
Segment Routing
▪ Cisco ISO-XE and XR provide the Segment Routing feature.
▪ Simple to deploy and operate
o Leverage MPLS services and hardware
o Straightforward ISIS/OSPF extension to distribute Labels
o LDP/RSVP not required
▪ Provide for optimum scalability, resiliency and virtualization
▪ SDN enabled
o Simple network, highly programmable
o Highly responsive
▪ A method of forwarding packets based on source routing where the routing path is encoded in
the packet header as an ordered list of segments.
Segment Routing function
▪ Use Segment ID (Segment = Label)
▪ Forwarding data plane: MPLS(SR) and IPv6(SR6)
▪ LDP and RSVP-TE are not required
▪ Segment ID use and send by OSPF, IS-IS and BGP extension
Simple Segment Routing
Segment Routing TE
Segment Routing Control Plane, Data Plane and Paths options
Segment routing Data Plane
▪ MPLS: an ordered list of segments is represented as stack of labels
▪ IPv6: an ordered list of segments is encoded in a routing extension header
Segment in SR
• IGP Segments
o IGP Prefix Segment
o IGP Adjacency Segment
• BGP Segments
o BGP Prefix Segment
o BGP Peering Segment
IGP Segment Routing ID
Label range [0-15] reserved for special-purposes
Label range [16-15,999] reserved for static MPLS labels
Label range [16,000-23,999] preserved for Segment Routing Global Block (SRGB)
Label range [24,000 - max] used for dynamic label allocation
IGP Segments
IGP Prefix Segment (Node-SID)
• Manually configure
• Shortest-path to the IGP prefix
o Equal Cost Multipath (ECMP)-aware
• Global Unique Segment
o [Label Range 16000-23999] preserved for SRGB
o Label = 16000 + Index
o Advertised as index
• Distributed by ISIS/OSPF
Adjacency Segment
• Manually or Auto Assign
• A local label and forward on the IGP adjacency
• Adjacency segment represent a specific datalink to an adjacent node
“Segment routing Lab”
1. Assign the IP address at Cisco XRV’s interfaces and loopback
interface Loopback0
ipv4 address x.x.x.x/32
interface GigabitEthernet0/0/0/x
ipv4 address x.x.x.x/24
2. Enable the OSPF protocol at XRV’s routers
router ospf 1
area 0
interface Loopback0
interface GigabitEthernet0/0/0/x
interface GigabitEthernet0/0/0/x
Verification:
3. Enable the Segment Routing at XRV’s routers
mpls traffic-eng
router ospf 1
segment-routing global-block 16000 23999
segment-routing mpls
segment-routing forwarding mpls
mpls traffic-eng router-id Loopback0
area 0
mpls traffic-eng
interface Loopback0
prefix-sid absolute 1600x
commit
Verification:
#show mpls label range
#show mpls label table detail
#show mpls forwarding
#show ospf database opaque-area self-originate
#show cef
#show mpls forwarding labels 16006 detail
Fina Result:
“Segment routing – SR TE Lab”
1. Create the SR-TE tunnel
explicit-path name SR-TE-PATH-1
index 1 next-address strict ipv4 unicast [Link]
index 2 next-address strict ipv4 unicast [Link]
index 3 next-address strict ipv4 unicast [Link]
index 4 next-address strict ipv4 unicast [Link]
index 5 next-address strict ipv4 unicast [Link]
interface Loopback0
interface tunnel-te0
ipv4 unnumbered Loopback0
destination [Link]
path-option 1 explicit name SR-TE-PATH-1 segment-routing
2. For tunnel ping test, create another loopback at XRV1 and XRV6
XRV1
interface Loopback1
ipv4 address [Link] [Link]
XRV6
interface Loopback1
ipv4 address [Link] [Link]
3. Static route at XRV1
router static
address-family ipv4 unicast
[Link]/32 tunnel-te0
Verification
At XRV1(push):
At XRV2 (continuous):
At XRV3 (continuous):
At XRV4 (continuous):
At XRV5 (Pop):
Final Result: