TRILL unique nicknames: Transparent Interconnection of Lots of Links (TRILL) Multilevel Using Unique Nicknames
How a big TRILL campus is split into areas while every switch keeps one globally unique nickname.
Zhang, M., Eastlake 3rd, D., Perlman, R., Zhai, H., and D. Liu, "Transparent Interconnection of Lots of Links (TRILL) Multilevel Using Unique Nicknames", RFC 8397, DOI 10.17487/RFC8397, May 2018, <https://www.rfc-editor.org/info/rfc8397>.
@misc{rfc8397,
series = {Request for Comments},
number = 8397,
howpublished = {RFC 8397},
publisher = {RFC Editor},
doi = {10.17487/RFC8397},
url = {https://www.rfc-editor.org/info/rfc8397},
author = {M. Zhang and D. Eastlake 3rd and R. Perlman and H. Zhai and D. Liu},
title = {{Transparent Interconnection of Lots of Links (TRILL) Multilevel Using Unique Nicknames}},
pagetotal = 16,
year = 2018,
month = may,
} RFC text
Contents
Internet Engineering Task Force (IETF) M. Zhang
Request for Comments: 8397 D. Eastlake 3rd
Category: Standards Track Huawei
ISSN: 2070-1721 R. Perlman
Dell EMC
H. Zhai
JIT
D. Liu
China Telecom Co., Ltd
May 2018
Transparent Interconnection of Lots of Links (TRILL) Multilevel
Using Unique Nicknames
Abstract
TRILL (Transparent Interconnection of Lots of Links) routing can be
extended to support multiple levels by building on the multilevel
feature of IS-IS routing. Depending on how nicknames are managed,
there are two primary alternatives to realize TRILL multilevel: the
unique nickname approach and the aggregated nickname approach as
discussed in RFC 8243. This document specifies a unique nickname
approach. This approach gives unique nicknames to all TRILL switches
across the multilevel TRILL campus.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc8397.
Copyright Notice
Copyright (c) 2018 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 Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction ....................................................3
2. Acronyms and Terminology ........................................4
3. Data Routing ....................................................4
3.1. Unicast Routing ............................................4
3.2. Multi-destination Routing ..................................5
3.2.1. Local Distribution Trees ............................6
3.2.2. Global Distribution Trees ...........................6
4. Protocol Basics and Extensions ..................................8
4.1. Multilevel TRILL Basics ....................................8
4.2. Nickname Allocation ........................................9
4.3. Nickname Announcements .....................................9
4.4. Capability Indication .....................................11
5. Mix with Aggregated Nickname Areas .............................11
6. Security Considerations ........................................12
7. IANA Considerations ............................................13
8. References .....................................................13
8.1. Normative References ......................................13
8.2. Informative References ....................................14
Contributors ......................................................15
Authors' Addresses ................................................15
1. Introduction
The multiple-level feature of [IS-IS] can increase the scalability of
TRILL as discussed in [RFC8243]. However, multilevel IS-IS needs
some extensions to support the TRILL multilevel feature. The two
most significant extensions are how TRILL switch nicknames are
managed and how distribution trees are handled [RFC8243].
There are two primary alternatives to realize TRILL multilevel
[RFC8243]. One approach, which is referred to as the "aggregated
nickname" approach, involves assigning nicknames to the areas, and
allowing nicknames to be reused in different areas by having the
border TRILL switches rewrite nickname fields when entering or
leaving an area. For more description of the aggregated nickname
approach, one can refer to [RFC8243] and [SingleN]. The other
approach, which is referred to as the "unique nickname" approach, is
specified in this document. The unique nickname approach gives
unique nicknames to all the TRILL switches in the multilevel campus
by having the TRILL switches at the Level 1 / Level 2 border
advertise into the Level 1 area those nicknames are not available for
assignment in that area and advertising into the Level 2 area those
nicknames that are used by the Level 1 area so that other areas
cannot use them anymore. The advertising of Level 1 nicknames
informs the rest of the campus how to reach the nicknames residing in
that area. In this document, protocol extensions that support such
advertisement are specified.
Each RBridge in a unique nickname area calculates two types of trees:
local distribution trees and global distributions trees. For multi-
destination traffic that is limited to an area, the packets will be
flooded on a local distribution tree. Otherwise, the multi-
destination packets will be flooded along a global distribution tree.
In the unique nickname approach, nicknames are globally valid so that
border RBridges do not rewrite the nickname field of TRILL data
packets that transition between Level 1 and Level 2, as border
RBridges do in the aggregated nickname approach. If a border RBridge
is a transit node on a forwarding path, it does not learn MAC
addresses of the TRILL data packets forwarded along this path.
Testing and maintenance operations that originate in one area and
terminate in a different area are also simplified [RFC8243]. For
these reasons, the unique nickname approach might realize simpler
border RBridges than the aggregated nickname approach. However, the
unique nickname approach is less scalable and may be less well suited
for very large campuses.
2. Acronyms and Terminology
Border RBridge: An RBridge that is located on the border between two
or more RBridge areas.
Data Label: VLAN or FGL [RFC7172]
IS-IS: Intermediate System to Intermediate System [IS-IS]
RBridge: A device implementing the TRILL protocol.
TRILL: Transparent Interconnection of Lots of Links or Tunneled
Routing in the Link Layer [RFC6325].
TRILL switch: An alternative name for an RBridge.
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.
3. Data Routing
Area X level 2 Area Y
+-----------------+ +---------------------+ +------------+
| | | | | |
S---RB27---Rx--Rz---RB2---Rb---Rc--Rd---Re--RB3---Rk--RB44---D
| 27 | | | | 44 |
| | | | | |
+-----------------+ +---------------------+ +------------+
Figure 1: An Example Topology for TRILL Multilevel
Figure 1 is adapted from the example topology of [RFC8243], where S
is Source, and D is Destination.
The routing processes are described in the following two subsections.
3.1. Unicast Routing
The plain RBridge RB27 has a different view of the topology of the
TRILL campus than its border RBridge RB2. For an outward path that
reaches an RBridge not in the same area (say, RB44), RB27 calculates
the segment of the path in Area X, the border RBridge RB2 calculates
the segment in Level 2, while the border RBridge to the destination
area, RBridge RB3, calculates the segment from itself to RB44.
Let us say that S transmits a frame to destination D and let us say
that D's location is learned by the relevant TRILL switches already.
These relevant switches have learned the following:
1) RB27 has learned that D is connected to nickname 44.
2) RB2 has learned that nickname 44 is accessible through RB3.
The following sequence of events will occur:
- S transmits an Ethernet frame with source MAC = S and destination
MAC = D.
- RB27 encapsulates with a TRILL header with ingress RBridge
nickname 27, and egress RBridge nickname 44 producing a TRILL Data
packet.
- RB2 has announced in the Level 1 IS-IS instance in Area X that it
owns all nicknames of other areas, including 44. Therefore, IS-IS
routes the packet to RB2.
- The packet is forwarded through Level 2, from RB2 to RB3, which
has advertised, in Level 2, it owns the nickname 44.
- RB3, when forwarding into Area Y, does not change the ingress
nickname 27 or the egress nickname 44.
- RB44, when decapsulating, learns that S is attached to nickname
27.
3.2. Multi-destination Routing
The scope of Multi-destination routing is defined by the tree root
nickname. A tree with a Level 2 tree root nickname is global, and a
tree with a Level 1 tree root nickname is local. See Section 4.2 for
the Level 1 and Level 2 nickname allocation.
Border RBridges announce the global trees to be calculated only for
those Data Labels that span across areas. APPsub-TLVs as specified
in Section 3.2 of [RFC7968] will be advertised for this purpose.
Based on the Data Label, an ingress RBridge can determine whether a
global tree or a local tree is to be used for a TRILL multi-
destination Data packet.
If there are legacy TRILL switches that do not understand the APPsub-
TLVs for tree selection, configuration MUST guarantee that Data
Labels [RFC7172] being used globally in Level 2 are disabled on these
legacy TRILL switches. (Otherwise, the legacy TRILL switches might
use local trees for multi-destination traffic with a global scope.)
These legacy TRILL switches may use global trees to flood multi-
destination packets with a scope of the local area. Those global
trees MUST be pruned at the border TRILL switches based on Data
Labels.
3.2.1. Local Distribution Trees
The root RBridge RB1 of a local distribution tree resides in the
area. RBridges in this area calculate this local tree based on the
link state information of this area, using RB1's nickname as the
root. Protocol behaviors for local distribution trees have been
specified in Section 4.5 of [RFC6325]. The sole difference is that
the local distribution tree spans this area only. A multi-
destination packet with an egress nickname of the root RBridge of a
local tree MUST NOT be leaked into Level 2 at the border RBridge.
3.2.2. Global Distribution Trees
Within Level 2, the RBridge with the highest tree root priority
advertises the set of global trees by providing a list of Level 2
RBridge nicknames as defined in Section 4.5 of [RFC6325].
According to [RFC6325], the RBridge with the highest root priority
advertises the tree roots for a Level 1 area. There has to be a
border RBridge with the highest root tree priority in each area so
that it can advertise the global tree root nicknames into the area.
Also, this border RBridge MUST advertise the set of local
distribution trees by providing another set of nicknames. Since
nicknames of global tree roots and local tree roots indicate
different flooding scopes, these two sets MUST NOT overlap. If a
border RBridge has been assigned both as a global tree root and a
local tree root, it MUST acquire both global tree root nickname(s)
and local tree root nickname(s). However, non-border RBridges in an
area do not differentiate between a global tree root nickname and a
local tree root nickname.
Suppose RB3 is the RBridge with the highest tree root priority within
Level 2, and RB2 is the highest tree root priority in Area X. RB2
advertises in Area X that nickname RB3 is the root of a distribution
tree. Figures 2 through 5 illustrate how different RBridges view the
global distribution tree.
RB2,RB3,Rb,Rc,Rd,Re,Rk,RB44
o
/
Rz o
/
Rx o
/
RB27 o
Figure 2: RB27's View of the Global Distribution Tree
RB3,Rk,RB44
o
/
Re o
/
Rd o
/
Rc o
/
Rb o
/
RB2 o
/
Rz o
/
Rx o
/
RB27 o
Figure 3: RB2's View of the Global Distribution Tree
RB3
o
/ \
Re o o Rk
/ \
Rd o o RB44
/
Rc o
/
Rb o
/
R27,Rx,Rz,RB2 o
Figure 4: RB3's View of the Global Distribution Tree
RB3,RB27,RBx,RBz,RB2,Rb,Rc,Rd,Re
o
\
o Rk
\
o RB44
Figure 5: RB44's View of the Global Distribution Tree
The following sequence of events will occur when a multi-destination
TRILL Data packet is forwarded using the global distribution tree:
- RB27 produces a multi-destination (M bit is one) TRILL Data packet
with ingress RBridge nickname 27 and egress RBridge nickname 3.
RB27 floods this packet using the segment of the global
distribution tree that resides in Area X.
- RB2, when flooding the packet in Level 2, uses the segment of the
global distribution tree that resides in Level 2.
- RB3, when flooding the packet into Area Y, uses the segment of the
global distribution tree that resides in Area Y.
- The multicast listener RB44, when decapsulating the received
packet, learns that S is attached to nickname 27.
4. Protocol Basics and Extensions
4.1. Multilevel TRILL Basics
Multilevel TRILL builds on the multilevel feature of [IS-IS]. Border
RBridges are in both a Level 1 area and in Level 2. They establish
adjacency with Level 1 RBridges as specified in [RFC7177] and
[RFC6325]. They establish adjacency with Level 2 RBridges in exactly
the same way except that (1) for a LAN link, the IS-IS Hellos used
are Level 2 Hello PDUs [IS-IS] and (2) for a point-to-point link, the
Level is configured and indicated in flags in the point-to-point
Hello. The state machines for Level 1 and Level 2 adjacency are
independent, and two RBridges on the same LAN link can have any
adjacency state for Level 1 and, separately, any adjacency state for
Level 2. Level 1 and Level 2 link state flooding are independent
using Level 1 and Level 2 versions of the relevant IS-IS PDUs (LSP,
CSNP, PSNP, FS-LSP, FS-CSNP, and FS-PSNP [RFC7356] [RFC7780]). Thus,
Level 1 link state information stays within a Level 1 area and Level
2 link state information stays in Level 2 unless there are specific
provisions for leaking (copying) information between levels. This is
why multilevel can address the TRILL scalability issues as specified
in Section 2 of [RFC8243].
The former "campus wide" minimum acceptable link size Sz is
calculated as before: by Level 1 RBridges (including border RBridges)
using the originatingLSPBufferSize advertised in the Level 1 LSP so
it is area local in multilevel TRILL. A minimum acceptable link size
in Level 2, called Sz2, is calculated by the RBridges participating
in Level 2 in the same way as Sz is calculated but using the
originatingLSPBufferSize distributed in Level 2 LSPs.
4.2. Nickname Allocation
Level 2 RBridges contend for nicknames in the range from 0xF000
through 0xFFBF the same way as specified in [RFC6325]: using Level 2
LSPs. The highest-priority border router for a Level 1 area should
contend with others in Level 2 for blocks of nicknames for the range
from 0x0001 to 0xEFFF. Blocks of 64 aligned on boundaries of
multiples of 64 are RECOMMENDED in this document.
The nickname contention in Level 2 will determine which blocks of
nicknames are available for an area and which blocks of nicknames are
used elsewhere. The NickBlockFlags APPsub-TLV as specified in
Section 4.3 will be used by the border RBridge(s) to announce the
nickname availability.
4.3. Nickname Announcements
Border RBridges need to exchange nickname information between Level 1
and Level 2; otherwise, forwarding paths inward or outward will not
be calculated. For this purpose, border RBridges need to fabricate
nickname announcements. Sub-TLVs used for such announcements are
specified as follows.
Besides its own nickname(s), a border RBridge MUST announce, in its
area, the ownership of all external nicknames that are reachable from
this border RBridge. These external nicknames include nicknames used
in other unique nickname areas and nicknames in Level 2. Non-border
RBridge nicknames within aggregated nickname areas are excluded.
Also, a border RBridge MUST announce, in Level 2, the ownership of
all nicknames within its area. From listening to these Level 2
announcements, border RBridges can figure out the nicknames used by
other areas.
RBridges in the TRILL base protocol use the Nickname Sub-TLV as
specified in Section 2.3.2 of [RFC7176] to announce the ownership of
nicknames. However, it becomes uneconomic to use this Sub-TLV to
announce a mass of internal/external nicknames. To address this
issue, border RBridges SHOULD make use of the NickBlockFlags
APPsub-TLV to advertise into the Level 1 area the inclusive range of
nicknames that are or are not available for self allocation by the
Level 1 RBridges in that area. Its structure is as follows:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| Type = 24 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| Length |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|OK| RESV |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| Nickname Block 1 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ...
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| Nickname Block K |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
o Type: 24 (TRILL NickBlockFlags)
o Length: 2 + 4*K, where K is the number of nickname blocks.
o OK:
- When this bit is set to 1, the blocks of nicknames in this
APPsub-TLV are associated to the border RBridge's attached
Level 1 area. The APPsub-TLV will be advertised in both
Level 1 and Level 2. For nicknames that fall in the ranges
of the nickname blocks, RBridges of Level 2 always route to
the originating border RBridge, just as if this border
RBridge owns these nicknames.
- When this bit is set to 0, it indicates that the nicknames
covered by the nickname blocks are being used in Level 2 or
other areas so that they are not available for use in the
border RBridge's attached Level 1 area. The APPsub-TLV will
be advertised into Level 1 only. For nicknames that fall in
the ranges of the nickname blocks, RBridges of the area
always route to the originating border RBridge, just as if
this border RBridge owns these nicknames. For nicknames in
these ranges, other RBridges will deem that they are owned by
the originating border RBridge. The paths to nicknames that
fall in these ranges will be calculated to reach the
originating border RBridge. TRILL Data packets with egress
nicknames that are neither in these ranges nor announced by
any RBridge in the area MUST be discarded.
o RESV: reserved for future flag allocation. MUST be sent as
zero and ignored on receipt.
o Nickname Block: a starting and ending nickname as follows:
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| starting nickname |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ending nickname |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Nickname Sub-TLV as specified in Section 2.3.2 of [RFC7176] is still
allowed to be used, given the above NickBlockFlags APPsub-TLV is
being used.
There might be multiple border RBridges connected to the same area.
Each border RBridge may advertise a subset of the entire
internal/external nickname space in order to realize load balance.
However, optimization of such load balance is an implementation issue
and is outside the scope of this document.
As specified in Section 4.2.6 of [RFC6325], multiple border RBridges
may claim the same nicknames outwardly and/or inwardly. Other
RBridges add those nicknames as if they are attached to all of those
border RBridges.
4.4. Capability Indication
All border RBridges MUST understand the NickBlockFlags APPsub-TLV.
Non-border RBridges in an area should understand the NickBlockFlags
APPsub-TLV. If an RBridge within an area understands the
NickBlockFlags APPsub-TLV, it MUST indicate this capability by
announcing it in its TRILL-VER Sub-TLV. (See Section 7.)
If there are RBridges that do not understand the NickBlockFlags
APPsub-TLV, border RBridges of the area MUST also use the traditional
Nickname Sub-TLV [RFC7176] to announce into the area those nicknames
covered by the nickname blocks of the NickBlockFlags APPsub-TLV whose
OK is 0. The available range of nicknames for this area should be
configured on these traditional RBridges.
5. Mix with Aggregated Nickname Areas
The design of TRILL multilevel allows a mixture of unique nickname
areas and aggregated nickname areas (see Section 1.2 of [RFC8243]).
Usage of nickname space MUST be planned so that nicknames used in any
one unique nickname area and Level 2 are never used in any other
areas, including unique nickname areas as well as aggregated nickname
areas. In other words, nickname reusage is merely allowed among
aggregated nickname areas.
Border RBridges of an aggregated area MUST announce nicknames heard
from Level 2 into their area like just like a unique nickname border
RBridge. However, these RBridges do not announce nicknames of their
area into Level 2.
Each border RBridge of the aggregated areas will appear on the global
tree, as specified in Section 4.1, as a single node. The global
trees for unique nickname areas span unique nickname areas and Level
2 but never reach the inside of aggregated areas.
6. Security Considerations
Since TRILL multilevel uses the existing IS-IS multilevel facilities
[IS-IS], flooding of control traffic for link-state information is
automatically confined to a Level 1 area or to Level 2 (except for
limited types of information that can be specifically flagged for
wider flooding). This addresses the TRILL scalability issues as
specified in Section 2 of [RFC8243], and also, except for the wider
flooding case, this confines the scope of the effects of malicious
events that could be communicated through the link state. However,
due to the fact that unique nickname areas share a common nickname
space, border RBridges still have to leak nickname information
between levels. Such leaking means that nickname-related events in
one area can affect other areas.
For this purpose, border RBridges need to fabricate the nickname
announcements as specified in Section 4.3. Malicious devices may
also fake the NickBlockFlags APPsub-TLV to announce a range of
nicknames. By doing this, the attacker can attract TRILL data
packets that were originally sent to a bunch of other RBridges. For
this reason, RBridges SHOULD be configured to use the IS-IS
Authentication TLV (10) in the IS-IS PDUs, particularly those
containing the NickBlockFlags APPsub-TLV, so that IS-IS security
[RFC5310] can be used to authenticate those PDUs and discard them if
they are forged.
If border RBridges do not prune multi-destination distribution tree
traffic in Data Labels that are configured to be area local, then
traffic that should have been contained within an area might be
wrongly delivered to end stations in that Data Label in other areas.
That is, the Data Label would no longer be area local. This would
generally violate security constraints that require traffic to be
delivered only to end stations in that Data Label in a single area.
For general TRILL Security Considerations, see [RFC6325].
7. IANA Considerations
IANA has registered a new flag bit under the "TRILL-VER Sub-TLV
Capability Flags" registry.
Bit Description Reference
--- ----------- ---------
5 Able to handle the RFC 8397
NickBlockFlags
APPsub-TLV
IANA has assigned a new type for the NickBlockFlags APPsub-TLV from
the range available below 256 and add the following entry to the
"TRILL APPsub-TLV Types under IS-IS TLV 251 Application Identifier 1"
registry as follows:
Type Name Reference
---- ------ ---------
24 NickBlockFlags RFC 8397
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC6325] Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A.
Ghanwani, "Routing Bridges (RBridges): Base Protocol
Specification", RFC 6325, DOI 10.17487/RFC6325, July 2011,
<https://www.rfc-editor.org/info/rfc6325>.
[RFC7172] Eastlake 3rd, D., Zhang, M., Agarwal, P., Perlman, R., and
D. Dutt, "Transparent Interconnection of Lots of Links
(TRILL): Fine-Grained Labeling", RFC 7172,
DOI 10.17487/RFC7172, May 2014,
<https://www.rfc-editor.org/info/rfc7172>.
[RFC7176] Eastlake 3rd, D., Senevirathne, T., Ghanwani, A., Dutt,
D., and A. Banerjee, "Transparent Interconnection of Lots
of Links (TRILL) Use of IS-IS", RFC 7176,
DOI 10.17487/RFC7176, May 2014,
<https://www.rfc-editor.org/info/rfc7176>.
[RFC7177] Eastlake 3rd, D., Perlman, R., Ghanwani, A., Yang, H., and
V. Manral, "Transparent Interconnection of Lots of Links
(TRILL): Adjacency", RFC 7177, DOI 10.17487/RFC7177, May
2014, <https://www.rfc-editor.org/info/rfc7177>.
[RFC7968] Li, Y., Eastlake 3rd, D., Hao, W., Chen, H., and S.
Chatterjee, "Transparent Interconnection of Lots of Links
(TRILL): Using Data Labels for Tree Selection for Multi-
Destination Data", RFC 7968, DOI 10.17487/RFC7968, August
2016, <https://www.rfc-editor.org/info/rfc7968>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[IS-IS] International Organization for Standardization,
"Information technology -- Telecommunications and
information exchange between systems -- Intermediate
System to Intermediate System intra-domain routeing
information exchange protocol for use in conjunction with
the protocol for providing the connectionless-mode network
service (ISO 8473)", ISO/IEC 10589:2002, Second Edition,
November 2002.
8.2. Informative References
[SingleN] Zhang, M., Eastlake, D., et al, "Transparent
Interconnection of Lots of Links (TRILL) Single Area
Border RBridge Nickname for Multilevel", draft-ietf-trill-
multilevel-single-nickname-05, Work in Progress, January
2018.
[RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R.,
and M. Fanto, "IS-IS Generic Cryptographic
Authentication", RFC 5310, DOI 10.17487/RFC5310, February
2009, <https://www.rfc-editor.org/info/rfc5310>.
[RFC7356] Ginsberg, L., Previdi, S., and Y. Yang, "IS-IS Flooding
Scope Link State PDUs (LSPs)", RFC 7356,
DOI 10.17487/RFC7356, September 2014,
<https://www.rfc-editor.org/info/rfc7356>.
[RFC7780] Eastlake 3rd, D., Zhang, M., Perlman, R., Banerjee, A.,
Ghanwani, A., and S. Gupta, "Transparent Interconnection
of Lots of Links (TRILL): Clarifications, Corrections, and
Updates", RFC 7780, DOI 10.17487/RFC7780, February 2016,
<https://www.rfc-editor.org/info/rfc7780>.
[RFC8243] Perlman, R., Eastlake 3rd, D., Zhang, M., Ghanwani, A.,
and H. Zhai, "Alternatives for Multilevel Transparent
Interconnection of Lots of Links (TRILL)", RFC 8243,
DOI 10.17487/RFC8243, September 2017,
<https://www.rfc-editor.org/info/rfc8243>.
Contributors
Margaret Cullen
Painless Security
14 Summer St. Suite 202
Malden, MA 02148
United States of America
Email: margaret@painless-security.com
Authors' Addresses
Mingui Zhang
Huawei Technologies
No. 156 Beiqing Rd., Haidian District
Beijing 100095
China
Phone: +86-13810702575
Email: zhangmingui@huawei.com
Donald Eastlake 3rd
Huawei Technologies
155 Beaver Street
Milford, MA 01757
United States of America
Phone: +1-508-333-2270
Email: d3e3e3@gmail.com
Radia Perlman
Dell EMC
176 South Street
Hopkinton, MA 01748
United States of America
Email: radia@alum.mit.edu
Hongjun Zhai
Jinling Institute of Technology
99 Hongjing Avenue, Jiangning District
Nanjing, Jiangsu 211169
China
Email: honjun.zhai@tom.com
Dongxin Liu
China Telecom Co., Ltd
109 West Zhongshan Ave, Tianhe District
Guangzhou 510630
China
Email: liudx@gsta.com
AI ELI5
On this page
§1Two Ways to Do Multilevel TRILL
The multiple-level feature of IS-IS can increase the scalability of TRILL, as discussed in RFC 8243. Making it work needs extensions for two things: how switch nicknames are managed and how distribution trees are handled.
There are two primary alternatives. The aggregated nickname approach gives nicknames to areas and lets border switches rewrite nickname fields as packets enter or leave an area. The unique nickname approach, which this document specifies, gives unique nicknames to all TRILL switches in the multilevel campus. Border RBridges advertise into a Level 1 area which nicknames are not available there, and advertise into Level 2 which nicknames the Level 1 area uses, so other areas cannot reuse them.
Because nicknames are globally valid, border RBridges do not rewrite the nickname field of TRILL data packets moving between Level 1 and Level 2. A border RBridge acting as a transit node also does not learn MAC addresses from those packets, and testing and maintenance operations across areas are simplified. The RFC says this might give simpler border RBridges, but the approach is less scalable and may be less well suited to very large campuses.
There are two ways to run a big city of switches. In one, each neighborhood reuses names and mail carriers relabel letters at the border. In this one, every house has a name nobody else uses, so no relabeling is needed.
§3.1Unicast Routing Across Areas
The RFC walks through an example where source S in Area X sends a frame to destination D in Area Y. RB27 is the ingress RBridge in Area X, RB2 and RB3 are border RBridges, and RB44 is next to D. RB27 has learned that D is connected to nickname 44, and RB2 has learned that nickname 44 is reachable through RB3.
RB27 encapsulates the Ethernet frame in a TRILL header with ingress nickname 27 and egress nickname 44. RB2 has announced in the Level 1 IS-IS instance in Area X that it owns all nicknames of other areas, including 44, so the packet is routed to RB2. It then crosses Level 2 to RB3, which advertised in Level 2 that it owns nickname 44. RB3 forwards into Area Y without changing the ingress nickname 27 or the egress nickname 44. When RB44 decapsulates the packet, it learns that S is attached to nickname 27.
Each switch calculates only its own piece of the path: RB27 the segment in Area X, RB2 the segment in Level 2, and RB3 the segment from itself to RB44.
A letter leaves with the sender's and receiver's house names on it. The first border post says "I can get that to the other neighborhood," the next one takes it the last stretch, and the names on the envelope never change.
- Ingress 27, egress 44RB2 announced in Area X that it owns the other areas' nicknames, including 44.
- Across Level 2RB3 advertised in Level 2 that it owns nickname 44.
- Same nicknames 27 and 44No nickname rewrite when entering Area Y.
§3.2Local and Global Distribution Trees
Multi-destination traffic is flooded along distribution trees. The scope of a tree is set by its root nickname: a tree with a Level 2 root nickname is global, and a tree with a Level 1 root nickname is local. Border RBridges announce global trees only for Data Labels (VLAN or FGL) that span areas, using APPsub-TLVs from RFC 7968. Based on the Data Label, an ingress RBridge decides whether a global or local tree is used.
A local tree spans only its own area, and behaves as in RFC 6325 otherwise. A multi-destination packet whose egress nickname is the root of a local tree MUST NOT be leaked into Level 2. For global trees, the RBridge with the highest tree root priority in Level 2 advertises the set of global trees, and a border RBridge with the highest root priority in each area advertises the global tree roots into that area. It MUST also advertise a set of local tree roots, and the two sets MUST NOT overlap because they have different flooding scopes.
When a multi-destination packet uses a global tree, it is flooded using the part of the tree in Area X, then the part in Level 2, then the part in Area Y. Legacy TRILL switches that do not understand the tree-selection APPsub-TLVs need configuration so that Data Labels used globally in Level 2 are disabled on them, and global trees MUST be pruned at border switches by Data Label.
Some announcements are only for one neighborhood and some are for the whole city. The type of loudspeaker, a local one or a city-wide one, decides how far the message goes.
§4.2Allocating Nicknames Between Levels
Multilevel TRILL builds on IS-IS multilevel. Border RBridges sit in both a Level 1 area and Level 2, with independent adjacency state machines and independent link-state flooding for each level. That keeps Level 1 information inside the area and Level 2 information inside Level 2 unless something is deliberately leaked.
Level 2 RBridges contend for nicknames in the range 0xF000 through 0xFFBF as in RFC 6325, using Level 2 LSPs. The highest-priority border router for a Level 1 area contends in Level 2 for blocks of nicknames from 0x0001 to 0xEFFF. Blocks of 64 aligned on multiples of 64 are RECOMMENDED. The outcome of that contention decides which blocks are available to an area and which are used elsewhere.
Before moving in, each neighborhood has to claim blocks of house names so nobody else picks the same ones.
§4.3The NickBlockFlags APPsub-TLV
A border RBridge MUST announce into its area the ownership of all external nicknames reachable through it, and MUST announce into Level 2 the ownership of all nicknames within its area. The ordinary Nickname Sub-TLV could do this, but it is uneconomic for a mass of nicknames, so border RBridges SHOULD use the new NickBlockFlags APPsub-TLV, type 24.
Its length is 2 + 4*K, where K is the number of nickname blocks. It has an OK bit and a reserved field (RESV, sent as zero and ignored on receipt), followed by the blocks, each a starting and an ending nickname.
- With
OKset to 1, the blocks belong to the border RBridge's attached Level 1 area. The TLV is advertised in both Level 1 and Level 2, and Level 2 RBridges route to the originating border RBridge as if it owned those nicknames. - With
OKset to 0, the blocks are in use in Level 2 or other areas and are not available in this area. The TLV is advertised into Level 1 only. TRILL Data packets whose egress nickname is neither in these ranges nor announced by any RBridge in the area MUST be discarded.
Multiple border RBridges may serve the same area, and each may advertise a subset of the nickname space for load balancing; optimizing that is outside the scope of the document.
Instead of listing every house name one by one, the border post posts a sign saying "names from here to there are taken." One extra mark on the sign says whether they belong to this neighborhood or to somewhere else.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
TYPE | Type | 2 bytes | 24 | Type 24 (TRILL NickBlockFlags). |
LENGTH | Length | 2 bytes | 2 + 4*K, where K is the number of nickname blocks. | |
OK | OK | 1 bits | 1: blocks belong to the attached Level 1 area. 0: blocks are used elsewhere. | |
RESV | RESV | 15 bits | Reserved; sent as zero and ignored on receipt. | |
BLOCK1 | Nickname Block 1 | 2 bytes | A starting and an ending nickname. | |
BLOCKK | Nickname Block K | 2 bytes | Further blocks, up to K in total. |
§4.4Capability Indication and Mixed Areas
All border RBridges MUST understand the NickBlockFlags APPsub-TLV, and non-border RBridges in an area should. An RBridge that understands it MUST say so in its TRILL-VER Sub-TLV. If some RBridges in an area do not understand it, the border RBridges MUST also use the traditional Nickname Sub-TLV to announce the nicknames in blocks whose OK bit is 0, and the available nickname range should be configured on those traditional RBridges.
Unique nickname areas can be mixed with aggregated nickname areas. Nickname usage MUST be planned so that nicknames used in a unique nickname area or in Level 2 are never used in any other area. Reuse is allowed only among aggregated nickname areas. Border RBridges of an aggregated area MUST announce nicknames heard from Level 2 into their area, but do not announce their area's nicknames into Level 2. Each such border RBridge appears on the global tree as a single node.
Old and new switches can live together as long as the old ones are told by hand which names are free. And neighborhoods that reuse names must stay separate from neighborhoods whose names are unique.
§6Security Considerations
Because multilevel TRILL uses IS-IS multilevel facilities, flooding of link-state information is confined to a Level 1 area or to Level 2, which also confines the effects of malicious events. But unique nickname areas share one nickname space, so border RBridges must leak nickname information between levels, and nickname-related events in one area can affect others.
A malicious device could fake the NickBlockFlags APPsub-TLV to claim a range of nicknames and attract packets meant for other RBridges. RBridges SHOULD therefore be configured to use the IS-IS Authentication TLV (10), especially in PDUs carrying the NickBlockFlags APPsub-TLV, so forged PDUs can be authenticated and discarded using RFC 5310.
If border RBridges do not prune multi-destination tree traffic for Data Labels configured as area-local, traffic could be delivered to end stations in that Data Label in other areas, violating constraints that require delivery within a single area. For general TRILL security considerations, see RFC 6325.
Someone could post a fake sign claiming a block of names and steal other people's mail. The fix is to sign the signs so fakes get thrown out.