Introduction To Segment Routing
Introduction To Segment Routing
With segment routing, the network no longer needs to maintain a per-application and per-flow state. Instead,
it obeys the forwarding instructions provided in the packet.
Segment Routing relies on a small number of extensions to Cisco Intermediate System-to-Intermediate System
(IS-IS) and Open Shortest Path First (OSPF) protocols. It can operate with an MPLS (Multiprotocol Label
Switching) or an IPv6 data plane, and it integrates with the rich multi service capabilities of MPLS, including
Layer 3 VPN (L3VPN), Virtual Private Wire Service (VPWS), Virtual Private LAN Service (VPLS), and
Ethernet VPN (EVPN).
Segment routing can be directly applied to the Multiprotocol Label Switching (MPLS) architecture with no
change in the forwarding plane. Segment routing utilizes the network bandwidth more effectively than
traditional MPLS networks and offers lower latency. A segment is encoded as an MPLS label. An ordered
list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. The related
label is popped from the stack, after the completion of a segment.
Segment routing can be applied to the IPv6 architecture with a new type of routing extension header. A
segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6
addresses in the routing extension header. The segment to process is indicated by a pointer in the routing
extension header. The pointer is incremented, after the completion of a segment.
Segment Routing provides automatic traffic protection without any topological restrictions. The network
protects traffic against link and node failures without requiring additional signaling in the network. Existing
IP fast re-route (FRR) technology, in combination with the explicit routing capabilities in Segment Routing
guarantees full protection coverage with optimum backup paths. Traffic protection does not impose any
additional signaling requirements.
In the previous example, any router sending traffic to router E would push label 103 (router E node segment
identifier) to forward traffic using the IS-IS shortest path. The MPLS label-swapping operation at each hop
preserves label 103 until the packet arrives at E (Figure 2). On the other hand, adjacency segments behave
differently. For example, if a packet arrives at Router D with a top-of-stack MPLS label of 203 (D-to-E
adjacency segment identifier), Router D would pop the label and forward the traffic to Router E.
Segment identifiers can be combined as an ordered list to perform traffic engineering. A segment list can
contain several adjacency segments, several node segments, or a combination of both depending on the
forwarding requirements. In the previous example, Router A could alternatively push label stack (104, 203)
to reach Router E using the shortest path and all applicable ECMPs to Router D and then through an explicit
interface onto the destination (Figure 3). Router A does not need to signal the new path, and the state information
remains constant in the network. Router A ultimately enforces a forwarding policy that determines which
flows destined to router E are switched through a particular path.
stack, to the requesting router. At that point, the router can inject traffic with the segment list without
any additional signaling in the network.
In addition, segment lists allow complete network virtualization without adding any application state to
the network. The state is encoded in the packet as a list of segments. Because the network only maintains
segment state, it can support a large number - and a higher frequency - of transaction-based application
requests without creating any burden on the network.
Simplified
When applied to the MPLS data plane, Segment Routing offers the ability to tunnel MPLS services
(VPN, VPLS, and VPWS) from an ingress provider edge to an egress provider edge without any
other protocol than an IGP (ISIS or OSPF).
Simpler operation without separate protocols for label distribution (for example, no LDP or RSVP).
No complex LDP or IGP synchronization to troubleshoot.
Better utilization of installed infrastructure, for lower capital expenditures (CapEx), with
ECMP-aware shortest path forwarding (using node segment IDs).
Supports Fast Reroute (FRR) Deliver automated FRR for any topology. In case of link or node
failures in a network, MPLS uses the FRR mechanism for convergence. With segment routing, the
convergence time is sub-50-msec.
Large-scale Data Center-
Segment Routing simplifies MPLS-enabled data center designs using Border Gateway Protocol
(BGP) RFC 3107 - IPv4 labeled unicast among Top-of-the-Rack/Leaf/Spine switches.
BGP distributes the node segment ID, equivalent to IGP node SID.
Any node within the topology allocates the same BGP segment for the same switch.
The same benefits are provided as for IGP node SID: ECMP and automated FRR (BGP PIC(Prefix
Independent Convergence).
This is a building block for traffic engineering - SR TE data center fabric optimization.
Scalable
Dual-plane Networks
Segment Routing provides a simple solution for disjointness enforcement within a so-called
dual-plane network, where the route to an edge destination from a given plane stays within the
plane unless the plane is partitioned.
An additional SID anycast segment ID allows the expression of macro policies such as: "Flow
1 injected in node A toward node Z must go via plane 1" and "Flow 2 injected in node A towards
node Z must go via plane 2."
Plug-and-Play deployment Segment routing tunnels are interoperable with existing MPLS control
and data planes and can be implemented in an existing deployment.
The SRGB default value is 16000 to 23999. The SRGB can be configured as follows:
Device(config)# router isis 1
Device(config-isis)#segment-routing global-block 45000 55000
The SRGB label value is calculated as follows:
If the platform supports 1000000 labels or more, the SRGB value is from 900000 to 900000 + 2^16.
If the platform supports less than 1000000 labels, the SRGB value is the last 2^16 labels.
Restrictions:
The SRGB size cannot be more than 2^16.
The SRGB upper bound cannot exceed the platform capability.
The SRGB cannot be configured to be the same value as the default SRGB. So SRGB cannot be
configured for 16000 to 23999.
When a prefix SID value x is configured, the prefix SID translates to a label value equivalent to x + lower
boundary of SRGB. For example, in the platform supporting 1000000 MPLS labels or more if the default
SRGB is used, configuring a prefix-SID of 10 for interface Loopback 0 with IPv4 address 1.0.0.1/32 results
in assigning the label 9000010 16010 to the prefix 1.0.0.1/32.
BGP Prefix Segment Identifiers
Segments associated with a BGP prefix are known as BGP Prefix-SIDs.
BGP Prefix-SIDs are always global within a Segment Routing or BGP domain
BGP Prefix-SIDs identifies an instruction to forward the packet over ECMP-aware best path computed
by BGP for a given prefix
Segment Routing requires BGP speaker to be configured with a Segment Routing Global block (SRGB).
Generally, SRGB is configured as a range of labels, SRGB = [SR_S, SR_E].
SR_S = Start of the range
SR_E = End of the range