Internet-Draft | IGP Extensions for Link MTU | January 2024 |
Hu, et al. | Expires 31 July 2024 | [Page] |
Segment routing (SR) leverages the source routing mechanism. It allows for a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological sub-paths which are called segments. These segments are advertised by the link-state routing protocols (IS-IS and OSPF). Unlike the MPLS, SR does not have the specific path construction signaling so that it cannot support the Path MTU. This draft provides the necessary IS-IS and OSPF extensions about the Path MTU that need to be used on SR. Here, the term "OSPF" means both OSPFv2 and OSPFv3.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 31 July 2024.¶
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Segment routing (SR) leverages the source routing mechanism. SR allows for a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological sub-paths which are called segments. These segments are advertised by the link-state routing protocols (IS-IS and OSPF). The SR architecture as well as the routing policy is proposed in [RFC8402] and [I-D.ietf-spring-segment-routing-policy]. Two types of segments are defined, Prefix segments and Adjacency segments. Prefix segments represent an ECMP-aware shortest path to a prefix (or a node), as per the state of the IGP topology. Adjacency segments represent a hop over a specific adjacency between two nodes in the IGP. A prefix segment is typically a multi-hop path while an adjacency segment, in most of the cases, is a one-hop path. SR can compute the paths from end to end and without requiring any LDP or RSVP-TE signaling. SR supports per-flow explicit routing while just maintaining per-flow state only at the source node.¶
SR architecture supports the distributed scenario and the centralized scenario. In the distributed scenario, the segments are allocated and signaled by IGP or BGP and a node needs to compute the source-routed policy. Some necessary IS-IS and OSPF extensions for SR are proposed in [RFC8665] [RFC8666] [RFC8667]. In a centralized scenario, the SR controller decides which nodes need to steer which packets on which source-routed policies. However, in both conditions, the MTU is not included in the SR policy. As the SR may push more MPLS labels or SRv6 SIDs in the packet header, the packets are more likely to be larger than the minimum MTU in the path compared to the traditional MPLS forwarding process. Unfortunately, with the current mechanisms in SR, the path MTU information cannot be obtained in advance. Therefore it cannot be ensured that the packet size is less than the path MTU which is the minimum link MTU of all the links in a path between a source node and a destination node. The definition of the path MTU is discussed in [RFC1191] [RFC8201].¶
This draft describes the necessary IS-IS and OSPF extensions for obtaining the path MTU to be used on SR. New sub-TLVs are introduced for both the IS-IS and OSPF protocols. With the IGP flooding process in the distributed scenario or the BGP transmission to the controller, the ingress node or the controller is able to compute the path MTU for the SR policy.¶
Router: A node that forwards IP packets not explicitly addressed to itself.¶
Interface: A node's attachment to a link.¶
Segment: An instruction a node executes on the incoming packet. For example, forward packet according to shortest path to destination or a specific interface, etc..¶
SR Policy: An ordered list of segments.¶
MTU: Maximum Transmission Unit, the size in bytes of the largest IP packet, including the IP header and payload, that can be transmitted on a link or path. Note that this could more properly be called the IP MTU, to be consistent with how other standards organizations use the acronym MTU.¶
Link MTU: The maximum transmission unit, i.e., maximum IP packet size in bytes, that can be conveyed in one piece over a link. Be aware that this definition is different from the definition used by other standards organizations.¶
For IETF documents, link MTU is uniformly defined as the IP MTU over the link. This includes the IP header, but excludes link layer headers and other framing that is not part of IP or the IP payload.¶
Be aware that other standards organizations generally define link MTU to include the link layer headers.¶
For the MPLS data plane, this size includes the IP header and data (or other payload) and the label stack but does not include any lower-layer headers. A link may be an interface (such as Ethernet or Packet-over- SONET), a tunnel (such as GRE or IPsec), or an LSP.¶
Path: The set of links traversed by a packet between a source node and a destination node¶
Path MTU: The minimum link MTU of all the links in a path between a source node and a destination node.¶
This section uses the SR Policy and SR Best Effort scenarios as examples to describe the applications of link MTU.¶
Figure 1 shows an example of the Link MTU application for the SR Policy scenario. In the SR Policy scenario, the link MTU application procedure is as follows:¶
Step 1: Collect Link MTUs on the entire network through IGP.¶
Step 2: BGP-LS reports the link MTU to the controller.¶
Step 3: After the controller calculating the SR Policy path, record the minimum link MTU of all the links in the path as the Min Link MTU. Consider the SRv6 encapsulation length as X. Then Path MTU = Min Link MTU - X.¶
Step 4: The Path MTU is delivered to the SR Policy headend through BGP SR policy / PCEP. Headend fragments Packets Based on the Path MTU.¶
In the case of a Topology Independent Loop-Free Alternate (TI-LFA) in P routers with encapsulation, It will re-encapsulate a new IPv6 header and fragments Packets with the Path MTU of the ti-lfa path.¶
Figure 2 shows an example of the link MTU application for the SR Best Effort scenario. The IGP calculates the Path MTU of per destination address. For per destination address, record the minimum link MTU of all the links in the IGP SPF path as the Min Link MTU. In the case of a Topology Independent Loop-Free Alternate (TI-LFA) in P routers with encapsulation, It will re-encapsulate a new IPv6 header and fragments Packets with the Path MTU of the ti-lfa path.¶
This document describes IS-IS and OSPF extensions to flood the router interface MTU to each node within an IGP domain. Then the controller or the original node collects all the link MTUs from the routers. So the original node can compute the minimum link MTU of all the links in the path. The source node can limit the packet size less than the path MTU.¶
A new sub-TLV called link MTU sub-TLV is defined for TLVs 22, 23, 25, 141, 222, 223 in the Router Information LSP to carry the MTU of the interface associated with the link . Each sub-TLV is encoded as shown in Figure 3.¶
Type: MTU, 1 byte, TBD.¶
Length: # of octets in the value field, 1 byte.¶
Value: The value is the MTU size of a link, 2 bytes.¶
The use and meaning of these fields are as follows:¶
Type - A single octet encoding the sub-TLV type. Here the type is 1 octet.¶
Length - A single octet encoding the total length of the value field of the sub-TLV in octets.¶
MTU-Value - Two octets encoding the MTU size of the sub-TLV. This field identifies the size of the router interfaces.¶
This sub-TLV is optional.¶
This document defines a link MTU sub-TLV for IS-IS extension. The codepoints need to be determined by the IANA.¶
A new sub-TLV called link MTU sub-TLV is defined in the corresponding LSA as specified for OSPFv2 and OSPFv3 to carry the MTU of the interface associated with the link. Each sub-TLV is encoded as shown in Figure 4.¶
Type: MTU, 2 bytes, TBD.¶
Length: # of octets in the value field, 2 bytes.¶
Value: The value is the MTU size of a link, 2 bytes.¶
The use and meaning of these fields are as follows:¶
Type - Two octets encoding the TLV type. Here the type is 2 octets.¶
For OSPFv2, the link MTU is advertised as an optional sub-TLV of the OSPFv2 Extended Link TLV in the OSPFv2 Extended Link Opaque LSA as defined in [RFC7684] and the codepoints need to be determined by the IANA.¶
For OSPFv3, the link MTU is advertised as an optional sub-TLV of the Router-Link TLV in the OSPFv3 E-Router-LSA as defined in [RFC8362] and the codepoints need to be determined by the IANA.¶
Length - Two octets encoding the total length of the value field of the sub-TLV in octets.¶
MTU-Value - Two octets encoding the MTU size of the TLV. This field identifies the size of the router interfaces.¶
If the link MTU sub-TLV is advertised for multiple times for the same link in different OSPFv2 Extended Link Opaque LSAs or OSPFv3 E-Router-LSAs originated by the same OSPF router, the link MTU sub-TLV in the OSPFv2 Extended Link Opaque LSA with the smallest Opaque ID or in the OSPFv3 E-Router-LSA with the smallest Link State ID MUST be used by receiving OSPF routers.¶
TBD.¶
This document requests that IANA allocates a new sub-TLV type as defined in Section 3.1 from the "Sub-TLVs for TLVs 22, 23, 25, 141, 222, and 223 (Extended IS reachability, IS Neighbor Attribute, L2 Bundle Member Attributes, inter-AS reachability information, MT-ISN, and MT IS Neighbor Attribute TLVs)" registry as specified.¶
This document requests that IANA allocates a new sub-TLV type as defined in Section 3.2 from the "OSPFv2 Extended Link TLV Sub-TLVs" registry.¶
This document requests that IANA allocates a new sub-TLV type as defined in Section 3.2 from the "OSPFv3 Extended LSA Sub-TLVs" registry.¶
These extensions to IS-IS and OSPF do not add any new security issues to the existing IGP.¶