rfc9183.original | rfc9183.txt | |||
---|---|---|---|---|
INTERNET-DRAFT M. Zhang | Internet Engineering Task Force (IETF) M. Zhang | |||
Intended Status: Proposed Standard Huawei | Request for Comments: 9183 Independent | |||
D. Eastlake | Category: Standards Track D. Eastlake 3rd | |||
Futurewei | ISSN: 2070-1721 Futurewei | |||
R. Perlman | R. Perlman | |||
EMC | EMC | |||
M. Cullen | M. Cullen | |||
Painless Security | Painless Security | |||
H. Zhai | H. Zhai | |||
JIT | JIT | |||
Expires: May 11, 2022 November 12, 2021 | February 2022 | |||
Transparent Interconnection of Lots of Links (TRILL) | Single Nickname for an Area Border RBridge in Multilevel Transparent | |||
Single Area Border RBridge Nickname for Multilevel | Interconnection of Lots of Links (TRILL) | |||
draft-ietf-trill-multilevel-single-nickname-17.txt | ||||
Abstract | Abstract | |||
A major issue in multilevel TRILL is how to manage RBridge nicknames. | A major issue in multilevel TRILL is how to manage RBridge nicknames. | |||
In this document, area border RBridges use a single nickname in both | In this document, area border RBridges use a single nickname in both | |||
Level 1 and Level 2. RBridges in Level 2 must obtain unique nicknames | Level 1 and Level 2. RBridges in Level 2 must obtain unique | |||
but RBridges in different Level 1 areas may have the same nicknames. | nicknames but RBridges in different Level 1 areas may have the same | |||
nicknames. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Distribution of this document is unlimited. Comments should be sent | ||||
to the authors or the TRILL Working Group mailing list | ||||
trill@ietf.org>. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF), its areas, and its working groups. Note that | ||||
other groups may also distribute working documents as Internet- | ||||
Drafts. | ||||
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." | ||||
The list of current Internet-Drafts can be accessed at | ||||
https://www.ietf.org/1id-abstracts.html. The list of Internet-Draft | ||||
Shadow Directories can be accessed at | ||||
https://www.ietf.org/shadow.html. | ||||
Table of Contents | ||||
1. Introduction............................................3 | ||||
2. Acronyms and Terminology................................4 | ||||
3. Nickname Handling on Border RBridges....................5 | ||||
3.1. Actions on Unicast Packets............................5 | ||||
3.2. Actions on Multi-Destination Packets..................6 | ||||
4. Per-flow Load Balancing.................................9 | This document is a product of the Internet Engineering Task Force | |||
4.1. L2 to L1 Ingress Nickname Replacement................9 | (IETF). It represents the consensus of the IETF community. It has | |||
4.2. L1 to L2 Egress Nickname Replacement..................9 | 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. | ||||
5. Protocol Extensions for Discovery......................10 | Information about the current status of this document, any errata, | |||
5.1. Discovery of Border RBridges in L1...................10 | and how to provide feedback on it may be obtained at | |||
5.2. Discovery of Border RBridge Sets in L2...............10 | https://www.rfc-editor.org/info/rfc9183. | |||
6. One Border RBridge Connects Multiple Areas.............12 | Copyright Notice | |||
7. E-L1FS/E-L2FS Backwards Compatibility..................13 | ||||
8. Manageability Considerations...........................13 | ||||
9. Security Considerations................................15 | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
10. IANA Considerations...................................15 | document authors. All rights reserved. | |||
11. References............................................16 | This document is subject to BCP 78 and the IETF Trust's Legal | |||
11.1. Normative References................................16 | Provisions Relating to IETF Documents | |||
11.2. Informative References..............................17 | (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. | ||||
Appendix A. Level Transition Clarification................18 | Table of Contents | |||
Authors' Addresses........................................19 | 1. Introduction | |||
2. Acronyms and Terminology | ||||
3. Nickname Handling on Border RBridges | ||||
3.1. Actions on Unicast Packets | ||||
3.2. Actions on Multi-destination Packets | ||||
4. Per-Flow Load Balancing | ||||
4.1. L2-to-L1 Ingress Nickname Replacement | ||||
4.2. L1-to-L2 Egress Nickname Replacement | ||||
5. Protocol Extensions for Discovery | ||||
5.1. Discovery of Border RBridges in L1 | ||||
5.2. Discovery of Border RBridge Sets in L2 | ||||
6. One Border RBridge Connects Multiple Areas | ||||
7. E-L1FS/E-L2FS Backwards Compatibility | ||||
8. Manageability Considerations | ||||
9. Security Considerations | ||||
10. IANA Considerations | ||||
11. References | ||||
11.1. Normative References | ||||
11.2. Informative References | ||||
Appendix A. Level Transition Clarification | ||||
Authors' Addresses | ||||
1. Introduction | 1. Introduction | |||
TRILL (Transparent Interconnection of Lots of Links [RFC6325] | TRILL (Transparent Interconnection of Lots of Links) [RFC6325] | |||
[RFC7780]) multilevel techniques are designed to improve TRILL | [RFC7780] multilevel techniques are designed to improve TRILL | |||
scalability issues. | scalability issues. | |||
[RFC8243] (Alternatives for Multilevel Transparent Interconnection of | "Alternatives for Multilevel Transparent Interconnection of Lots of | |||
Lots of Links (TRILL)) is an educational document to explain | Links (TRILL)" [RFC8243] is an educational document to explain | |||
multilevel TRILL and list possible concerns. It does not specify a | multilevel TRILL and list possible concerns. It does not specify a | |||
protocol. As described in [RFC8243], there have been two proposed | protocol. As described in [RFC8243], there have been two proposed | |||
approaches. One approach, which is referred to as the "unique | approaches. One approach, which is referred to as the "unique | |||
nickname" approach, gives unique nicknames to all the TRILL switches | nickname" approach, gives unique nicknames to all the TRILL switches | |||
in the multilevel campus, either by having the Level 1/Level 2 border | in the multilevel campus either by having the Level 1/Level 2 border | |||
TRILL switches advertise which nicknames are not available for | TRILL switches advertise which nicknames are not available for | |||
assignment in the area, or by partitioning the 16-bit nickname into | assignment in the area or by partitioning the 16-bit nickname into an | |||
an "area" field and a "nickname inside the area" field. [RFC8397] is | "area" field and a "nickname inside the area" field. [RFC8397] is | |||
the standards track document specifying a "unique nickname" flavor of | the Standards Track document specifying a "unique nickname" flavor of | |||
TRILL multilevel. The other approach, which is referred to in | TRILL multilevel. The other approach, which is referred to in | |||
[RFC8243] as the "aggregated nickname" approach, involves assigning | [RFC8243] as the "aggregated nickname" approach, involves assigning | |||
nicknames to the areas, and allowing nicknames to be reused inside | nicknames to the areas, and allowing nicknames to be reused inside | |||
different areas, by having the border TRILL switches rewrite the | different areas, by having the border TRILL switches rewrite the | |||
nickname fields when entering or leaving an area. [RFC8243] makes the | nickname fields when entering or leaving an area. [RFC8243] makes | |||
case that, while unique nickname multilevel solutions are simpler, | the case that, while unique nickname multilevel solutions are | |||
aggregated nickname solutions scale better. | simpler, aggregated nickname solutions scale better. | |||
The approach specified in this standards track document is somewhat | The approach specified in this Standards Track document is somewhat | |||
similar to the "aggregated nickname" approach in [RFC8243] but with a | similar to the "aggregated nickname" approach in [RFC8243] but with a | |||
very important difference. In this document, the nickname of an area | very important difference. In this document, the nickname of an area | |||
border RBridge is used in both Level 1 (L1) and Level 2 (L2). No | border RBridge is used in both Level 1 (L1) and Level 2 (L2). No | |||
additional nicknames are assigned to represent L1 areas as such. | additional nicknames are assigned to represent L1 areas as such. | |||
Instead, multiple border RBridges are allowed and each L1 area is | Instead, multiple border RBridges are allowed and each L1 area is | |||
denoted by the set of all nicknames of those border RBridges of the | denoted by the set of all nicknames of those border RBridges of the | |||
area. For this approach, nicknames in the L2 area MUST be unique but | area. For this approach, nicknames in the L2 area MUST be unique but | |||
nicknames inside an L1 area can be reused in other L1 areas that also | nicknames inside an L1 area can be reused in other L1 areas that also | |||
use this approach. The use of the approach specified in this document | use this approach. The use of the approach specified in this | |||
in one L1 area does not prohibit the use of other approaches in other | document in one L1 area does not prohibit the use of other approaches | |||
L1 areas in the same TRILL campus, for example the use of the unique | in other L1 areas in the same TRILL campus, for example the use of | |||
nickname approach specified in [RFC8397]. The TRILL packet format is | the unique nickname approach specified in [RFC8397]. The TRILL | |||
unchanged by this document, but data plane processing is changed at | packet format is unchanged by this document, but data plane | |||
Border RBridges and efficient high volume data flow at Border | processing is changed at Border RBridges and efficient high volume | |||
RBridges might require forwarding hardware change. | data flow at Border RBridges might require forwarding hardware | |||
change. | ||||
2. Acronyms and Terminology | 2. Acronyms and Terminology | |||
Data Label: VLAN or FGL Fine-Grained Label (FGL). | Area Border RBridge: A border RBridge between a Level 1 area and | |||
Level 2. | ||||
DBRB: Designated Border RBridge. | Data Label: VLAN or Fine-Grained Label (FGL). | |||
IS-IS: Intermediate System to Intermediate System [IS-IS]. | DBRB: Designated Border RBridge. | |||
Level: Similar to IS-IS, TRILL has Level 1 for intra-area and Level 2 | IS-IS: Intermediate System to Intermediate System [IS-IS]. | |||
for inter-area. Routing information is exchanged between Level 1 | ||||
RBridges within the same Level 1 area, and Level 2 RBridges can only | Level: Similar to IS-IS, TRILL has Level 1 for intra-area and | |||
form relationships and exchange information with other Level 2 | Level 2 for inter-area. Routing information is exchanged between | |||
RBridges. | Level 1 RBridges within the same Level 1 area, and Level 2 | |||
RBridges can only form relationships and exchange information with | ||||
other Level 2 RBridges. | ||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
Familiarity with [RFC6325] is assumed in this document. | Familiarity with [RFC6325] is assumed in this document. | |||
3. Nickname Handling on Border RBridges | 3. Nickname Handling on Border RBridges | |||
This section provides an illustrative example and description of the | This section provides an illustrative example and description of the | |||
border learning border RBridge nicknames. | border learning border RBridge nicknames. | |||
Area {2,20} level 2 Area {3,30} | Area {2,20} Level 2 Area {3,30} | |||
+-------------------+ +-----------------+ +--------------+ | +-------------------+ +-----------------+ +--------------+ | |||
| | | | | | | | | | | | | | |||
| S--RB27---Rx--Rz----RB2---Rb---Rc--Rd---Re--RB3---Rk--RB44---D | | | S--RB27---Rx--Rz----RB2---Rb---Rc--Rd---Re--RB3---Rk--RB44---D | | |||
| 27 | | 39 | | 44 | | | 27 | | 39 | | 44 | | |||
| ----RB20--- ----RB30--- | | | ----RB20--- ----RB30--- | | |||
+-------------------+ +-----------------+ +--------------+ | +-------------------+ +-----------------+ +--------------+ | |||
Figure 1: An Example Topology for TRILL Multilevel | Figure 1: An Example Topology for TRILL Multilevel | |||
In Figure 1, RB2, RB20, RB3 and RB30 are area border TRILL switches | In Figure 1, RB2, RB20, RB3, and RB30 are area border TRILL switches | |||
(RBridges). Their nicknames are 2, 20, 3 and 30 respectively and are | (RBridges). Their nicknames are 2, 20, 3, and 30, respectively, and | |||
used as TRILL switch identifiers in their areas [RFC6325]. Area | are used as TRILL switch identifiers in their areas [RFC6325]. Area | |||
border RBridges use the set of border nicknames to denote the L1 area | border RBridges use the set of border nicknames to denote the L1 area | |||
that they are attached to. For example, RB2 and RB20 use nicknames | that they are attached to. For example, RB2 and RB20 use nicknames | |||
{2,20} to denote the L1 area on the left. | {2,20} to denote the L1 area on the left. | |||
A source S is attached to RB27 and a destination D is attached to | A source S is attached to RB27 and a destination D is attached to | |||
RB44. RB27 has a nickname, say 27, and RB44 has a nickname, say 44 | RB44. RB27 has a nickname (say, 27), and RB44 has a nickname (say, | |||
(and in fact, they could even have the same nickname, since the TRILL | 44). (In fact, they could even have the same nickname, since the | |||
switch nickname will not be visible outside these Level 1 areas). | TRILL switch nickname will not be visible outside these Level 1 | |||
areas.) | ||||
3.1. Actions on Unicast Packets | 3.1. Actions on Unicast Packets | |||
Let's say that S transmits a frame to destination D and let's say | Let's say that S transmits a frame to destination D and let's say | |||
that D's location has been learned by the relevant TRILL switches | that D's location has been learned by the relevant TRILL switches | |||
already. These relevant switches have learned the following: | already. These relevant switches have learned the following: | |||
1) RB27 has learned that D is connected to nickname 3. | 1) RB27 has learned that D is connected to nickname 3. | |||
2) RB3 has learned that D is attached to nickname 44. | ||||
2) RB3 has learned that D is attached to nickname 44. | ||||
The following sequence of events will occur: | The following sequence of events will occur: | |||
- S transmits an Ethernet frame with source MAC = S and destination | 1. S transmits an Ethernet frame with source MAC = S and destination | |||
MAC = D. | MAC = D. | |||
- RB27 encapsulates with a TRILL header with ingress RBridge = 27, | 2. RB27 encapsulates with a TRILL header with ingress RBridge = 27 | |||
and egress RBridge = 3 producing a TRILL Data packet. | and egress RBridge = 3 producing a TRILL Data packet. | |||
- RB2 and RB20 have announced in the Level 1 IS-IS area designated | 3. RB2 and RB20 have announced in the Level 1 IS-IS area designated | |||
{2,20}, that they are attached to the nicknames of all the border | {2,20} that they are attached to the nicknames of all the border | |||
RBridges in the Level 2 area including RB3 and RB30. Therefore, | RBridges in the Level 2 area including RB3 and RB30. Therefore, | |||
IS-IS routes the packet to RB2 (or RB20, if RB20 on the least-cost | IS-IS routes the packet to RB2 (or RB20, if RB20 is on the least- | |||
route from RB27 to RB3). | cost route from RB27 to RB3). | |||
- RB2, when transitioning the packet from Level 1 to Level 2, | 4. RB2, when transitioning the packet from Level 1 to Level 2, | |||
replaces the ingress TRILL switch nickname with its own nickname, | replaces the ingress TRILL switch nickname with its own nickname, | |||
replacing 27 with 2. Within Level 2, the ingress RBridge field in | replacing 27 with 2. Within Level 2, the ingress RBridge field | |||
the TRILL header will therefore be 2, and the egress RBridge field | in the TRILL header will therefore be 2, and the egress RBridge | |||
will be 3. (The egress nickname MAY be replaced with any area | field will be 3. (The egress nickname MAY be replaced with any | |||
nickname selected from {3,30} such as 30. See Section 4 for the | area nickname selected from {3,30} such as 30. See Section 4 for | |||
detail of the selection method. Here, suppose the egress nickname | the detail of the selection method. Here, suppose the egress | |||
remains 3.) Also, RB2 learns that S is attached to nickname 27 in | nickname remains 3.) Also, RB2 learns that S is attached to | |||
area {2,20} to accommodate return traffic. RB2 SHOULD synchronize | nickname 27 in area {2,20} to accommodate return traffic. RB2 | |||
with RB20 using ESADI protocol [RFC7357] that MAC = S is attached | SHOULD synchronize with RB20 using the End Station Address | |||
to nickname 27. | Distribution Information (ESADI) protocol [RFC7357] that MAC = S | |||
is attached to nickname 27. | ||||
- The packet is forwarded through Level 2, to RB3, which has | 5. The packet is forwarded through Level 2, to RB3, which has | |||
advertised, in Level 2, its L2 nickname as 3. | advertised, in Level 2, its L2 nickname as 3. | |||
- RB3, when forwarding into area {3,30}, replaces the egress | 6. RB3, when forwarding into area {3,30}, replaces the egress | |||
nickname in the TRILL header with RB44's nickname (44) based on | nickname in the TRILL header with RB44's nickname (44) based on | |||
looking up D. (The ingress nickname MAY be replaced with any area | looking up D. (The ingress nickname MAY be replaced with any | |||
nickname selected from {2,20}. See Section 4 for the detail of the | area nickname selected from {2,20}. See Section 4 for the detail | |||
selection method. Here, suppose the ingress nickname remains 2.) | of the selection method. Here, suppose the ingress nickname | |||
So, within the destination area, the ingress nickname will be 2 | remains 2.) So, within the destination area, the ingress | |||
and the egress nickname will be 44. | nickname will be 2 and the egress nickname will be 44. | |||
- RB44, when decapsulating, learns that S is attached to nickname 2, | 7. RB44, when decapsulating, learns that S is attached to nickname | |||
which is one of the area nicknames of the ingress. | 2, which is one of the area nicknames of the ingress. | |||
3.2. Actions on Multi-Destination Packets | 3.2. Actions on Multi-destination Packets | |||
Distribution trees for flooding of multi-destination packets are | Distribution trees for flooding of multi-destination packets are | |||
calculated separately within each L1 area and in L2. When a multi- | calculated separately within each L1 area and in L2. When a multi- | |||
destination packet arrives at the border, it needs to be transitioned | destination packet arrives at the border, it needs to be transitioned | |||
either from L1 to L2, or from L2 to L1. All border RBridges are | either from L1 to L2, or from L2 to L1. All border RBridges are | |||
eligible for Level transition. However, for each multi-destination | eligible for Level transition. However, for each multi-destination | |||
packet, only one of them acts as the Designated Border RBridge (DBRB) | packet, only one of them acts as the Designated Border RBridge (DBRB) | |||
to do the transition while other non-DBRBs MUST drop the received | to do the transition while other non-DBRBs MUST drop the received | |||
copies. By default, the border RBridge with the smallest nickname, | copies. By default, the border RBridge with the smallest nickname, | |||
considered as an unsigned integer, is elected DBRB. All border | considered as an unsigned integer, is elected DBRB. All border | |||
RBridges of an area MUST agree on the mechanism used to determine the | RBridges of an area MUST agree on the mechanism used to determine the | |||
DBRB locally. The use of an alternative is possible, but out of the | DBRB locally. The use of an alternative is possible, but out of the | |||
scope of this document; one such mechanism is used in Section 4 for | scope of this document; one such mechanism is used in Section 4 for | |||
load balancing. | load balancing. | |||
As per [RFC6325], multi-destination packets can be classified into | As per [RFC6325], multi-destination packets can be classified into | |||
three types: unicast packet with unknown destination MAC address | three types: unicast packets with unknown destination MAC addresses | |||
(unknown-unicast packet), multicast packet and broadcast packet. Now | (unknown-unicast packets), multicast packets, and broadcast packets. | |||
suppose that D's location has not been learned by RB27 or the frame | Now suppose that D's location has not been learned by RB27 or the | |||
received by RB27 is recognized as broadcast or multicast. What will | frame received by RB27 is recognized as broadcast or multicast. What | |||
happen within a Level 1 area (as it would in TRILL today) is that | will happen within a Level 1 area (as it would in TRILL today) is | |||
RB27 will forward the packet as multi-destination, setting its M bit | that RB27 will forward the packet as multi-destination, setting its M | |||
to 1 and choosing an L1 tree, flooding the packet on the distribution | bit to 1 and choosing an L1 tree, which would flood the packet on | |||
tree, subject to possible pruning. | that distribution tree (subject to potential pruning). | |||
When the copies of the multi-destination packet arrive at area border | When the copies of the multi-destination packet arrive at area border | |||
RBridges, non-DBRBs MUST drop the packet while the DBRB, say RB2, | RBridges, non-DBRBs MUST drop the packet while the DBRB (say, RB2) | |||
needs to do the Level transition for the multi-destination packet. | needs to do the Level transition for the multi-destination packet. | |||
For an unknown-unicast packet, if the DBRB has learnt the destination | For an unknown-unicast packet, if the DBRB has learned the | |||
MAC address, it SHOULD convert the packet to unicast and set its M | destination MAC address, it SHOULD convert the packet to unicast and | |||
bit to 0. Otherwise, the multi-destination packet will continue to be | set its M bit to 0. Otherwise, the multi-destination packet will | |||
flooded as multicast packet on the distribution tree. The DBRB | continue to be flooded as a multicast packet on the distribution | |||
chooses the new distribution tree by replacing the egress nickname | tree. The DBRB chooses the new distribution tree by replacing the | |||
with the new tree root RBridge nickname from the area the packet is | egress nickname with the new tree root RBridge nickname from the area | |||
entering. The following sequence of events will occur: | the packet is entering. The following sequence of events will occur: | |||
- RB2, when transitioning the packet from Level 1 to Level 2, | 1. RB2, when transitioning the packet from Level 1 to Level 2, | |||
replaces the ingress TRILL switch nickname with its own nickname, | replaces the ingress TRILL switch nickname with its own nickname, | |||
replacing 27 with 2. RB2 also MUST replace the egress RBridge | replacing 27 with 2. RB2 also MUST replace the egress RBridge | |||
nickname with an L2 tree root RBridge nickname (say 39). In order | nickname with an L2 tree root RBridge nickname (say, 39). In | |||
to accommodate return traffic, RB2 records that S is attached to | order to accommodate return traffic, RB2 records that S is | |||
nickname 27 and SHOULD use the ESADI protocol [RFC7357] to | attached to nickname 27 and SHOULD use the ESADI protocol | |||
synchronize this attachment information with other border RBridges | [RFC7357] to synchronize this attachment information with other | |||
(say RB20) in the area. | border RBridges (say, RB20) in the area. | |||
- RB20, will receive the packet flooded on the L2 tree by RB2. It is | 2. RB20 will receive the packet flooded on the L2 tree by RB2. It | |||
important that RB20 does not transition this packet back to L1 as | is important that RB20 does not transition this packet back to L1 | |||
it does for a multicast packet normally received from another | as it does for a multicast packet normally received from another | |||
remote L1 area. RB20 should examine the ingress nickname of this | remote L1 area. RB20 should examine the ingress nickname of this | |||
packet. If this nickname is found to be a border RBridge nickname | packet. If this nickname is found to be a border RBridge | |||
of the area {2,20}, RB2 must not forward the packet into this | nickname of the area {2,20}, RB2 must not forward the packet into | |||
area. | this area. | |||
- The multidestination packet is flooded on the Level 2 tree to | 3. The multi-destination packet is flooded on the Level 2 tree to | |||
reach all border routers for all L1 areas including both RB3 and | reach all border routers for all L1 areas including both RB3 and | |||
RB30. Suppose RB3 is the selected DBRB. The non-DBRB RB30 will | RB30. Suppose RB3 is the selected DBRB. The non-DBRB RB30 will | |||
drop the packet. | drop the packet. | |||
- RB3, when forwarding into area {3,30}, replaces the egress | 4. RB3, when forwarding into area {3,30}, replaces the egress | |||
nickname in the TRILL header with the root RBridge nickname of a | nickname in the TRILL header with the root RBridge nickname of a | |||
distribution tree of L1 area {3,30} say 30. (Here, the ingress | distribution tree of L1 area {3,30} -- say, 30. (Here, the | |||
nickname MAY be replaced with a different area nickname selected | ingress nickname MAY be replaced with a different area nickname | |||
from {2,20}, the set of border RBridges to the ingress area, as | selected from {2,20}, the set of border RBridges to the ingress | |||
specified in Section 4.) Now suppose that RB27 has learned the | area, as specified in Section 4.) Now suppose that RB27 has | |||
location of D (attached to nickname 3), but RB3 does not know | learned the location of D (attached to nickname 3), but RB3 does | |||
where D is because this information has fallen out of cache or RB3 | not know where D is because this information has fallen out of | |||
has re-started or some other reason. In that case, RB3 must turn | cache or RB3 has restarted or some other reason. In that case, | |||
the packet into a multi-destination packet and floods it on a | RB3 must turn the packet into a multi-destination packet and then | |||
distribution tree in the L1 area {3,30}. | floods it on a distribution tree in the L1 area {3,30}. | |||
- RB30, will receive the packet flooded on the L1 tree by RB3. It is | 5. RB30 will receive the packet flooded on the L1 tree by RB3. It | |||
important that RB30 does not transition this packet back to L2. | is important that RB30 does not transition this packet back to | |||
RB30 should also examine the ingress nickname of this packet. If | L2. RB30 should also examine the ingress nickname of this | |||
this nickname is found to be an L2 border RBridge nickname, RB30 | packet. If this nickname is found to be an L2 Border RBridge | |||
must not transition the packet back to L2. | Nickname, RB30 must not transition the packet back to L2. | |||
- The multicast listener RB44, when decapsulating the received | 6. The multicast listener RB44, when decapsulating the received | |||
packet, learns that S is attached to nickname 2, which is one of | packet, learns that S is attached to nickname 2, which is one of | |||
the area nicknames of the ingress. | the area nicknames of the ingress. | |||
See also Appendix A. | See also Appendix A. | |||
4. Per-flow Load Balancing | 4. Per-Flow Load Balancing | |||
Area border RBridges perform ingress/egress nickname replacement when | Area border RBridges perform ingress/egress nickname replacement when | |||
they transition TRILL data packets between Level 1 and Level 2. The | they transition TRILL Data packets between Level 1 and Level 2. The | |||
egress nickname will again be replaced when the packet transitions | egress nickname will again be replaced when the packet transitions | |||
from Level 2 to Level 1. This nickname replacement enables the per- | from Level 2 to Level 1. This nickname replacement enables the per- | |||
flow load balance which is specified in the following subsections. | flow load balance, which is specified in the following subsections. | |||
The mechanism specified in Setion 4.1 or that in 4.2 or both is | The mechanism specified in Section 4.1 or that in Section 4.2 or both | |||
necessary in general to load balance traffic across L2 paths. | is necessary in general to load-balance traffic across L2 paths. | |||
4.1. L2 to L1 Ingress Nickname Replacement | 4.1. L2-to-L1 Ingress Nickname Replacement | |||
When a TRILL data packet from other L1 areas arrives at an area | When a TRILL Data packet from other L1 areas arrives at an area | |||
border RBridge, this RBridge MAY select one area nickname of the | border RBridge, this RBridge MAY select one area nickname of the | |||
ingress area to replace the ingress nickname of the packet so that | ingress area to replace the ingress nickname of the packet so that | |||
the returning TRILL data packet can be forwarded to this selected | the returning TRILL Data packet can be forwarded to this selected | |||
nickname to help load balance return unicast traffic over multiple | nickname to help load-balance return unicast traffic over multiple | |||
paths. The selection is simply based on a pseudorandom algorithm as | paths. The selection is simply based on a pseudorandom algorithm as | |||
discussed in Section 5.3 of [RFC7357]. With the random ingress | discussed in Section 5.3 of [RFC7357]. With the random ingress | |||
nickname replacement, the border RBridge actually achieves a per-flow | nickname replacement, the border RBridge actually achieves a per-flow | |||
load balance for returning traffic. | load balance for returning traffic. | |||
All area border RBridges for an L1 area MUST agree on the same | All area border RBridges for an L1 area MUST agree on the same | |||
pseudorandom algorithm. The source MAC address, ingress area | pseudorandom algorithm. The source MAC address, ingress area | |||
nicknames, egress area nicknames and the Data Label of the received | nicknames, egress area nicknames, and the Data Label of the received | |||
TRILL data packet are candidate factors of the input of this | TRILL Data packet are candidate factors of the input of this | |||
pseudorandom algorithm. Note that the value of the destination MAC | pseudorandom algorithm. Note that the value of the destination MAC | |||
address SHOULD be excluded from the input of this pseudorandom | address SHOULD be excluded from the input of this pseudorandom | |||
algorithm, otherwise the egress RBridge could see one source MAC | algorithm; otherwise, the egress RBridge could see one source MAC | |||
address flip-flopping among multiple ingress RBridges. | address flip-flopping among multiple ingress RBridges. | |||
4.2. L1 to L2 Egress Nickname Replacement | 4.2. L1-to-L2 Egress Nickname Replacement | |||
When a unicast TRILL data packet originated from an L1 area arrives | When a unicast TRILL Data packet originated from an L1 area arrives | |||
at an area border RBridge of that L1 area, that RBridge MAY select | at an area border RBridge of that L1 area, that RBridge MAY select | |||
one area nickname of the egress area to replace the egress nickname | one area nickname of the egress area to replace the egress nickname | |||
of the packet. By default, it SHOULD choose the egress area border | of the packet. By default, it SHOULD choose the egress area border | |||
RBridge with the least cost route to reach or, if there are multiple | RBridge with the least cost route to reach or, if there are multiple | |||
equal cost egress area border RBridges, use the pseudorandom | equal cost egress area border RBridges, use the pseudorandom | |||
algorithm as defined in Section 5.3 of [RFC7357] to select one. The | algorithm as defined in Section 5.3 of [RFC7357] to select one. The | |||
use of that algorithm MAY be extended to selection among some stable | use of that algorithm MAY be extended to selection among some stable | |||
set of egress area border RBridges that include non-least-cost | set of egress area border RBridges that include non-least-cost | |||
alternatives if it is desired to obtain more load spreading at the | alternatives if it is desired to obtain more load spreading at the | |||
cost of sometimes using a non-least-cost Level 2 route to forward the | cost of sometimes using a non-least-cost Level 2 route to forward the | |||
TRILL data packet to the egress area. | TRILL Data packet to the egress area. | |||
5. Protocol Extensions for Discovery | 5. Protocol Extensions for Discovery | |||
The following topology change scenarios will trigger the discovery | The following topology change scenarios will trigger the discovery | |||
processes as defined in Sections 5.1 and 5.2: | processes as defined in Sections 5.1 and 5.2: | |||
- A new node comes up or recovers from a previous failure. | ||||
- A node goes down. | * A new node comes up or recovers from a previous failure. | |||
- A link or node fails and causes partition of an L1/L2 area. | ||||
- A link or node whose failure have caused partitioning of an L1/L2 | * A node goes down. | |||
* A link or node fails and causes partition of an L1/L2 area. | ||||
* A link or node whose failure has caused partitioning of an L1/L2 | ||||
area is repaired. | area is repaired. | |||
5.1. Discovery of Border RBridges in L1 | 5.1. Discovery of Border RBridges in L1 | |||
The following Level 1 Border RBridge APPsub-TLV will be included in | The following Level 1 Border RBridge APPsub-TLV will be included in | |||
an E-L1FS FS-LSP fragment zero [RFC7780] as an APPsub-TLV of the | E-L1FS FS-LSP fragment zero [RFC7780] as an APPsub-TLV of the TRILL | |||
TRILL GENINFO-TLV. Through listening for this APPsub-TLV, an area | GENINFO-TLV. Through listening for this APPsub-TLV, an area border | |||
border RBridge discovers all other area border RBridges in this area. | RBridge discovers all other area border RBridges in this area. | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type = L1-BORDER-RBRIDGE | (2 bytes) | | Type = L1-BORDER-RBRIDGE | (2 bytes) | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Length | (2 bytes) | | Length | (2 bytes) | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sender Nickname | (2 bytes) | | Sender Nickname | (2 bytes) | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
o Type: Level 1 Border RBridge (TRILL APPsub-TLV type tbd1) | Type: Level 1 Border RBridge (TRILL APPsub-TLV type 256) | |||
o Length: 2 | Length: 2 | |||
o Sender Nickname: The nickname the originating IS will use as the | Sender Nickname: The nickname the originating IS will use as the L1 | |||
L1 Border RBridge nickname. This field is useful because the | Border RBridge Nickname. This field is useful because the | |||
originating IS might own multiple nicknames. | originating IS might own multiple nicknames. | |||
5.2. Discovery of Border RBridge Sets in L2 | 5.2. Discovery of Border RBridge Sets in L2 | |||
The following APPsub-TLV will be included in an E-L2FS FS-LSP | The following APPsub-TLV will be included in an E-L2FS FS-LSP | |||
fragment zero [RFC7780] as an APPsub-TLV of the TRILL GENINFO-TLV. | fragment zero [RFC7780] as an APPsub-TLV of the TRILL GENINFO-TLV. | |||
Through listening to this APPsub-TLV in L2, an area border RBridge | Through listening to this APPsub-TLV in L2, an area border RBridge | |||
discovers all groups of L1 border RBridges and each such group | discovers all groups of L1 border RBridges and each such group | |||
identifies an area. | identifies an area. | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type = L1-BORDER-RB-GROUP | (2 bytes) | | Type = L1-BORDER-RB-GROUP | (2 bytes) | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Length | (2 bytes) | | Length | (2 bytes) | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| L1 Border RBridge Nickname 1 | (2 bytes) | | L1 Border RBridge Nickname 1 | (2 bytes) | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| L1 Border RBridge Nickname k | (2 bytes) | | L1 Border RBridge Nickname k | (2 bytes) | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
o Type: Level 1 Border RBridge Group (TRILL APPsub-TLV type tbd2) | Type: Level 1 Border RBridge Group (TRILL APPsub-TLV type 257) | |||
o Length: 2 * k. If length is not a multiple of 2, the APPsub-TLV is | Length: 2 * k. If length is not a multiple of 2, the APPsub-TLV is | |||
corrupt and MUST be ignored. | corrupt and MUST be ignored. | |||
o L1 Border RBridge Nickname: The nickname that an area border | L1 Border RBridge Nickname: The nickname that an area border RBridge | |||
RBridge uses as the L1 Border RBridge nickname. The L1-BORDER-RB- | uses as the L1 Border RBridge Nickname. The L1-BORDER-RB-GROUP | |||
GROUP TLV generated by an area border RBridge MUST include all L1 | TLV generated by an area border RBridge MUST include all L1 Border | |||
Border RBridge nicknames of the area. It's RECOMMENDED that these | RBridge Nicknames of the area. It's RECOMMENDED that these k | |||
k nicknames are ordered in ascending order according to the | nicknames are ordered in ascending order according to the 2-octet | |||
2-octet nickname considered as an unsigned integer. | nickname considered as an unsigned integer. | |||
When an L1 area is partitioned [RFC8243], border RBridges will re- | When an L1 area is partitioned [RFC8243], border RBridges will re- | |||
discover each other in both L1 and L2 through exchanging LSPs. In L2, | discover each other in both L1 and L2 through exchanging LSPs. In | |||
the set of border RBridge nicknames for this splitting area will | L2, the set of border RBridge nicknames for this splitting area will | |||
change. Border RBridges that detect such a change MUST flush the | change. Border RBridges that detect such a change MUST flush the | |||
reachability information associated to any RBridge nickname from this | reachability information associated to any RBridge nickname from this | |||
changing set. | changing set. | |||
6. One Border RBridge Connects Multiple Areas | 6. One Border RBridge Connects Multiple Areas | |||
It's possible that one border RBridge (say RB1) connects multiple L1 | It's possible that one border RBridge (say, RB1) connects multiple L1 | |||
areas. RB1 SHOULD use a single area nickname for itself for all these | areas. RB1 SHOULD use a single area nickname for itself for all | |||
areas to minimize nickname consumption and the number of nicknames | these areas to minimize nickname consumption and the number of | |||
being advertised in L2; however, such a border RBridge might have to | nicknames being advertised in L2; however, such a border RBridge | |||
hold multiple nicknames, for example it might the root of multiple L1 | might have to hold multiple nicknames -- for example, it might be the | |||
or multiple L2 distribution trees. | root of multiple L1 or multiple L2 distribution trees. | |||
Nicknames used within one of these L1 areas can be reused within | Nicknames used within one of these L1 areas can be reused within | |||
other areas. It's important that packets destined to those duplicated | other areas. It's important that packets destined to those | |||
nicknames are sent to the right area. Since these areas are connected | duplicated nicknames are sent to the right area. Since these areas | |||
to form a layer 2 network, duplicated {MAC, Data Label} across these | are connected to form a layer 2 network, duplicated {MAC, Data Label} | |||
areas SHOULD NOT occur (see Section 4.2.6 of [RFC6325] for tie | across these areas SHOULD NOT occur (see Section 4.2.6 of [RFC6325] | |||
breaking rules). Now suppose a TRILL data packet arrives at the area | for tie breaking rules). Now suppose a TRILL Data packet arrives at | |||
border nickname of RB1. For a unicast packet, RB1 can look up the | the area border nickname of RB1. For a unicast packet, RB1 can look | |||
{MAC, Data Label} entry in its MAC table to identify the right | up the {MAC, Data Label} entry in its MAC table to identify the right | |||
destination area (i.e., the outgoing interface) and the egress | destination area (i.e., the outgoing interface) and the egress | |||
RBridge's nickname. For a multicast packet for each attached L1 | RBridge's nickname. For a multicast packet for each attached L1 | |||
area: either RB1 is not the DBRB and RB1 will not transition the | area: either RB1 is not the DBRB and RB1 will not transition the | |||
packet or RB1 is the DBRB. If RB1 is the DBRB, RB1 follows the | packet, or RB1 is the DBRB. If RB1 is the DBRB, RB1 follows the | |||
following rules: | following rules: | |||
- if this packet originated from an area out of the connected areas, | * If this packet originated from an area out of the connected areas, | |||
RB1 replicates this packet and floods it on the proper Level 1 | RB1 replicates this packet and floods it on the proper Level 1 | |||
trees of all the areas in which it acts as the DBRB. | trees of all the areas in which it acts as the DBRB. | |||
- if the packet originated from one of the connected areas, RB1 | * If the packet originated from one of the connected areas, RB1 | |||
replicates the packet it receives from the Level 1 tree and floods | replicates the packet it receives from the Level 1 tree and floods | |||
it on other proper Level 1 trees of all the areas in which it acts | it on other proper Level 1 trees of all the areas in which it acts | |||
as the DBRB except the originating area (i.e., the area connected | as the DBRB except the originating area (i.e., the area connected | |||
to the incoming interface). RB1 might also receive the replication | to the incoming interface). RB1 might also receive the | |||
of the packet from the Level 2 tree. This replication MUST be | replication of the packet from the Level 2 tree. This replication | |||
dropped by RB1. It recognizes such packets by their ingress | MUST be dropped by RB1. It recognizes such packets by their | |||
nickname being the nickname of one of the border RBridges of an L1 | ingress nickname being the nickname of one of the border RBridges | |||
area for which the receiving border RBridge is DBRB. | of an L1 area for which the receiving border RBridge is DBRB. | |||
7. E-L1FS/E-L2FS Backwards Compatibility | 7. E-L1FS/E-L2FS Backwards Compatibility | |||
All Level 2 RBridges MUST support E-L2FS [RFC7356] [RFC7780]. The | All Level 2 RBridges MUST support E-L2FS [RFC7356] [RFC7780]. The | |||
Extended TLVs defined in Section 5 are to be used in Extended Level | Extended TLVs defined in Section 5 are to be used in Extended Level | |||
1/2 Flooding Scope (E-L1FS/E-L2FS) PDUs. Area border RBridges MUST | 1/2 Flooding Scope (E-L1FS/E-L2FS) Protocol Data Units (PDUs). Area | |||
support both E-L1FS and E-L2FS. RBridges that do not support both | border RBridges MUST support both E-L1FS and E-L2FS. RBridges that | |||
E-L1FS or E-L2FS cannot serve as area border RBridges but they can | do not support both E-L1FS or E-L2FS cannot serve as area border | |||
appear in an L1 area acting as non-area-border RBridges. | RBridges but they can appear in an L1 area acting as non-area-border | |||
RBridges. | ||||
8. Manageability Considerations | 8. Manageability Considerations | |||
If an L1 Border RBridge Nickname is configured at an RBridge and that | If an L1 Border RBridge Nickname is configured at an RBridge and that | |||
RBridge has both L1 and L2 adjacencies, the multilevel feature as | RBridge has both L1 and L2 adjacencies, the multilevel feature as | |||
specified in this document is turned on for that RBridge and it | specified in this document is turned on for that RBridge and normally | |||
normally uses an L2 nickname in both L1 and L2 although, as provided | uses an L2 nickname in both L1 and L2 although, as provided below, | |||
below, such an RBridge may have to fall back to multilevel unique | such an RBridge may have to fall back to multilevel unique nickname | |||
nickname behavior [RFC8397] in which case it uses this L1 nickname. | behavior [RFC8397], in which case it uses this L1 nickname. In | |||
In contrast, unique nickname multilevel as specified in [RFC8397] is | contrast, unique nickname multilevel as specified in [RFC8397] is | |||
enabled by the presence of L1 and L2 adjacencies without an L1 Border | enabled by the presence of L1 and L2 adjacencies without an L1 Border | |||
RBridge Nickname being configured. RBridges supporting only unique | RBridge Nickname being configured. RBridges supporting only unique | |||
nickname multilevel do not support the configuration of an L2 Border | nickname multilevel do not support the configuration of an L2 Border | |||
RBridge Nickname. RBridges supporting only the single level TRILL | RBridge Nickname. RBridges supporting only the single-level TRILL | |||
base protocol specified in [RFC6325] do not support L2 adjacencies. | base protocol specified in [RFC6325] do not support L2 adjacencies. | |||
RBridges that support and are configured to use single nickname | RBridges that support and are configured to use single nickname | |||
multilevel as specified in this document MUST support unique nickname | multilevel as specified in this document MUST support unique nickname | |||
multilevel ([RFC8397]). If there are multiple border RBridges | multilevel [RFC8397]. If there are multiple border RBridges between | |||
between an L1 area and L2 and one or more of them only support or are | an L1 area and L2, and one or more of them only support or are only | |||
only configured for unique nickname multilevel ([RFC8397]), any of | configured for unique nickname multilevel [RFC8397], any of these | |||
these border RBridges that are configured to use single nickname | border RBridges that are configured to use single nickname multilevel | |||
multilevel MUST fall back to behaving as a unique nickname border | MUST fall back to behaving as a unique nickname border RBridge for | |||
RBridge for that L1 area. Because overlapping sets of RBridges may be | that L1 area. Because overlapping sets of RBridges may be the border | |||
the border RBridges for different L1 areas, an RBridge supporting | RBridges for different L1 areas, an RBridge supporting single | |||
single nickname MUST be able to simultaneously support single | nickname MUST be able to simultaneously support single nickname for | |||
nickname for some of its L1 areas and unique nickname for others. For | some of its L1 areas and unique nickname for others. For example, | |||
example, RB1 and RB2 might be border RBridges for L1 area A1 using | RB1 and RB2 might be border RBridges for L1 area A1 using single | |||
single nickname while RB2 and RB3 are border RBridges for area A2. If | nickname while RB2 and RB3 are border RBridges for area A2. If RB3 | |||
RB3 only supports unique nicknames then RB2 must fall back to unique | only supports unique nicknames, then RB2 must fall back to unique | |||
nickname for area A2 but continue to support single nickname for area | nickname for area A2 but continue to support single nickname for area | |||
A1. Operators SHOULD be notified when this fall back occurs. The | A1. Operators SHOULD be notified when this fallback occurs. The | |||
presence of border RBridges using unique nickname multilevel can be | presence of border RBridges using unique nickname multilevel can be | |||
detected because they advertise in L1 the blocks of nicknames | detected because they advertise in L1 the blocks of nicknames | |||
available within that L1 area. | available within that L1 area. | |||
In both the unique nickname approach specified in [RFC8397] and the | In both the unique nickname approach specified in [RFC8397] and the | |||
single nickname aggregated approach specified in this document, an | single nickname aggregated approach specified in this document, an | |||
RBridge that has L1 and L2 adjacencies uses the same nickname in L1 | RBridge that has L1 and L2 adjacencies uses the same nickname in L1 | |||
and L2. If an RBridge is configured with an L1 Border RBridge | and L2. If an RBridge is configured with an L1 Border RBridge | |||
Nickname for any a Level 1 area, it uses this nickname across the | Nickname for any a Level 1 area, it uses this nickname across the | |||
Level 2 area. This L1 Border RBridge Nickname cannot be used in any | Level 2 area. This L1 Border RBridge Nickname cannot be used in any | |||
other Level 1 area except other Level 1 areas for which the same | other Level 1 area except other Level 1 areas for which the same | |||
RBridge is a border RBridge with this L1 Border RBridge Nickname | RBridge is a border RBridge with this L1 Border RBridge Nickname | |||
configured. | configured. | |||
In addition to the manageability considerations specified above, the | In addition to the manageability considerations specified above, the | |||
manageability specifications in [RFC6325] still apply. | manageability specifications in [RFC6325] still apply. | |||
Border RBridges replace ingress and/or egress nickname when a TRILL | Border RBridges replace ingress and/or egress nickname when a TRILL | |||
data packet traverses TRILL L2 area. A TRILL OAM message will be | Data packet traverses a TRILL L2 area. A TRILL Operations, | |||
forwarded through the multilevel single nickname TRILL campus using a | Administration, and Maintenance (OAM) message will be forwarded | |||
MAC address belonging to the destination RBridge [RFC7455]. | through the multilevel single nickname TRILL campus using a MAC | |||
address belonging to the destination RBridge [RFC7455]. | ||||
9. Security Considerations | 9. Security Considerations | |||
For general TRILL Security Considerations, see [RFC6325]. | For general TRILL Security Considerations, see [RFC6325]. | |||
The newly defined TRILL APPsub-TLVs in Section 5 are transported in | The newly defined TRILL APPsub-TLVs in Section 5 are transported in | |||
IS-IS PDUs whose authenticity can be enforced using regular IS-IS | IS-IS PDUs whose authenticity can be enforced using regular IS-IS | |||
security mechanism [IS-IS] [RFC5310]. Malicious devices may also fake | security mechanism [IS-IS] [RFC5310]. Malicious devices may also | |||
the APPsub-TLVs to attract TRILL data packets, interfere with | fake the APPsub-TLVs to attract TRILL Data packets, interfere with | |||
multilevel TRILL operation, induce excessive state in TRILL switches | multilevel TRILL operation, induce excessive state in TRILL switches | |||
(or in any bridges that may be part of the TRILL campus), etc. For | (or in any bridges that may be part of the TRILL campus), etc. For | |||
this reason, RBridges SHOULD be configured to use the IS-IS | this reason, RBridges SHOULD be configured to use the IS-IS | |||
Authentication TLV (10) in their IS-IS PDUs so that IS-IS security | Authentication TLV (10) in their IS-IS PDUs so that IS-IS security | |||
[RFC5310] can be used to authenticate those PDUs and discard them if | [RFC5310] can be used to authenticate those PDUs and discard them if | |||
they are forged. | they are forged. | |||
Using a variation of aggregated nicknames, and the resulting possible | Using a variation of aggregated nicknames, and the resulting possible | |||
duplication of nicknames between areas, increases the possibility of | duplication of nicknames between areas, increases the possibility of | |||
a TRILL Data packet being delivered to the wrong egress RBridge if | a TRILL Data packet being delivered to the wrong egress RBridge if | |||
areas are unexpectedly merged as compared with a scheme were all | areas are unexpectedly merged as compared with a scheme where all | |||
nicknames in the TRILL campus are, except as a transient condition, | nicknames in the TRILL campus are, except as a transient condition, | |||
unique such as the scheme in [RFC8397]. However, in many cases the | unique such as the scheme in [RFC8397]. However, in many cases, the | |||
data would be discarded at that egress RBridge because it would not | data would be discarded at that egress RBridge because it would not | |||
match a known end station data label/MAC address. | match a known end station Data Label / MAC address. | |||
10. IANA Considerations | 10. IANA Considerations | |||
IANA is requested to allocate two new types under the TRILL GENINFO | IANA has allocated two new types under the TRILL GENINFO TLV | |||
TLV [RFC7357] from the range allocated by standards action for the | [RFC7357] from the range allocated by Standards Action [RFC8126] for | |||
TRILL APPsub-TLVs defined in Section 5. The following entries are | the TRILL APPsub-TLVs defined in Section 5. The following entries | |||
added to the "TRILL APPsub-TLV Types under IS-IS TLV 251 Application | have been added to the "TRILL APPsub-TLV Types under IS-IS TLV 251 | |||
Identifier 1" Registry on the TRILL Parameters IANA web page. | Application Identifier 1" registry on the TRILL Parameters IANA web | |||
page. | ||||
Type Name Reference | +======+====================+===========+ | |||
--------- ---- --------- | | Type | Name | Reference | | |||
tbd1[256] L1-BORDER-RBRIDGE [This document] | +======+====================+===========+ | |||
tbd2[257] L1-BORDER-RB-GROUP [This document] | | 256 | L1-BORDER-RBRIDGE | RFC 9183 | | |||
+------+--------------------+-----------+ | ||||
| 257 | L1-BORDER-RB-GROUP | RFC 9183 | | ||||
+------+--------------------+-----------+ | ||||
11. References | Table 1 | |||
11.1. Normative References | 11. References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | 11.1. Normative References | |||
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. | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Ghanwani, "Routing Bridges (RBridges): Base Protocol | Requirement Levels", BCP 14, RFC 2119, | |||
Specification", RFC 6325, DOI 10.17487/RFC6325, July 2011, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc6325>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC7356] Ginsberg, L., Previdi, S., and Y. Yang, "IS-IS Flooding | [RFC6325] Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A. | |||
Scope Link State PDUs (LSPs)", RFC 7356, DOI | Ghanwani, "Routing Bridges (RBridges): Base Protocol | |||
10.17487/RFC7356, September 2014, <https://www.rfc- | Specification", RFC 6325, DOI 10.17487/RFC6325, July 2011, | |||
editor.org/info/rfc7356>. | <https://www.rfc-editor.org/info/rfc6325>. | |||
[RFC7357] Zhai, H., Hu, F., Perlman, R., Eastlake 3rd, D., and O. | [RFC7356] Ginsberg, L., Previdi, S., and Y. Yang, "IS-IS Flooding | |||
Stokes, "Transparent Interconnection of Lots of Links | Scope Link State PDUs (LSPs)", RFC 7356, | |||
(TRILL): End Station Address Distribution Information | DOI 10.17487/RFC7356, September 2014, | |||
(ESADI) Protocol", RFC 7357, DOI 10.17487/RFC7357, | <https://www.rfc-editor.org/info/rfc7356>. | |||
September 2014, <https://www.rfc-editor.org/info/rfc7357>. | ||||
[RFC7455] Senevirathne, T., Finn, N., Salam, S., Kumar, D., Eastlake | [RFC7357] Zhai, H., Hu, F., Perlman, R., Eastlake 3rd, D., and O. | |||
3rd, D., Aldrin, S., and Y. Li, "Transparent | Stokes, "Transparent Interconnection of Lots of Links | |||
Interconnection of Lots of Links (TRILL): Fault | (TRILL): End Station Address Distribution Information | |||
Management", RFC 7455, DOI 10.17487/RFC7455, March 2015, | (ESADI) Protocol", RFC 7357, DOI 10.17487/RFC7357, | |||
<https://www.rfc-editor.org/info/rfc7455>. | September 2014, <https://www.rfc-editor.org/info/rfc7357>. | |||
[RFC7780] Eastlake 3rd, D., Zhang, M., Perlman, R., Banerjee, A., | [RFC7455] Senevirathne, T., Finn, N., Salam, S., Kumar, D., Eastlake | |||
Ghanwani, A., and S. Gupta, "Transparent Interconnection of | 3rd, D., Aldrin, S., and Y. Li, "Transparent | |||
Lots of Links (TRILL): Clarifications, Corrections, and | Interconnection of Lots of Links (TRILL): Fault | |||
Updates", RFC 7780, DOI 10.17487/RFC7780, February 2016, | Management", RFC 7455, DOI 10.17487/RFC7455, March 2015, | |||
<https://www.rfc-editor.org/info/rfc7780>. | <https://www.rfc-editor.org/info/rfc7455>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 | [RFC7780] Eastlake 3rd, D., Zhang, M., Perlman, R., Banerjee, A., | |||
Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May | Ghanwani, A., and S. Gupta, "Transparent Interconnection | |||
2017, <https://www.rfc-editor.org/info/rfc8174>. | of Lots of Links (TRILL): Clarifications, Corrections, and | |||
Updates", RFC 7780, DOI 10.17487/RFC7780, February 2016, | ||||
<https://www.rfc-editor.org/info/rfc7780>. | ||||
[RFC8397] Zhang, M., Eastlake 3rd, D., Perlman, R., Zhai, H., and D. | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Liu, "Transparent Interconnection of Lots of Links (TRILL) | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
Multilevel Using Unique Nicknames", RFC 8397, DOI | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
10.17487/RFC8397, May 2018, <https://www.rfc- | <https://www.rfc-editor.org/info/rfc8126>. | |||
editor.org/info/rfc8397>. | ||||
11.2. Informative References | [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, ISO/IEC | [RFC8397] Zhang, M., Eastlake 3rd, D., Perlman, R., Zhai, H., and D. | |||
10589:2002, "Information technology -- Telecommunications | Liu, "Transparent Interconnection of Lots of Links (TRILL) | |||
and information exchange between systems -- Intermediate | Multilevel Using Unique Nicknames", RFC 8397, | |||
System to Intermediate System intra-domain routeing | DOI 10.17487/RFC8397, May 2018, | |||
information exchange protocol for use in conjunction with | <https://www.rfc-editor.org/info/rfc8397>. | |||
the protocol for providing the connectionless-mode network | ||||
service", ISO 8473, Second Edition, November 2002. | ||||
[RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., | 11.2. Informative References | |||
and M. Fanto, "IS-IS Generic Cryptographic Authentication", | ||||
RFC 5310, DOI 10.17487/RFC5310, February 2009, | ||||
<https://www.rfc-editor.org/info/rfc5310>. | ||||
[RFC8243] Perlman, R., Eastlake 3rd, D., Zhang, M., Ghanwani, A., and | [IS-IS] International Organization for Standardization, | |||
H. Zhai, "Alternatives for Multilevel Transparent | "Information technology -- Telecommunications and | |||
Interconnection of Lots of Links (TRILL)", RFC 8243, DOI | information exchange between systems -- Intermediate | |||
10.17487/RFC8243, September 2017, <https://www.rfc- | System to Intermediate System intra-domain routeing | |||
editor.org/info/rfc8243>. | information exchange protocol for use in conjunction with | |||
the protocol for providing the connectionless-mode network | ||||
service (ISO 8473)", ISO 8473, ISO/IEC 10589:2002, Second | ||||
Edition, November 2002. | ||||
Appendix A. Level Transition Clarification | [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>. | ||||
[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>. | ||||
Appendix A. Level Transition Clarification | ||||
It's possible that an L1 RBridge is only reachable from a non-DBRB | It's possible that an L1 RBridge is only reachable from a non-DBRB | |||
border RBridge. If this non-DBRB RBridge refrains from Level | border RBridge. If this non-DBRB RBridge refrains from Level | |||
transition, the question is, how can a multicast packet reach this L1 | transition, the question is, how can a multicast packet reach this L1 | |||
RBridge? The answer is, it will be reached after the DBRB performs | RBridge? The answer is, it will be reached after the DBRB performs | |||
the Level transition and floods the packet using an L1 distribution | the Level transition and floods the packet using an L1 distribution | |||
tree. | tree. | |||
Take the following figure as an example. RB77 is reachable from the | Take the following figure as an example. RB77 is reachable from the | |||
border RBridge RB30 while RB3 is the DBRB. RB3 transitions the | border RBridge RB30 while RB3 is the DBRB. RB3 transitions the | |||
multicast packet into L1 and floods the packet on the distribution | multicast packet into L1 and floods the packet on the distribution | |||
tree rooted from RB3. This packet is finally flooded to RB77 via | tree rooted from RB3. This packet is finally flooded to RB77 via | |||
RB30. | RB30. | |||
Area{3,30} | Area{3,30} | |||
+--------------+ (root) RB3 o | +--------------+ (root) RB3 o | |||
| | \ | | | \ | |||
-RB3 | | o RB30 | -RB3 | | o RB30 | |||
| | | / | | | | / | |||
-RB30-RB77 | RB77 o | -RB30-RB77 | RB77 o | |||
+--------------+ | +--------------+ | |||
Example Topology L1 Tree | Example Topology L1 Tree | |||
In the above example, the multicast packet is forwarded along a non- | In the above example, the multicast packet is forwarded along a non- | |||
optimal path. A possible improvement is to have RB3 configured not to | optimal path. A possible improvement is to have RB3 configured not | |||
belong to this area. In this way, RB30 will surely act as the DBRB to | to belong to this area. In this way, RB30 will surely act as the | |||
do the Level transition. | DBRB to do the Level transition. | |||
Authors' Addresses | Authors' Addresses | |||
Mingui Zhang | Mingui Zhang | |||
Huawei Technologies | Independent | |||
No. 156 Beiqing Rd. Haidian District | Beijing | |||
Beijing 100095 | China | |||
China | ||||
Email: zhangmingui@huawei.com | ||||
Donald E. Eastlake, 3rd | ||||
Futurewei Technologies | ||||
2386 Panoramic Circle | ||||
Apopka, FL 32703 | ||||
United States | ||||
Phone: +1-508-333-2270 | ||||
Email: d3e3e3@gmail.com | ||||
Radia Perlman | Email: zhangmingui@qq.com | |||
EMC | ||||
2010 256th Avenue NE, #200 | ||||
Bellevue, WA 98007 | ||||
United States | ||||
Email: radia@alum.mit.edu | Donald E. Eastlake, 3rd | |||
Futurewei Technologies | ||||
2386 Panoramic Circle | ||||
Apopka, FL 32703 | ||||
United States of America | ||||
Margaret Cullen | Phone: +1-508-333-2270 | |||
Painless Security | Email: d3e3e3@gmail.com | |||
356 Abbott Street | ||||
North Andover, MA 01845 | ||||
United States | ||||
Phone: +1-781-405-7464 | Radia Perlman | |||
Email: margaret@painless-security.com | EMC | |||
URI: https://www.painless-security.com | 2010 256th Avenue NE, #200 | |||
Bellevue, WA 98007 | ||||
United States of America | ||||
Hongjun Zhai | Email: radia@alum.mit.edu | |||
Jinling Institute of Technology | ||||
99 Hongjing Avenue, Jiangning District | ||||
Nanjing, Jiangsu 211169 | ||||
China | ||||
Email: honjun.zhai@tom.com | Margaret Cullen | |||
Painless Security | ||||
356 Abbott Street | ||||
North Andover, MA 01845 | ||||
United States of America | ||||
Copyright, Disclaimer, and Additional IPR Provisions | Phone: +1-781-405-7464 | |||
Email: margaret@painless-security.com | ||||
URI: https://www.painless-security.com | ||||
Copyright (c) 2021 IETF Trust and the persons identified as the | Hongjun Zhai | |||
document authors. All rights reserved. | Jinling Institute of Technology | |||
99 Hongjing Avenue, Jiangning District | ||||
Nanjing | ||||
Jiangsu, 211169 | ||||
China | ||||
This document is subject to BCP 78 and the IETF Trust's Legal | Email: honjun.zhai@tom.com | |||
Provisions Relating to IETF Documents | ||||
(http://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. | ||||
End of changes. 139 change blocks. | ||||
422 lines changed or deleted | 438 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |