Internet-Draft | TRILL: Link Data Optimization | May 2023 |
Perlman, et al. | Expires 2 November 2023 | [Page] |
TRILL (TRansparent Interconnection of Lots of Links) Data frames can be encoded so as to make more efficient use of communications links under certain circumstances. This document specifies two such optional optimizations. One, called Compact Format, improves the compactness of encoding where a TRILL link is a point-to-point Ethernet link. The other, called Specific Addressing, optionally decreases the burden on multi-access TRILL links for multi- destination TRILL Data frames. This document updates RFC 6325.¶
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 November 2023.¶
Copyright (c) 2023 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.¶
TRILL switches (also called RBridges (Routing Bridges)) are devices that support the IETF TRILL (TRansparent Interconnection of Lots of Links) protocol [RFC6325] [RFC7177] [RFC7780]. They provide transparent forwarding of frames in multi-hop networks with arbitrary topology and link technology using least cost paths for unicast traffic, support VLANs (Virtual Local Area Networks) and 24-bit Fine Grained Labels [RFC7172], and support the multipathing of both unicast and multi-destination traffic. They accomplish this by use of a hop count and IS-IS (Intermediate System to Intermediate System) link state routing [IS-IS] [RFC7176].¶
A link between two TRILL switches in a TRILL campus can be any of a variety of technologies, ranging from a complex bridged LAN to PPP [RFC6361]. In the general case under the base TRILL protocol [RFC6325], a TRILL Data frame consists of an inner payload formatted as an Ethernet frame, preceded by a TRILL Header, and then encapsulated by a link envelope appropriate for the link technology.¶
Section 2 discusses General Format TRILL Data frames without the enhancements specified in this document.¶
In the case where the link is a point-to-point Ethernet link, an optional Compact Format is specified for TRILL Data frames that saves 16 bytes. Section 3 specifies that format, its processing, and the conditions for its safe use.¶
In the case where a multi-destination TRILL Data frame is being forwarded over a multi-access link with multiple ports connected but there is only one (or perhaps a few) next hop TRILL switches of interest, optional Specific Addressing allows the TRILL Data frame to be link unicast. This can substantially reduce the burden that frame represents if, for example, the link is a complex bridged LAN through which the frame might otherwise be flooded. Section 4 specifies the Specific Addressing enhancement and the conditions for its safe use.¶
Section 5 discusses potential interaction between these two enhancements. The remaining Sections after Section 5 provide IANA and Security Considerations, References, and the like.¶
The terminology and acronyms defined in [RFC6325] are used herein with the same meaning. In particular, the terms "campus", "native frame", "link", etc., are as defined [RFC6325].¶
"Point-to-point", as used herein, means a link which appears to be an isolated channel between exactly two TRILL switch ports. Such a link may not include customer bridges but may include hubs/repeaters, Two Port MAC Relays, Provider Bridges, Provider Back Bone Bridges [IEEE.802.1Q_2014], or other technology, provided that technology is configured to provide a transparent point-to-point path between the end point RBridge ports.¶
References herein to "VLAN Tag" or the like are to customer VLANs (C- Tags, Ethertype 0x8100). Use of S-Tags, also known as Service Tags, or stacked VLAN or other tags is beyond the scope of this document but is an obvious extension.¶
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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The subsections below provide a description of the general format of TRILL Data frames. It then narrows in to describe the format of TRILL Data frames on Ethernet links.¶
The general "on-the-wire" form of TRILL frames is illustrated below.¶
The Link Headers and Trailers in the formats below depend on the specific link technology. The Link Header contains one or more fields that distinguish TRILL Data from TRILL IS-IS. For example, over Ethernet, the TRILL Data Link Header ends with the TRILL Ethertype while the TRILL IS-IS frame Link Header ends with the L2-IS-IS Ethertype; on the other hand, over PPP, there are no Ethertypes but PPP protocol codes perform that function [RFC6361].¶
A TRILL Data frame in transit between two neighboring RBridges is as shown below:¶
In the above diagram, the Payload Native Frame is in a restricted Ethernet frame format with a VLAN or FGL [RFC7172] label but with no trailing Frame Check Sequence (FCS). The payload frame format is shown below, assuming the payload starts with an Ethertype (it might alternatively be LLC [IEEE802-2014] encoded or some other format):¶
The encapsulated payload has the following fields in sequence:¶
TRILL IS-IS frames are also sent between neighboring RBridges and must be distinguished from TRILL Data frames. TRILL IS-IS frames are formatted as follows and cannot use the Compact Format specified herein:¶
If the link between neighbor RBridges is Ethernet, then the general TRILL Data frame format has the following link encapsulation:¶
A 6-byte outer MAC destination address (Outer.MacDA) followed by a 6-byte outer MAC source address (Outer.MacSA) followed by an optional 4-byte outer VLAN tag Ethertype and value (Outer.VLAN), and finally the 2-byte TRILL Ethertype (0x22F3). Additional tags could be included after the outer MAC addresses and before the TRILL Ethertype such a MACSEC [IEEE.802.1AE_2006].¶
Under the TRILL standard before this document, the Outer.MacDA was required to be the unicast MAC address of the destination RBridge port, if the TRILL Data frame was a unicast frame to a known destination, and was required to be the All-RBridges multicast address, if the TRILL Data frame was a multi- destination frame.¶
In the General Format for Ethernet links, the Outer.VLAN can be omitted when it is not required by VLAN sensitive equipment in the link.¶
TRILL Data frames may optionally be sent using a Compact Format that compresses the headers involved if the link is a point-to-point Ethernet link, Compact Format can be enabled by both RBridges on the link if other conditions met as listed below.¶
The Compact Format is simple: the Outer.MacDA, Outer.MacSA, and Outer.VLAN are replaced by the Inner.MacDA, Inner.MacSA, and Inner Label and the Inner fields are deleted. This saves 6 + 6 + 4 or 16 bytes. To avoid confusion, Compact Format MUST NOT be used if the Inner.MacDA is a multi-cast address assigned to TRILL (01‑80‑C2‑00‑00‑40 through 01‑80‑C2‑00‑00‑4F).¶
Compact Format is not applicable to TRILL IS-IS frames because there is no inner Ethernet header. (And, of course, Compact Format is not applicable to native frames or Layer 2 Ethernet control frames since those frames are not TRILL frames.)¶
Compact Format is generally intended for use on point-to-point Ethernet links between RBridges, a common arrangement in many LANs. However, if there are any transparent devices in the apparent point- to-point link, such as Provider Bridges or Provider Backbone Bridges, then the use of the Compact Format will increase the MAC address learning table stress on such Provider Bridges or Provider Edge Back Bone bridges.¶
Use of Compact Format is a hop-by-hop decision. In successive RBridge to RBridge hops, a TRILL Data frame might be sent alternately in Compact Format and General Format.¶
There are a number of conditions, listed below, for using Compact Format TRILL Data frames. Most of these boil down to maximizing the assurance that the RBridge-to-RBridge Ethernet link over which the Compact Format TRILL Data frame is to be sent is really point-to- point. Only the General Format for TRILL Data frames is safe to use on an RBridge Ethernet port that is to a multi-access link even if the ports between which it is being sent have been configured as point-to-point ports. (See also the frame reception process variations described in Section 3.3.1.)¶
There can be native frames originated by or intended for consumption by an RBridge. Examples include SNMP over IP frames or RBridge Channel frames [RFC7178]. In many cases, such internal sinks and sources of native frames are treated as a virtual end-station internally attached to the RBridge. Such frames are converted to TRILL Data frames before being transmitted outside the originating RBridge.¶
Because of the way that Compact Format TRILL Data frames are recognized, particularly the change in [RFC6325], Section 4.6.2, Point 3, made by Section 3.3.1 of this document, an RBridge MUST use a MAC address different from the address of any of its ports as the Inner.MacSA of frames it locally originates and as the Inner.MacDA it expects to see in unicast TRILL Data frames that it receives and decapsulates for locally processing.¶
If an RBridge's Ethernet port has Compact Format enabled, frame reception and transmission are modified as described below.¶
Section 4.6 of the TRILL base protocol standard [RFC6325] provides a specification of the processing of all possible types of received frames. TRILL frames are any frame starting with the TRILL or L2-IS- IS or RBridge-Channel Ethertype or that has an Outer.MacDA that is any of the block of 16 multicast addresses assigned to TRILL ([RFC6325] Section 7.2).¶
Section 4.6.2 of [RFC6325] specifies the processing of received TRILL frames. A complete replacement for Section 4.6.2 of [RFC6325] that supports Compact Format and incorporates the correction in Section 5.1.2 of [RFC7780] is provided in the quoted text below.¶
Even when Compact Format is enabled, the sender is not required to compact all or any TRILL Data frames and a receiver MUST be prepared for an arbitrary mix of Compact Format and General Format TRILL Data frames arriving on a point-to-point link.¶
NOTE: All of the Section references in the quoted text below are references to Sections in [RFC6325].¶
"A TRILL frame either has the TRILL or L2-IS-IS Ethertype or has a multicast Outer.MacDA allocated to TRILL (see Section 7.2). The following tests are performed sequentially, and the first that matches controls the handling of the frame:"¶
"By default, a frame is classified as General Format."¶
" 1. If the Ethertype is L2-IS-IS and the Outer.MacDA is either All-IS-IS-RBridges or the unicast MAC address of the receiving RBridge port, the frame is handled as described in Section 4.6.2.1 on TRILL Control frames."¶
" 2. If the Outer.MacDA is a multicast address allocated to TRILL other than All-RBridges then the frame is discarded."¶
" 3. If the Outer.MacDA is a unicast address other than the address of the receiving Rbridge then (3a) if Compact Format TRILL Data frames are disabled, the frame is discarded or (3b) if Compact Format TRILL Data frames are enabled, the frame is classified as compact."¶
" 4. If the Ethertype is not TRILL, the frame is discarded."¶
" 5. If the Version field in the TRILL Header is greater than 0, the frame is discarded."¶
" 6. If the hop count is 0, the frame is discarded."¶
" 7. If the Outer.MacDA is multicast and the M bit is zero the frame is discarded. If the Outer.MacDA is unicast and M bit is one processing continues if Specific Addressing is enabled. If Specific Addressing is not enabled, the frame is discarded."¶
" 8. If the frame has been classified as Compact Format, skip the rest of this rule and go to Rule 9. By default, an RBridge MUST discard General Format TRILL Data frames from a Outer.MacSA that is not an adjacency on the port where the frame was received. RBridges MAY be configured per port to accept such frames in cases where it is known that a non- peering device (such as an end-station) is configured to originate general TRILL encapsulated data frames that can be safely accepted."¶
" 9. If a frame has been classified as a Compact Format TRILL Data frame but it was received untagged, that is, without an Outer.VLAN, discard the frame."¶
"10. For all subsequent processing, including Rule 11, if the frame has been classified as Compact Format, all references to Inner.MacDA, Inner.MacSA, or Inner.VLAN are to be understood to actually refer to the Outer.MacDA, Outer.MacSA, and Outer.VLAN as the frame was received."¶
"11. The Inner.MacDA is then tested. If it is the All-Egress- Rbridges (also known as All-ESADI-RBridges) multicast address and RBn implements the ESADI protocol, processing proceeds as in Section 4.6.2.2 for TRILL ESADI frames. If it is any other address or RBn does not implement ESADI, processing proceeds as in Section 4.6.2.3 for TRILL Data frames."¶
When a TRILL Data frame is being transmitted out an RBridge port, if the conditions listed in Section 3 above are met, the frame MAY be sent in Compact Format.¶
The Compact Format option is a hop-by-hop optional Ethernet link TRILL frame format and it is possible that an RBridge would support it on some ports and not others depending, for example, on port hardware. Therefore, if Compact Format is enabled at a port, this is indicated in every Hello (Section 6) it sends out that port.¶
Specific addressing optionally enables more efficient use of some types of multi-access links.¶
When multiple RBridges are connected to an Ethernet link, the base TRILL protocol standard [RFC6325] requires that multi-destination TRILL Data frames be sent on the Ethernet link addressed to the All- RBridges multicast address.¶
If the link is a multi-access link, such as a large, bridged LAN, use of a multicast address may impose a significant burden, causing the frame to be flooded in the bridged LAN. In addition, all or many stations attached to the bridged LAN may receive the frame using up some of their input bandwidth. Those TRILL switches that receive the frame but are not the next hop on the frame's distribution tree will discard the frame due to the Reverse Path Forwarding Check.¶
Multi-destination TRILL Data frames are sent on the distribution tree identified in the TRILL Header subject to optional pruning. The transmitting RBridge thus knows which next hop RBridge or RBridges on the link it needs to get the frame to.¶
If the next hop RBridges on the multi-access link and the transmitting RBridge all have Specific Addressing enabled, then the frame MAY be link unicast to the next hop RBridge or RBridges.¶
Use of Specific Addressing is a hop-by-hop optional decision. Successive TRILL Data frames received by an RBridge, even from the same sending RBridge on the same distribution tree, may be specifically (unicast) or multicast addressed. (The same frame is never sent both ways.) In successive RBridge to RBridge hops, a multi-destination TRILL Data frame might be sent alternately in specifically addressed and multicast addressed form.¶
The Specific Addressing option is a hop-by-hop optional format. It is possible that an RBridge would support it on some ports and not others. Therefore, enablement of this option is indicated in every TRILL Hello (see Section 6) sent on the port.¶
Compact Format can only be used for TRILL Data frames on Ethernet links that are point-to-point. Compact Format works under the conditions specified above regardless of whether the frame is TRILL unicast (M=0) or TRILL multi-destination (M=1). It sets the Outer.MacDA, Outer.MacSA, and Outer.VLAN to the corresponding Inner fields and removes the Inner fields.¶
Specific Addressing is only beneficial for frames that are TRILL multi-destination Data frames on multi-access links. Specific Addressing causes the frame to be link unicast by setting the Outer.MacDA to the unicast address of a next hop RBridge.¶
Both optimizations change the Outer.MacDA from its value in the base TRILL protocol and thus they conflict. Specific Addressing MUST NOT be used on point-to-point Ethernet links. This avoids conflict.¶
IANA is requested to allocate two capability bits in the TRILL-PORT- VER sub-TLV [RFC7176] as follows:¶
Bit | Description | Reference |
---|---|---|
tbd1 | Compact Ethernet enabled. | (This document) |
tbd2 | Specific addressing enabled. | (This document) |
For general TRILL protocol security considerations, see [RFC6325]. See other security considerations below.¶
An RBridge conformant to the TRILL standard that has Compact Format TRILL Data not implemented or not enabled on a port will, as part of its normal procedures, discard any Compact Format TRILL Data frame it receives on that port because the EtherType of the frame would be TRILL but (1) if the Compact Format resulted in a unicast Outer.MacDA, it would not be the address of the receiving RBridge port, and (2) if the Compact Format resulted in a multicast or broadcast Outer.MacDA, it would not be the All-RBridges multicast address. If the RBridge port failed to discard the frame and erroneously handled it as being in General Format, bad things will usually happen as described in Section 7.3.¶
With a General Format TRILL Data frame, the Data Label of the data is somewhat protected in the Inner Label field. With Compact Format, it is put in the more exposed Outer.VLAN field. If it is stripped, perhaps by an intervening bridge, and the frame arrives untagged, the rules in this document require that it be discarded to avoid changing the labeling of the frame to the default of the receiving RBridge port.¶
It is important not to apply both Compact Format optimization and Specific Addressing optimization to the same frame or else the frame may be misinterpreted as described in Section 7.3. For this reason, use of Specific Addressing on point-to-point links, where it would not provide an advantage, is prohibited.¶
For frames that are misinterpreted due to circumstances described in Sections 7.1 and 7.2, the first six bytes of the native frame content will be treated as the Inner.MacDA, the next six bytes of that content as the Inner.MacSA, and the next four bytes as the Data Label. If the Ethertype or the Data Label is not checked or some of the payload data accidentally has the value of a valid tag Ethertype, the payload may be delivered in the wrong VLAN violating security policy. For this reason, the provisions of Sections 3 of this document should be scrupulously enforced.¶