Internet-Draft | LAG indication | August 2022 |
Decraene, et al. | Expires 2 February 2023 | [Page] |
This document defines a new link flag to advertise that a layer-three link is composed of multiple layer-two sub-links, such as when this link is a Link Aggregation Group (LAG). This allows a large single flow (an elephant flow) to be aware that the link capacity will be lower than expected as this single flow is not load-balanced across the multiple layer-two sub-links. A path computation logic may use that information to route that elephant flow along a different path.¶
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 2 February 2023.¶
Copyright (c) 2022 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.¶
An IP link may be composed a multiple layer two sub-links not visible to the IGP routing topology. When traffic crossing that IP link is load-balanced on a per flow basis, a large elephant flow will only benefit from the capacity of a single sub-link. This is an issue for the routing logic which only see the aggregated bandwidth of the IP link, and hence may incorrectly route a large flow over a link which is incapable of transporting that flow.¶
This document defines a new link flag to signal that an IP link is a Link Aggregate Group composed of multiple layer two sub-links. This flag may be automatically be set by routing nodes connected to such links, without requiring manual tagging by the network operator. A path computation logic such as a PCE or a CSPF computation on the ingress, may use that information to avoid such links for elephant flows.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
To advertise that a layer-three link is composed of multiple layer-two sub-components this document defines a new bit in the IS-IS link-attribute sub-TLV RFC 5029 [RFC5029] .¶
L2 LAG (Link Aggregation Group) TBD1. When set, this layer-three link is composed of multiple layer-two sub-components performing per flow load balancing.¶
To advertise that a layer-three link is composed of multiple layer-two sub-components this document defines a new bit in the OSPF Link Attributes Bits TLV [I-D.ietf-lsr-dynamic-flooding] .¶
L2 LAG (Link Aggregation Group) TBD2. When set, this layer-three link is composed of multiple layer-two sub-components performing per flow load balancing.¶
A node supporting this extension SHOULD automatically advertise the L2 LAG flag for IP links composed of multiple layer-two sub-components. Configuration knob MAY be provided to override this default.¶
In order to handle nodes not supporting this extension, network operator may need to use an admin group (color) [RFC5305] [RFC7308] in order to flag those links on legacy nodes.¶
The information provided by this flag can be used in several different ways, depending upon the technology choices and needs of the operator.¶
If the operator's usage of LAGs is fairly consistent, one could have a variation on a bandwidth limited flex-algo that specifies minimum bandwidth and the LAG flag not being set. This could then be selected by encapsulating head ends for streams which are judged to need to avoid the LAGs. Likely this would be coupled with a configured value representing the likely limit of LAG components for selecting when to use this flex-algo instance. Note that extending flex-algo requires every node to upgrade.¶
Another option is if the operator is using traffic engineering (either with a PCE or the head end doing the path selection). The path selector can select points in e.g. a segment routed path so as to avoid links marked as being LAGs for elephant flows. This can be coupled with a more flexible heuristic for limits than the above. The path selector can look at the advertised link bandwidth, and the presence of the LAG flag, and frequently reliably infer the LAG component size. Thus, it would only need to avoid LAGs where the component is expected to be too small for the large flow being placed.¶
[Editor's note: This does suggest a possible extension if the working group is interested. We could add a new sub-TLV indicating the lowest bandwidth of the LAG components of a given LAG. This is additional complexity and the question is whether the use cases where this would give noticeably more accurate path estimates and better elephant flow placement are likely.]¶
This extension advertises additional information and capabilities about a link.¶
An attacker having access to this information would gain knowledge that this link has sub components and that sending a large amount of traffic via a single flow (hence not a DOS) is more likely to overload that sub-component. On the other hand, this overloading would be limited to this specific sub-component and hence not affect other sub-component.¶
An attacker been capable of adding this information may gain ability to change the routing of some flow crossing the links, typically large elephant flows specifically configured to avoid such link.¶
An attacker been capable of removing this information may gain the ability to change the routing and direct a large elephant flow on this link, which would overload a sub component of this link and likely create packet drop for this specific flow.¶
However, in those two cases, the attacker would equally have the capability to change other routing information such as the link metric, link usability and any link characteristics. Hence this new information does not add new security considerations. Besides, as with others TLV advertisements, the use of a cryptographic authentication as defined in [RFC5304] or [RFC5310] allows the authentication of the peer and the integrity of the message and remove the ability for an attacker to modify such information.¶
.¶
TBD.¶