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.
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:
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
Name | Function | Information Carried In |
SRv6 Locator TLV | Advertises an SRv6 locator and its associated End SIDs. | IS-IS LSP |
SRv6 Capabilities Sub-TLV | Advertises SRv6 capabilities. | IS-IS Router Capability TLV-242 |
SRv6 End SID sub-TLV | Advertises SRv6 SID | SRv6 Locator TLV |
SRv6 End.X SID sub-TLV | Advertises 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-TLV | Advertises 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-TLV | Advertises the Maximum SID Depth (MSD) supported by the devices. | IS-IS Router Capability TLV-242 |
IS-IS FAD sub- TLV | Advertises a Flex- Algo Definition (FAD). | IS-IS Router Capability TLV-242 |
SR-Algorithm sub-TLV | Advertises the in- use algorithm. | IS-IS Router Capability TLV-242 |
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.
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.