In last week’s blog, we introduced Segment Routing (SR) as an innovative traffic steering mechanism. We also introduced SR domains, policies, paths and segments. This week, we will explore them further.

A thorough understanding of these topics will help you understand next week’s blog, in which we describe how SR can be realized using an MPLS forwarding plane. It will also help you to understand the subsequent week’s blog, where we will explain how SR supports traffic engineering applications.

**Overview**

When a packet arrives at an SR ingress node, the ingress node subjects the packet to policy. Policy can associate a packet with an SR path.

An SR path is an ordered list of segments that connects an SR ingress node to an SR egress node. While an SR path can follow the least cost path from ingress to egress, it can also follow another path.

An SR *segment *is an *instruction *that causes a packet to traverse a section of the network topology. While a segment (i.e., an instruction) causes a packet to traverse a section of the network topology, it is distinct from that section of the network topology.

**Segment Types**

SR defines many SR segment types. Among these are the adjacency and prefix segments. An adjacency segment is an instruction that causes a packet to traverse a specified link (i.e., a link that is associated with an IGP adjacency).

Figure 1 depicts an SR path that connects R1 to R6. The path contains the following adjacency segments:

- Segment 1, instantiated on R1, causes packets to traverse Link R1->R2
- Segment 2, Instantiated on R2, causes packets to traverse Link R2->R3
- Segment 3, instantiated on R3, causes packets to traverse Link R3->R6

If any of the above-mentioned links becomes unavailable, so does the associated adjacency segment. And if any of the above-mentioned adjacency segments becomes unavailable, so does the entire path.

A *prefix segment* is an instruction that causes a packet to traverse the least cost path to a node or prefix.

In Figure 2, all links are configured with the same IGP metric. An SR path connects R1 to R6 and contains the following prefix segments:

- Segment 1, instantiated on R1, causes packets to traverse the least cost path from R1 to R2
- Segment 2, instantiated on R2 and R3, causes packets to traverse the least cost path from the instantiating node to R6

When Link R1->R2 is available, the least cost path from R1 to R2 traverses Link R1->R2. Therefore, Segment 1 causes packets to traverse Link R1->R2.

Likewise, when Link R2->R3 and Link R3->R6 are available, the least cost path from R2 to R6 traverses Link R2->R3 and Link R3->R6. Therefore, Segment 2 causes packets to traverse Link R2->R3 and Link R3->R6.

And finally, when the above-mentioned links are all available, the SR path guides packets through the above-mentioned links and segments.

Figure 3 depicts path behavior when Link R1->R2 becomes unavailable. When this occurs, the network establishes a new least cost path between R1 and R2. This new least cost path includes Links R1->R4, and R4->R2.

Because the network has established a new least cost path between R1 and R2, Segment 1 remains available and causes packets to traverse the new least cost path. Segment 2 behavior is unchanged, causing packets to traverse Links R2->R3 and R3->R6.

Therefore, the path now traverses Links R1->R4, R4->R2, R2->R3 and R3->R6.

**Summary**

In this blog, we reinforced the following concepts:

- An SR path is an ordered list of segments
- A segment is an instruction
- SR defines many segment types, including the adjacency and prefix segments
- Some segment types (e.g., the prefix segment) invoke more dynamic behaviors than others, and therefore, that a segment is distinct from the portion of the topology that it causes a packet to traverse

**Next Installment**

In next week’s blog, we will describe how Segment Routing is realized using an MPLS forwarding plane.