Revolutionizing Network Programmability: Navigating the Three-Dimensional Realm with SRv6 Mastery

Introduction

The intricacies embedded in SRv6 breathe new life into the importance of SIDs, extending their role beyond mere representations of paths and various service types. SRv6 SIDs, at their core, act as catalysts, amplifying the flexibility and intelligence of network programmability. A crucial aspect of this advancement lies in the collaborative support from IGP and BGP Extensions designed for SRv6, which introduce a variety of Type-Length-Value (TLV) mechanisms. These extensions play a pivotal role in seamlessly transmitting diverse SID information, adding a layer of adaptability and richness to SRv6. In essence, SRv6 becomes a dynamic player in the ever-changing realm of network architecture, evolving with the demands of modern networking paradigms.

Three-dimensional programming space

Flexibility in Path Programming: SRV6 SIDs exhibits a dynamic combinatory capability for path programming. When confronted with a service requisition, the controller promptly addresses the need, defining a forwarding path in response. This methodology aligns seamlessly with the Software-Defined Networking (SDN) paradigm. For instance, consider the scenario where company A necessitates provisioning services for company B within a month, demanding extensive data exchange. Instantaneous bandwidth assurance becomes imperative. Traditional service provisioning, reliant on collaborative efforts across multiple departments, often takes months to conclude, leading to missed deadlines. In contrast, SRv6 path programming empowers the carrier’s controller to swiftly respond to the company’s needs, compute Service Level Agreement (SLA)-compliant service paths, and expeditiously fulfil service provisioning requirements. Moreover, the carrier can efficiently dismantle relevant connections post the one-month period to release network resources.

Definition of Function and Arguments Fields: The Function field is presently definable by device vendors, with future provisions for user customization. For instance, a device vendor might instruct a SRv6 egress to route a received data packet to a Virtual Private Network (VPN) instance, while a user might instruct an SRv6 node to forward a received data packet to a specific application. Linux’s compatibility with SRv6 ensures that diverse functions can be defined in the future, fostering a range of new services based on Linux.

Augmentation through SRH: The Segment Routing Header (SRH) incorporates optional Type-Length-Value (TLV) fields to further delineate functions. An example includes carrying the In-situ Flow Information Telemetry (iFIT) instruction header.

SRv6 packet

Implementation of SRv6 through Protocol Extensions

To support SRv6, network nodes must disseminate two types of crucial information:

Locator Information: This enables nodes on the network to locate the advertising node of a SID, facilitating the execution of instructions bound to the SID. Intra-area locator information is typically propagated through Interior Gateway Protocol (IGP) extensions.

SID Information: This fully describes the functions associated with SIDs, including behaviours tied to them. Path SIDs and service SIDs, both globally visible and locally effective, are classified into path SIDs (describing nodes or links) and service SIDs (intimately linked to routing information). Paths SIDs are disseminated through IGP extensions, while service SIDs are typically advertised via Border Gateway Protocol (BGP) extensions within BGP Update messages.

Basic SRv6 functionality necessitates, at a minimum, IGP and BGP extensions

IGP Extensions:

A link-state routing protocol utilizes Dijkstra’s Shortest Path First (SPF) algorithm to compute the shortest path to a specified address. This involves nodes establishing neighbor relationships through Hello packet exchanges and flooding local Link-State Protocol Data Units (LSPs) across the network. The identical Link-State Database (LSDB) formed guides SPF algorithm-based route computations.

Figure below illustrates the advertisement of IS-IS SRV6 TLVs. Two TLVs serve distinct functions:

advertisement of IS-IS SRV6 TLVs

SRv6 Locator TLV: Conveys the locator’s prefix and mask, facilitating the dissemination of locator information to SRV6 nodes on the network. Additionally, it carries SRv6 SIDs that don’t require association with IS-IS neighbors, such as End SIDs.

Multi Topology Reachable IPv6 Prefixes TLV: Shares the same IPv6 prefix and mask as the SRv6 Locator TLV. This existing IS-IS TLV can be processed by common IPv6 nodes, allowing common IPv6 nodes and SRv6 nodes to coexist on the same network. If a device receives both TLVs, the Multi Topology Reachable IPv6 Prefixes TLV is prioritized.

ISIS TLV extensions for SRv6

NameFunctionInformation Carried In
SRv6 Locator TLVAdvertises an SRv6 locator and its associated End SIDs.IS-IS LSP
SRv6 Capabilities Sub-TLVAdvertises SRv6 capabilities.IS-IS Router Capability TLV-242
SRv6 End SID sub-TLVAdvertises SRv6 SIDSRv6 Locator TLV
SRv6 End.X SID sub-TLVAdvertises SRv6 SIDs associated with Point-to-Point (P2P) adjacencies.IS-IS Extended IS reachability TLV-22 IS-IS IS Neighbor Attribute TLV-23 IS-IS inter-AS reachability information TLV-141 IS-IS Multitopology IS TLV-222 IS-IS Multitopology IS Neighbor Attribute TLV-223
SRv6 LAN End.X SID sub-TLVAdvertises SRv6 SIDs associated With Local Area Network (LAN) adjacencies.IS-IS Extended IS reachability TLV-22 IS-IS IS Neighbor Attribute TLV-23 IS-IS inter-AS reachability information TLV-141 IS-IS Multitopology IS TLV-222 IS-IS Multitopology IS Neighbor Attribute TLV-223
   
Node MSD sub-TLVAdvertises the Maximum SID Depth (MSD) supported by the devices.IS-IS Router Capability TLV-242
IS-IS FAD sub- TLVAdvertises a Flex- Algo Definition (FAD).IS-IS Router Capability TLV-242
SR-Algorithm sub-TLVAdvertises the in- use algorithm.IS-IS Router Capability TLV-242
ISIS TLV extensions for SRv6
ISIS LSP

BGP Extensions:

Comprising MP-BGP and BGP EVPN, these extensions are crucial for advertising both L2VPN and L3VPN service SIDs through BGP Update messages. Figure below outlines the structure of a standard BGP EVPN Update message carrying SRv6 information.

BGP Update

Conclusion

In conclusion, the exploration of SRv6 technology reveals a transformative landscape for network programmability. The introduction of a three-dimensional programming space, exemplified by dynamic path programming, reshapes the efficiency of service provisioning. The adaptability of SRv6 to diverse functions, coupled with the potential for user-defined specifications, propels it into the forefront of network innovation. Additionally, the incorporation of SRH and the essential role played by IGP and BGP extensions underscore the comprehensive nature of SRv6 implementation. As we navigate this technological frontier, it becomes evident that SRv6 not only optimizes network nodes but also aligns seamlessly with the evolving paradigms of Software-Defined Networking (SDN). This journey signifies a paradigm shift, where SRv6 not only meets but exceeds the demands of contemporary network architectures, promising a future where efficiency and innovation coalesce in the intricate realm of network design.

Leave a comment