{"id":17439,"date":"2026-10-15T17:54:32","date_gmt":"2026-10-15T17:54:32","guid":{"rendered":"https:\/\/dmsretail.com\/RetailNews\/segment-routing-fundamentals-from-mpls-to-srv6\/"},"modified":"2026-10-15T17:54:32","modified_gmt":"2026-10-15T17:54:32","slug":"segment-routing-fundamentals-from-mpls-to-srv6","status":"publish","type":"post","link":"https:\/\/dmsretail.com\/RetailNews\/segment-routing-fundamentals-from-mpls-to-srv6\/","title":{"rendered":"Segment Routing Fundamentals: From MPLS to SRv6"},"content":{"rendered":"<p> <p><a href=\"https:\/\/dmsretail.com\/online-workshops-list\/\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-496\" src=\"https:\/\/dmsretail.com\/RetailNews\/wp-content\/uploads\/2022\/05\/RETAIL-ONLINE-TRAINING-728-X-90.png\" alt=\"Retail Online Training\" width=\"729\" height=\"91\" srcset=\"https:\/\/dmsretail.com\/RetailNews\/wp-content\/uploads\/2022\/05\/RETAIL-ONLINE-TRAINING-728-X-90.png 729w, https:\/\/dmsretail.com\/RetailNews\/wp-content\/uploads\/2022\/05\/RETAIL-ONLINE-TRAINING-728-X-90-300x37.png 300w\" sizes=\"auto, (max-width: 729px) 100vw, 729px\" \/><\/a><\/p><br \/>\n<\/p>\n<div>\n<h2>Understanding the basics of segment routing<\/h2>\n<p>This blog aims to take you on a journey through some fundamental concepts of Segment Routing, highlighting the most important features and looking behind the scenes at the technical implementation.<\/p>\n<h3>How segment routing works<\/h3>\n<p>You might ask, \u201cWhat on earth is a <em>segment<\/em>?\u201d<\/p>\n<p>The answer is simple; a segment is a path in a network from one node to another. To distinguish between multiple segments, each segment is assigned a segment ID (SID).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden aligncenter wp-image-498630 use-lightbox\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture1a.png\" alt=\"\" width=\"504\" height=\"240\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-498630 use-lightbox\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture1a.png\" alt=\"\" width=\"504\" height=\"240\"\/><\/noscript><\/p>\n<p>If this sounds a bit abstract, remember that Segment Routing is a packet-switching <em>concept<\/em> whose fundamental principle is to route packets through the network via a sequence of segments. The packets thus include a list of SIDs in the correct order, and once a packet has completed a segment, the SID is removed from the list.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden aligncenter wp-image-498631 use-lightbox\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture1b.png\" alt=\"\" width=\"795\" height=\"315\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-498631 use-lightbox\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture1b.png\" alt=\"\" width=\"795\" height=\"315\"\/><\/noscript><\/p>\n<p>If you\u2019re wondering what type of network we\u2019re talking about and where such a segment runs, don\u2019t worry! Industry standards provide precise definitions of segments that clarify this. Read on to learn more about the format of the segment ID and implementation of the SID list.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden aligncenter wp-image-498633 use-lightbox\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture2a.png\" alt=\"\" width=\"438\" height=\"239\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-498633 use-lightbox\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture2a.png\" alt=\"\" width=\"438\" height=\"239\"\/><\/noscript><\/p>\n<h2>Comparing data planes: SR MPLS vs. SRv6<\/h2>\n<p>Historically, segment routing was implemented over MPLS networks, where label-based operation seemed ideal for meeting segment routing requirements. Now, these SR MPLS labels are used as SIDs. The SID list attaches to the packets as a label stack. It\u2019s that easy with MPLS!<\/p>\n<p>It was later clear that IPv6 networks could also implement Segment Routing. In this case, specially formatted IPv6 addresses serve as SIDs, and the SID list is included with packets in what was called the Routing Extension Header but was promptly renamed the Segment Routing Header. The packet\u2019s current SID serves as the IPv6 destination address.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden aligncenter wp-image-498634 use-lightbox\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture2b.png\" alt=\"\" width=\"504\" height=\"240\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-498634 use-lightbox\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture2b.png\" alt=\"\" width=\"504\" height=\"240\"\/><\/noscript><\/p>\n<h3>Why SRv6 is gaining traction<\/h3>\n<p>Eventually, the IPv6-based implementation was simply dubbed \u201cSRv6,\u201d since a comparison between the two showed that SRv6 requirements were less demanding.<\/p>\n<p>You only need IPv6 routing, which even simple routers and switches can handle. SR MPLS, on the other hand, requires end-to-end label switching, supported only by carrier-grade routers, which are not cheap but offer high performance.<\/p>\n<p>The bottom line\u2014SRv6\u2019s lower requirements enable larger network construction than SR MPLS networks allow. So it\u2019s now easier to set up end-to-end services that use an SRv6 network as a data plane, resulting in a noticeable trend toward IPv6. Now we must face the unpopular topic of migration. But more on that later!<\/p>\n<h2>Advanced traffic engineering with segment routing<\/h2>\n<p><span>From my experience teaching many Segment Routing courses, I<\/span>\u2019<span>ve found that participants often initially see it as mysterious<\/span>\u2014<span>even a little magical<\/span>\u2014<span>how the network decides, at the entry point, which segments a packet should follow and which SID list to attach.<\/span><\/p>\n<p>Many people think some new kind of intelligence\u2014maybe even artificial intelligence\u2014has been added to the network.<\/p>\n<p>What is actually being used here is a tried-and-true method that\u2019s been available since the beginning of MPLS networking: traffic engineering, which is now used within the context of Segment Routing\u2019s data-forwarding concept.<\/p>\n<p>It works in two steps. First, the network calculates the best path to a destination based on limits and optimization goals. Second, it attaches a matching SID list to the packet to guide it precisely along this calculated path through the network.<\/p>\n<p>You\u2019ll rightly hear in many Cisco presentations, \u201cThe path is encoded in the packet!\u201d That path gives traffic engineering a major advantage over the traditional approach using RSVP-TE, which leaves a lot of state in the network (data that routers must store). So they scale poorly.<\/p>\n<p>Traffic engineering with Segment Routing requires no additional state in the network because the state is carried in the packet as a SID list. So are we witnessing a renaissance of traffic engineering with Segment Routing? Not necessarily; there\u2019s still administrative overhead to manage.<\/p>\n<p>When push comes to shove, such an SID list for traffic engineering can also be created manually. However, the administrator must really know their network (part of the administrative effort needed in traffic engineering)!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden aligncenter wp-image-498635 use-lightbox\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture3.png\" alt=\"\" width=\"630\" height=\"594\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-498635 use-lightbox\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture3.png\" alt=\"\" width=\"630\" height=\"594\"\/><\/noscript><\/p>\n<h3>Implementing topology independent loop-free alternate (TI-LFA)<\/h3>\n<p>Amid all this enthusiasm for Segment Routing, we mustn\u2019t overlook another key feature: Topology Independent Loop-Free Alternate (TI-LFA). This feature also benefits from Segment Routing\u2019s stateless approach: it uses a list of SIDs to route packets along a loop-free alternate path that is calculated in advance.<\/p>\n<p>What makes it special is that, with Segment Routing, it works in any topology\u2014hence the term \u201ctopology independent.\u201d<\/p>\n<p>This capability existed even before Segment Routing, based on classic MPLS protocols or simply basic routing. However, those solutions were not topology-independent. In fact, TI-LFA has become best practice in production Segment Routing networks.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden use-lightbox aligncenter wp-image-498636 \" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture4.png\" alt=\"\" width=\"607\" height=\"200\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"use-lightbox aligncenter wp-image-498636 \" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture4.png\" alt=\"\" width=\"607\" height=\"200\"\/><\/noscript><\/p>\n<p>Both Traffic Engineering and TI-LFA attach a SID list to packets to route them through a specific sequence of segments.<\/p>\n<h2>Key components of the SR architecture<\/h2>\n<p>This brings us back to a question that needs an answer: How exactly is a segment defined, and who or what determines its path through the network?<\/p>\n<p>You\u2019ll notice that the mentioned use cases for Segment Routing\u2014traffic engineering and TI-LFA\u2014were defined independently of the specific implementation (i.e., SR MPLS or SRv6), which means they are possible with both.<\/p>\n<p>The same applies to the two most important segment definitions:<\/p>\n<ul>\n<li>IGP Prefix Segment<\/li>\n<li>Adjacency Segment<\/li>\n<\/ul>\n<h3>Understanding IGP prefix segments<\/h3>\n<p>The IGP Prefix Segment refers to an Interior Gateway Protocol (IGP).<\/p>\n<p>This is an umbrella term for protocols such as IS-IS or OSPF. What they have in common is that they operate on a topology-based basis; in technical circles, they are also referred to as Link State Protocols. This is essential for Segment Routing, as link-related information must be advertised throughout the network. And this applies equally to SR MPLS and SRv6.<\/p>\n<p>What is the main task of the IGP? The answer is simple! It is designed to calculate the best path to all IPv4 and IPv6 addresses on the network.<\/p>\n<p>This calculation is based on abstract costs assigned to each interface. The result is the so-called least-cost path, where the sum of the costs is minimal. This is precisely what the definition of the IGP prefix segment is based on: the least-cost path to a prefix routed by the IGP.<\/p>\n<p>In SR MPLS, this is always an IPv4 prefix, whereas SRv6 uses IPv6 prefixes. For those familiar with the subject, the prefix used in this context is typically an IPv4 or IPv6 loopback address, such as 1.1.1.1\/32 or fcaa:aa00::1\/128. This makes it easy for the BGP control plane for Layer 3 or Layer 2 services to access the Segment Routing data plane.<\/p>\n<p>The simplest possible Segment Routing network uses only IGP prefix segments and thus behaves similarly to a classic MPLS network that uses LDP to dynamically establish Label-Switched Paths.<\/p>\n<p>It\u2019s valid to ask whether Segment Routing is beneficial at all in this case. The packets travel along the same paths as before. Fortunately, that is indeed the case. Network operations are grateful that the label does not change along the segment, and TI-LFA can be used to protect the path.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden use-lightbox aligncenter wp-image-498637 size-medium\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture5.png\" alt=\"\" width=\"580\" height=\"496\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"use-lightbox aligncenter wp-image-498637 size-medium\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture5.png\" alt=\"\" width=\"580\" height=\"496\"\/><\/noscript><\/p>\n<p>For SRv6, these arguments also hold true with almost no changes. In any case, everything is simpler because packets are routed along the IGP prefix segment solely based on IPv6 routing decisions, and it is inherent to the nature of routing that the IPv6 destination address\u2014in the case of SRv6, the SID of the IGP prefix segment\u2014does not change.<\/p>\n<h3>Utilizing adjacency segments for granular control<\/h3>\n<p>Following these in-depth reflections on the IGP prefix segment, let\u2019s look at the adjacency segment, which addresses the shortest possible segment in a network\u2014a link between two routers. It doesn\u2019t get any shorter than that.<\/p>\n<p>The term \u201cadjacency\u201d alludes to the fact that its very definition is based on IGP adjacencies. In most backbones, however, these coincide with the physical links, so this simplified approach is entirely justified.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden use-lightbox aligncenter wp-image-498638 size-large\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture_Page6.png\" alt=\"\" width=\"762\" height=\"540\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"use-lightbox aligncenter wp-image-498638 size-large\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture_Page6.png\" alt=\"\" width=\"762\" height=\"540\"\/><\/noscript><\/p>\n<p>An adjacency segment has a SID, the adjacency SID. Packets arriving at a router with this SID are forced onto the link to which the adjacency SID has been assigned. In Segment Routing circles, this is known as a SID with local scope. But what is the adjacency segment good for? Where can it demonstrate its potential?<\/p>\n<p>Two important use cases we\u2019ve already covered demonstrate the need to force traffic over a link that would not otherwise do so.<\/p>\n<div class=\"conv-body\" id=\"convBody\" aria-live=\"polite\">\n<div class=\"conv-ai\">\n<p><h2>The future of segment routing<\/h2>\n<\/p>\n<\/div>\n<\/div>\n<p>Despite all the complexity that Segment Routing reveals behind the scenes, we must never lose sight of why we\u2019re doing all this in the first place.<\/p>\n<p>Segment Routing is designed to handle data transport for Layer 3 and Layer 2 VPN services. Experts refer to this as the data plane, while the control plane of these services (at least in most cases today) is based on BGP.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"lazy lazy-hidden use-lightbox aligncenter wp-image-498639 size-large\" data-lazy-type=\"image\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture_Page7.png\" alt=\"\" width=\"708\" height=\"606\"\/><noscript><img loading=\"lazy\" decoding=\"async\" class=\"use-lightbox aligncenter wp-image-498639 size-large\" src=\"https:\/\/blogs.cisco.com\/gcs\/ciscoblogs\/1\/2026\/10\/Picture_Page7.png\" alt=\"\" width=\"708\" height=\"606\"\/><\/noscript><\/p>\n<p>There is still much more to discover in the world of Segment Routing. We\u2019ve explored Segment Routing primarily at an abstract level and from an MPLS perspective. In the second part of the blog, we\u2019ll shift our focus toward SRv6 and take a closer look behind the scenes.<\/p>\n<\/div>\n<p><p><a href=\"https:\/\/dmsretail.com\/online-workshops-list\/\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-496\" src=\"https:\/\/dmsretail.com\/RetailNews\/wp-content\/uploads\/2022\/05\/RETAIL-ONLINE-TRAINING-728-X-90.png\" alt=\"Retail Online Training\" width=\"729\" height=\"91\" srcset=\"https:\/\/dmsretail.com\/RetailNews\/wp-content\/uploads\/2022\/05\/RETAIL-ONLINE-TRAINING-728-X-90.png 729w, https:\/\/dmsretail.com\/RetailNews\/wp-content\/uploads\/2022\/05\/RETAIL-ONLINE-TRAINING-728-X-90-300x37.png 300w\" sizes=\"auto, (max-width: 729px) 100vw, 729px\" \/><\/a><\/p><br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Understanding the basics of segment routing This blog aims to take you on a journey through some fundamental concepts of Segment Routing, highlighting the most [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":17440,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-17439","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/dmsretail.com\/RetailNews\/wp-json\/wp\/v2\/posts\/17439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dmsretail.com\/RetailNews\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dmsretail.com\/RetailNews\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dmsretail.com\/RetailNews\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dmsretail.com\/RetailNews\/wp-json\/wp\/v2\/comments?post=17439"}],"version-history":[{"count":0,"href":"https:\/\/dmsretail.com\/RetailNews\/wp-json\/wp\/v2\/posts\/17439\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dmsretail.com\/RetailNews\/wp-json\/wp\/v2\/media\/17440"}],"wp:attachment":[{"href":"https:\/\/dmsretail.com\/RetailNews\/wp-json\/wp\/v2\/media?parent=17439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dmsretail.com\/RetailNews\/wp-json\/wp\/v2\/categories?post=17439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dmsretail.com\/RetailNews\/wp-json\/wp\/v2\/tags?post=17439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}