Table of Contents

Segment Routing v6 - SRv6

Segment Routing v6: Revolutionizing the Future of Networking

Introduction

The ever-evolving nature of the Internet has given rise to the need for more efficient and flexible routing mechanisms to meet increasing demands for quality and high-performance connectivity. Segment Routing (SR) has emerged as a powerful solution, delivering the benefits of scalability, reduced complexity, and improved traffic engineering. With the growing adoption of IPv6, Segment Routing v6 (SRv6) has further solidified its place as a game-changer in modern networking.

In this article, we will delve deep into SRv6, examining its core concepts, architecture, advantages, use cases, and the future of networking it enables.

  1. The Fundamentals of Segment Routing

Segment Routing is a source routing paradigm that uses the concept of segments to define the forwarding path of a packet. A segment is a representation of a topological or functional subpath of a packet's route. The segment list, which is an ordered list of segments, is embedded in the packet's header, specifying the exact path the packet should follow through the network.

There are two primary implementations of Segment Routing:

  • SR-MPLS: Segment Routing with Multi-Protocol Label Switching
  • SRv6: Segment Routing with IPv6
  1. Segment Routing v6 (SRv6) Architecture

SRv6 is a powerful extension of the Segment Routing paradigm that leverages the IPv6 address space to encode the segment list directly in the IPv6 header. It takes advantage of IPv6's large address space, allowing the encoding of complex paths and functions in a compact and efficient manner.

SRv6 introduces the concept of Segment Routing Header (SRH), which is an optional IPv6 extension header. The SRH contains the segment list, along with other necessary information such as segment list length, active segment, and optional TLVs (Type-Length-Value).

SRv6 Network Programming

SRv6 network programming is a significant innovation in the SRv6 architecture. It provides a framework for encoding a sequence of network instructions (functions) in the segment list. These instructions dictate how a packet is to be processed as it traverses the network, enabling advanced traffic engineering, service chaining, and other complex network functions.

SRv6 network programming uses a combination of endpoint functions and transit functions:

  • Endpoint Functions (SIDs): These are performed by the endpoint node of a segment.
  • Transit Functions: These are performed by the transit nodes as the packet traverses the network.
  1. Advantages of SRv6

SRv6 brings a plethora of benefits to the networking world, including:

  • Simplification: SRv6 simplifies the network architecture by reducing the need for multiple control planes and overlay technologies.
  • Scalability: SRv6's efficient use of the IPv6 address space enables the encoding of complex paths and functions, providing unparalleled scalability.
  • Traffic Engineering: SRv6 offers advanced traffic engineering capabilities, allowing for better path selection, load balancing, and resource optimization.
  • Service Chaining: SRv6 network programming enables seamless service chaining, facilitating the integration of various network services in a single path.
  • Enhanced Security: SRv6 provides improved security features by supporting end-to-end encryption and allowing the implementation of security policies at the network layer.
  1. SRv6 Use Cases

SRv6 has a wide range of applications in modern networking, including:

  • Data Center Interconnect (DCI): SRv6 enables efficient interconnection of data centers, providing improved traffic engineering and load balancing.
  • 5G Networks: SRv6 plays a critical role in 5G networks, delivering the required flexibility, scalability, and traffic engineering capabilities.
  • VPN Services: SRv6 allows the creation of advanced VPN services with enhanced security, traffic

SRv6 vs. SR-MPLS 

The two primary implementations of Segment Routing are SR-MPLS (Segment Routing with Multi-Protocol Label Switching) and SRv6 (Segment Routing with IPv6). Both implementations offer unique advantages, but they also differ in key aspects. This article provides a detailed comparison of SRv6 and SR-MPLS to help you understand the fundamental differences, strengths, and weaknesses of each approach.

  1. Overview of SR-MPLS and SRv6

SR-MPLS is an implementation of Segment Routing that leverages the MPLS data plane to forward packets based on label-switched paths (LSPs). In SR-MPLS, segments are represented by MPLS labels, and the segment list is encoded in the MPLS label stack.

SRv6, on the other hand, is an IPv6-based implementation of Segment Routing that utilizes the large IPv6 address space to encode the segment list directly in the IPv6 header. SRv6 introduces a new IPv6 extension header, the Segment Routing Header (SRH), which contains the segment list and other necessary information.

  1. Addressing and Encapsulation

The most significant difference between SR-MPLS and SRv6 lies in their addressing and encapsulation mechanisms.

In SR-MPLS, segments are represented by MPLS labels (20-bit identifiers), which are pushed onto the MPLS label stack. The size of the MPLS label stack grows linearly with the number of segments in the segment list, increasing the packet overhead.

SRv6, however, leverages the large IPv6 address space (128-bit addresses) to encode the segment list in the IPv6 header. The SRH contains the segment list and can be of variable length depending on the number of segments. Although IPv6 headers are larger than MPLS labels, SRv6 provides more flexibility in encoding complex paths and network functions, thanks to the vast IPv6 address space.

  1. Network Programming and Functions

Both SR-MPLS and SRv6 support network programming, which enables the encoding of a sequence of network instructions (functions) in the segment list. However, SRv6 offers more flexibility and extensibility in network programming due to the large IPv6 address space and the use of the SRH.

SR-MPLS relies on the MPLS label stack and can become complex when implementing advanced network functions. In contrast, SRv6's network programming model provides a more versatile framework for encoding and executing complex network functions at each segment endpoint.

  1. Traffic Engineering and Scalability

Both SR-MPLS and SRv6 offer advanced traffic engineering capabilities, allowing for better path selection, load balancing, and resource optimization. However, SRv6 has an edge in terms of scalability due to the efficient use of the IPv6 address space.

SR-MPLS, while effective in smaller networks, can face scalability challenges in large-scale deployments, primarily because of the limited MPLS label space. SRv6, on the other hand, is better suited for large-scale deployments and can accommodate more complex topologies and network functions with ease.

  1. Interoperability and Transition

In terms of interoperability and transition, SR-MPLS has an advantage since it can be deployed as an extension to existing MPLS networks without significant changes to the underlying infrastructure. This makes SR-MPLS an attractive option for operators looking to evolve their MPLS networks gradually.

SRv6, however, requires the deployment of IPv6, which may not be feasible for all network operators, especially those with a significant investment in legacy IPv4/MPL

Created by
Orhan Ergun

Orhan Ergun, CCIE/CCDE Trainer, Author of Many Networking Books, Network Design Advisor, and Cisco Champion 2019/2020/2021

He created OrhanErgun.Net 10 years ago and has been serving the IT industry with his renowned and awarded training.

Wrote many books, mostly on Network Design, joined many IETF RFCs, gave Public talks at many Forums, and mentored thousands of his students.  

Today, with his carefully selected instructors, OrhanErgun.Net is providing IT courses to tens of thousands of IT engineers. 

View profile