| draft-ietf-trill-rbridge-multilevel-07v3.original | draft-ietf-trill-rbridge-multilevel-07v3output.txt | |||
|---|---|---|---|---|
| TRILL Working Group Radia Perlman | TRILL Working Group R. Perlman | |||
| INTERNET-DRAFT EMC | Internet-Draft EMC | |||
| Intended status: Informational Donald Eastlake | Intended status: Informational D. Eastlake | |||
| Mingui Zhang | Expires: January 4, 2018 M. Zhang | |||
| Huawei | Huawei | |||
| Anoop Ghanwani | A. Ghanwani | |||
| Dell | Dell | |||
| Hongjun Zhai | H. Zhai | |||
| JIT | JIT | |||
| Expires: January 3, 2018 July 3, 2017 | July 3, 2017 | |||
| Alternatives for Multilevel TRILL | Alternatives for Multilevel TRILL (Transparent Interconnection of Lots | |||
| (Transparent Interconnection of Lots of Links) | of Links) | |||
| <draft-ietf-trill-rbridge-multilevel-07.txt> | draft-ietf-trill-rbridge-multilevel-07.txt | |||
| Abstract | Abstract | |||
| Although TRILL is based on IS-IS, which supports multilevel unicast | Although TRILL is based on IS-IS, which supports multilevel unicast | |||
| routing, extending TRILL to multiple levels has challenges that are | routing, extending TRILL to multiple levels has challenges that are | |||
| not addressed by the already-existing capabilities of IS-IS. One | not addressed by the already-existing capabilities of IS-IS. One | |||
| issue is with the handling of multi-destination packet distribution | issue is with the handling of multi-destination packet distribution | |||
| trees. Other issues are with TRILL switch nicknames. How are such | trees. Other issues are with TRILL switch nicknames. How are such | |||
| nicknames allocated across a multilevel TRILL network? Do nicknames | nicknames allocated across a multilevel TRILL network? Do nicknames | |||
| need to be unique across an entire multilevel TRILL network or can | need to be unique across an entire multilevel TRILL network or can | |||
| they merely be unique within each multilevel area? | they merely be unique within each multilevel area? | |||
| This informational document enumerates and examines alternatives | This informational document enumerates and examines alternatives | |||
| based on a number of factors including backward compatibility, | based on a number of factors including backward compatibility, | |||
| simplicity, and scalability and makes recommendations in some cases. | simplicity, and scalability and makes recommendations in some cases. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. Distribution of this document is | provisions of BCP 78 and BCP 79. | |||
| unlimited. Comments should be sent to the TRILL working group | ||||
| mailing list <trill@ietf.org>. | ||||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF). Note that other groups may also distribute | |||
| other groups may also distribute working documents as Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| INTERNET-DRAFT Multilevel TRILL | This Internet-Draft will expire on January 4, 2018. | |||
| The list of current Internet-Drafts can be accessed at | ||||
| http://www.ietf.org/1id-abstracts.html. The list of Internet-Draft | ||||
| Shadow Directories can be accessed at | ||||
| http://www.ietf.org/shadow.html. | ||||
| INTERNET-DRAFT Multilevel TRILL | ||||
| Table of Contents | ||||
| 1. Introduction............................................4 | ||||
| 1.1 The Motivation for Multilevel..........................4 | ||||
| 1.2 Improvements Due to Multilevel.........................5 | ||||
| 1.2.1. The Routing Computation Load........................5 | ||||
| 1.2.2. LSDB Volatility Creating Too Much Control Traffic...5 | ||||
| 1.2.3. LSDB Volatility Causing To Much Time Unconverged....6 | ||||
| 1.2.4. The Size Of The LSDB................................6 | ||||
| 1.2.5 Nickname Limit.......................................6 | ||||
| 1.2.6 Multi-Destination Traffic............................7 | ||||
| 1.3 Unique and Aggregated Nicknames........................7 | ||||
| 1.4 More on Areas..........................................8 | ||||
| 1.5 Terminology and Acronyms...............................8 | ||||
| 2. Multilevel TRILL Issues................................10 | ||||
| 2.1 Non-zero Area Addresses...............................11 | ||||
| 2.2 Aggregated versus Unique Nicknames....................11 | ||||
| 2.2.1 More Details on Unique Nicknames....................12 | ||||
| 2.2.2 More Details on Aggregated Nicknames................13 | ||||
| 2.2.2.1 Border Learning Aggregated Nicknames..............14 | ||||
| 2.2.2.2 Swap Nickname Field Aggregated Nicknames..........16 | ||||
| 2.2.2.3 Comparison........................................17 | ||||
| 2.3 Building Multi-Area Trees.............................17 | ||||
| 2.4 The RPF Check for Trees...............................18 | ||||
| 2.5 Area Nickname Acquisition.............................18 | ||||
| 2.6 Link State Representation of Areas....................19 | ||||
| 3. Area Partition.........................................20 | ||||
| 4. Multi-Destination Scope................................21 | ||||
| 4.1 Unicast to Multi-destination Conversions..............21 | ||||
| 4.1.1 New Tree Encoding...................................22 | ||||
| 4.2 Selective Broadcast Domain Reduction..................22 | ||||
| 5. Co-Existence with Old TRILL switches...................24 | Copyright Notice | |||
| 6. Multi-Access Links with End Stations...................25 | ||||
| 7. Summary................................................27 | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | ||||
| 8. Security Considerations................................28 | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| 9. IANA Considerations....................................28 | 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. | ||||
| Normative References......................................29 | Table of Contents | |||
| Informative References....................................29 | ||||
| Acknowledgements..........................................31 | ||||
| Authors' Addresses........................................32 | ||||
| INTERNET-DRAFT Multilevel TRILL | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. The Motivation for Multilevel . . . . . . . . . . . . . . 3 | ||||
| 1.2. Improvements Due to Multilevel . . . . . . . . . . . . . 4 | ||||
| 1.2.1. The Routing Computation Load . . . . . . . . . . . . 4 | ||||
| 1.2.2. LSDB Volatility Creating Too Much Control Traffic . . 4 | ||||
| 1.2.3. LSDB Volatility Causing To Much Time Unconverged . . 5 | ||||
| 1.2.4. The Size Of The LSDB . . . . . . . . . . . . . . . . 5 | ||||
| 1.2.5. Nickname Limit . . . . . . . . . . . . . . . . . . . 5 | ||||
| 1.2.6. Multi-Destination Traffic . . . . . . . . . . . . . . 6 | ||||
| 1.3. Unique and Aggregated Nicknames . . . . . . . . . . . . . 6 | ||||
| 1.4. More on Areas . . . . . . . . . . . . . . . . . . . . . . 7 | ||||
| 1.5. Terminology and Acronyms . . . . . . . . . . . . . . . . 7 | ||||
| 2. Multilevel TRILL Issues . . . . . . . . . . . . . . . . . . . 8 | ||||
| 2.1. Non-zero Area Addresses . . . . . . . . . . . . . . . . . 9 | ||||
| 2.2. Aggregated versus Unique Nicknames . . . . . . . . . . . 10 | ||||
| 2.2.1. More Details on Unique Nicknames . . . . . . . . . . 11 | ||||
| 2.2.2. More Details on Aggregated Nicknames . . . . . . . . 12 | ||||
| 2.3. Building Multi-Area Trees . . . . . . . . . . . . . . . . 16 | ||||
| 2.4. The RPF Check for Trees . . . . . . . . . . . . . . . . . 17 | ||||
| 2.5. Area Nickname Acquisition . . . . . . . . . . . . . . . . 17 | ||||
| 2.6. Link State Representation of Areas . . . . . . . . . . . 18 | ||||
| 3. Area Partition . . . . . . . . . . . . . . . . . . . . . . . 18 | ||||
| 4. Multi-Destination Scope . . . . . . . . . . . . . . . . . . . 19 | ||||
| 4.1. Unicast to Multi-destination Conversions . . . . . . . . 19 | ||||
| 4.1.1. New Tree Encoding . . . . . . . . . . . . . . . . . . 20 | ||||
| 4.2. Selective Broadcast Domain Reduction . . . . . . . . . . 21 | ||||
| 5. Co-Existence with Old TRILL switches . . . . . . . . . . . . 22 | ||||
| 6. Multi-Access Links with End Stations . . . . . . . . . . . . 22 | ||||
| 7. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | ||||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | ||||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | ||||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | ||||
| 10.1. References . . . . . . . . . . . . . . . . . . . . . . . 24 | ||||
| 10.2. References . . . . . . . . . . . . . . . . . . . . . . . 25 | ||||
| Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 26 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 | ||||
| 1. Introduction | 1. Introduction | |||
| The IETF TRILL (Transparent Interconnection of Lot of Links) protocol | The IETF TRILL (Transparent Interconnection of Lot of Links) protocol | |||
| [RFC6325] [RFC7177] [RFC7780] provides optimal pair-wise data routing | [RFC6325] [RFC7177] [RFC7780] provides optimal pair-wise data routing | |||
| without configuration, safe forwarding even during periods of | without configuration, safe forwarding even during periods of | |||
| temporary loops, and support for multipathing of both unicast and | temporary loops, and support for multipathing of both unicast and | |||
| multicast traffic in networks with arbitrary topology and link | multicast traffic in networks with arbitrary topology and link | |||
| technology, including multi-access links. TRILL accomplishes this by | technology, including multi-access links. TRILL accomplishes this by | |||
| using IS-IS (Intermediate System to Intermediate System [IS-IS] | using IS-IS (Intermediate System to Intermediate System [IS-IS] | |||
| [RFC7176]) link state routing in conjunction with a header that | [RFC7176]) link state routing in conjunction with a header that | |||
| includes a hop count. The design supports data labels (VLANs and Fine | includes a hop count. The design supports data labels (VLANs and | |||
| Grained Labels [RFC7172]) and optimization of the distribution of | Fine Grained Labels [RFC7172]) and optimization of the distribution | |||
| multi-destination data based on data label and multicast group. | of multi-destination data based on data label and multicast group. | |||
| Devices that implement TRILL are called TRILL Switches or RBridges. | Devices that implement TRILL are called TRILL Switches or RBridges. | |||
| Familiarity with [IS-IS], [RFC6325], and [RFC7780] is assumed in this | Familiarity with [IS-IS], [RFC6325], and [RFC7780] is assumed in this | |||
| document. | document. | |||
| 1.1 The Motivation for Multilevel | 1.1. The Motivation for Multilevel | |||
| The primary motivation for multilevel TRILL is to improve | The primary motivation for multilevel TRILL is to improve | |||
| scalability. The following issues might limit the scalability of a | scalability. The following issues might limit the scalability of a | |||
| TRILL-based network: | TRILL-based network: | |||
| 1. The routing computation load | 1. The routing computation load | |||
| 2. The volatility of the link state database (LSDB) creating too much | 2. The volatility of the link state database (LSDB) creating too | |||
| control traffic | much control traffic | |||
| 3. The volatility of the LSDB causing the TRILL network to be in an | 3. The volatility of the LSDB causing the TRILL network to be in an | |||
| unconverged state too much of the time | unconverged state too much of the time | |||
| 4. The size of the LSDB | 4. The size of the LSDB | |||
| 5. The limit of the number of TRILL switches, due to the 16-bit | 5. The limit of the number of TRILL switches, due to the 16-bit | |||
| nickname space (for further information on why this might be a | nickname space (for further information on why this might be a | |||
| problem, see Section 1.2.5) | problem, see Section 1.2.5) | |||
| 6. The traffic due to upper layer protocols use of broadcast and | 6. The traffic due to upper layer protocols use of broadcast and | |||
| multicast | multicast | |||
| 7. The size of the end node learning table (the table that remembers | 7. The size of the end node learning table (the table that remembers | |||
| (egress TRILL switch, label/MAC) pairs) | (egress TRILL switch, label/MAC) pairs) | |||
| As discussed below, extending TRILL IS-IS to be multilevel | As discussed below, extending TRILL IS-IS to be multilevel | |||
| (hierarchical) can help with all of these issues except issue 7. | (hierarchical) can help with all of these issues except issue 7. | |||
| IS-IS was designed to be multilevel [IS-IS]. A network can be | IS-IS was designed to be multilevel [IS-IS]. A network can be | |||
| partitioned into "areas". Routing within an area is known as "Level | partitioned into "areas". Routing within an area is known as "Level | |||
| 1 routing". Routing between areas is known as "Level 2 routing". | 1 routing". Routing between areas is known as "Level 2 routing". | |||
| The Level 2 IS-IS network consists of Level 2 routers and links | The Level 2 IS-IS network consists of Level 2 routers and links | |||
| between the Level 2 routers. Level 2 routers may participate in one | between the Level 2 routers. Level 2 routers may participate in one | |||
| or more Level 1 areas, in addition to their role as Level 2 routers. | or more Level 1 areas, in addition to their role as Level 2 routers. | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| Each area is connected to Level 2 through one or more "border | Each area is connected to Level 2 through one or more "border | |||
| routers", which participate both as a router inside the area, and as | routers", which participate both as a router inside the area, and as | |||
| a router inside the Level 2 "area". Care must be taken that it is | a router inside the Level 2 "area". Care must be taken that it is | |||
| clear, when transitioning multi-destination packets between Level 2 | clear, when transitioning multi-destination packets between Level 2 | |||
| and a Level 1 area in either direction, that exactly one border TRILL | and a Level 1 area in either direction, that exactly one border TRILL | |||
| switch will transition a particular data packet between the levels or | switch will transition a particular data packet between the levels or | |||
| else duplication or loss of traffic can occur. | else duplication or loss of traffic can occur. | |||
| 1.2 Improvements Due to Multilevel | 1.2. Improvements Due to Multilevel | |||
| Partitioning the network into areas directly solves the first four | Partitioning the network into areas directly solves the first four | |||
| scalability issues listed above as described in Sections 1.2.1 | scalability issues listed above as described in Sections 1.2.1 | |||
| through 1.2.4. Multilevel also contributes to solving issues 5 and 6 | through 1.2.4. Multilevel also contributes to solving issues 5 and 6 | |||
| as discussed in Section 1.2.5 and 1.2.6 respectively. | as discussed in Section 1.2.5 and 1.2.6 respectively. | |||
| In the subsections below, N indicates the number of TRILL switches in | In the subsections below, N indicates the number of TRILL switches in | |||
| a TRILL campus. As a simplifying assumption, it is assumed that each | a TRILL campus. As a simplifying assumption, it is assumed that each | |||
| TRILL switch has k links to other TRILL switches. An "optimized" | TRILL switch has k links to other TRILL switches. An "optimized" | |||
| multilevel campus is assumed to have Level 1 areas containing sqrt(N) | multilevel campus is assumed to have Level 1 areas containing sqrt(N) | |||
| switches. | switches. | |||
| 1.2.1. The Routing Computation Load | 1.2.1. The Routing Computation Load | |||
| The Dijkstra algorithm uses computational effort on the order of the | The Dijkstra algorithm uses computational effort on the order of the | |||
| number of links in a network (N*k) times the log of the number of | number of links in a network (N*k) times the log of the number of | |||
| nodes to calculate least cost routes at a router (Section 12.3.3 | nodes to calculate least cost routes at a router (Section 12.3.3 | |||
| [InterCon]). Thus, in a single level TRILL campus, it is on the order | [InterCon]). Thus, in a single level TRILL campus, it is on the | |||
| of N*k*log(N). In an optimized multilevel campus, it is on the order | order of N*k*log(N). In an optimized multilevel campus, it is on the | |||
| of sqrt(N)*k*log(N). So, for example, assuming N is 3,000, the level | order of sqrt(N)*k*log(N). So, for example, assuming N is 3,000, the | |||
| of computational effort would be reduced by about a factor of 50. | level of computational effort would be reduced by about a factor of | |||
| 50. | ||||
| 1.2.2. LSDB Volatility Creating Too Much Control Traffic | 1.2.2. LSDB Volatility Creating Too Much Control Traffic | |||
| The rate of LSDB changes is assumed to be approximately proportional | The rate of LSDB changes is assumed to be approximately proportional | |||
| to the number of routers and links in the TRILL campus or N*(1+k) for | to the number of routers and links in the TRILL campus or N*(1+k) for | |||
| a single level campus. With an optimized multilevel campus, each area | a single level campus. With an optimized multilevel campus, each | |||
| would have about sqrt(N) routers and proportionately fewer links | area would have about sqrt(N) routers and proportionately fewer links | |||
| reducing the rate of LSDB changes by about a factor of sqrt(N). | reducing the rate of LSDB changes by about a factor of sqrt(N). | |||
| INTERNET-DRAFT Multilevel TRILL | 1.2.3. LSDB Volatility Causing To Much Time Unconverged | |||
| 1.2.3. LSDB Volatility Causing To Much Time Unconverged | ||||
| With the simplifying assumption that routing converges after each | With the simplifying assumption that routing converges after each | |||
| topology change before the next such change, the fraction of time | topology change before the next such change, the fraction of time | |||
| that routing is unconverged is proportional to the product of the | that routing is unconverged is proportional to the product of the | |||
| rate of change occurrence and the convergence time. The rate of | rate of change occurrence and the convergence time. The rate of | |||
| topology changes per some arbitrary unit of time will be roughly | topology changes per some arbitrary unit of time will be roughly | |||
| proportional to the number of router and links (Section 1.2.2). The | proportional to the number of router and links (Section 1.2.2). The | |||
| convergence time is approximately proportional to the computation | convergence time is approximately proportional to the computation | |||
| involved at each router (Section 1.2.1). Thus, based on these | involved at each router (Section 1.2.1). Thus, based on these | |||
| simplifying assumptions, the time spent unconverged in a single level | simplifying assumptions, the time spent unconverged in a single level | |||
| network is proportional to (N*(1+k))*(N*k*log(N)) while that time for | network is proportional to (N*(1+k))*(N*k*log(N)) while that time for | |||
| an optimized multilevel network would be proportional to | an optimized multilevel network would be proportional to | |||
| (sqrt(N)*(1+k))*(sqrt(N)*k*log(N)). Thus, in changing to multilevel, | (sqrt(N)*(1+k))*(sqrt(N)*k*log(N)). Thus, in changing to multilevel, | |||
| the time spent unconverged, using these simplifying assumptions, is | the time spent unconverged, using these simplifying assumptions, is | |||
| improved by about a factor of N. | improved by about a factor of N. | |||
| 1.2.4. The Size Of The LSDB | 1.2.4. The Size Of The LSDB | |||
| The size of the LSDB, which consists primarily of information about | The size of the LSDB, which consists primarily of information about | |||
| routers (TRILL switches) and links, is also approximately | routers (TRILL switches) and links, is also approximately | |||
| proportional to the number of routers and links. So, as with item 2 | proportional to the number of routers and links. So, as with item 2 | |||
| in Section 1.2.2 above, it should improve by about a factor of | in Section 1.2.2 above, it should improve by about a factor of | |||
| sqrt(N) in going from single to multilevel. | sqrt(N) in going from single to multilevel. | |||
| 1.2.5 Nickname Limit | 1.2.5. Nickname Limit | |||
| For many TRILL protocol purposes, RBridges are designated by 16-bit | For many TRILL protocol purposes, RBridges are designated by 16-bit | |||
| nicknames. While some values are reserved, this appears to provide | nicknames. While some values are reserved, this appears to provide | |||
| enough nicknames to designated over 65,000 RBridges. However, this | enough nicknames to designated over 65,000 RBridges. However, this | |||
| number is effectively reduced by the following two factors: | number is effectively reduced by the following two factors: | |||
| - Nicknames are consumed when pseudo-nicknames are used for the | - Nicknames are consumed when pseudo-nicknames are used for the | |||
| active-active connection of end stations. Using the techniques in | active-active connection of end stations. Using the techniques | |||
| [RFC7781], for example, could double the nickname consumption if | in [RFC7781], for example, could double the nickname | |||
| there are extensive active-active edge groups connected to | consumption if there are extensive active-active edge groups | |||
| different sets of edge TRILL switch ports. | connected to different sets of edge TRILL switch ports. | |||
| - There might be problems in multilevel campus wide contention for | ||||
| single nickname allocation of nicknames were allocated | ||||
| individually from a single pool for the entire campus. Thus it | ||||
| seems likely that a hierarchical method would be chosen where | ||||
| blocks of nicknames are allocated at Level 2 to Level 1 areas and | ||||
| contention for a nickname by an RBridge in such a Level 1 area | ||||
| would be only within that area. Such hierarchical allocation leads | ||||
| to further effective loss of nicknames similar to the situation | ||||
| INTERNET-DRAFT Multilevel TRILL | ||||
| with IP addresses discussed in [RFC3194]. | - There might be problems in multilevel campus wide contention | |||
| for single nickname allocation of nicknames were allocated | ||||
| individually from a single pool for the entire campus. Thus it | ||||
| seems likely that a hierarchical method would be chosen where | ||||
| blocks of nicknames are allocated at Level 2 to Level 1 areas | ||||
| and contention for a nickname by an RBridge in such a Level 1 | ||||
| area would be only within that area. Such hierarchical | ||||
| allocation leads to further effective loss of nicknames similar | ||||
| to the situation with IP addresses discussed in [RFC3194]. | ||||
| Even without the above effective reductions in nickname space, a very | Even without the above effective reductions in nickname space, a very | |||
| large multilevel TRILL campus, say one with 200 areas each containing | large multilevel TRILL campus, say one with 200 areas each containing | |||
| 500 TRILL switches, could require 100,000 or more nicknames if all | 500 TRILL switches, could require 100,000 or more nicknames if all | |||
| nicknames in the campus must be unique, which is clearly impossible | nicknames in the campus must be unique, which is clearly impossible | |||
| with 16-bit nicknames. | with 16-bit nicknames. | |||
| This scaling limit, namely, 16-bit nickname space, will only be | This scaling limit, namely, 16-bit nickname space, will only be | |||
| addressed with the aggregated nickname approach. Since the aggregated | addressed with the aggregated nickname approach. Since the | |||
| nickname approach requires some complexity in the border TRILL | aggregated nickname approach requires some complexity in the border | |||
| switches (for rewriting the nicknames in the TRILL header), the | TRILL switches (for rewriting the nicknames in the TRILL header), the | |||
| suggested design in this document allows a campus with a mixture of | suggested design in this document allows a campus with a mixture of | |||
| unique-nickname areas, and aggregated-nickname areas. Thus a TRILL | unique-nickname areas, and aggregated-nickname areas. Thus a TRILL | |||
| network could start using multilevel with the simpler unique nickname | network could start using multilevel with the simpler unique nickname | |||
| method and later add aggregated areas as a later stage of network | method and later add aggregated areas as a later stage of network | |||
| growth. | growth. | |||
| With this design, nicknames must be unique across all Level 2 and | With this design, nicknames must be unique across all Level 2 and | |||
| unique-nickname area TRILL switches taken together, whereas nicknames | unique-nickname area TRILL switches taken together, whereas nicknames | |||
| inside an aggregated-nickname area are visible only inside that area. | inside an aggregated-nickname area are visible only inside that area. | |||
| Nicknames inside an aggregated-nickname area must still not conflict | Nicknames inside an aggregated-nickname area must still not conflict | |||
| with nicknames visible in Level 2 (which includes all nicknames | with nicknames visible in Level 2 (which includes all nicknames | |||
| inside unique nickname areas), but the nicknames inside an | inside unique nickname areas), but the nicknames inside an | |||
| aggregated-nickname area may be the same as nicknames used within one | aggregated-nickname area may be the same as nicknames used within one | |||
| or more other aggregated-nickname areas. | or more other aggregated-nickname areas. | |||
| With the design suggested in this document, TRILL switches within an | With the design suggested in this document, TRILL switches within an | |||
| area need not be aware of whether they are in an aggregated nickname | area need not be aware of whether they are in an aggregated nickname | |||
| area or a unique nickname area. The border TRILL switches in area A1 | area or a unique nickname area. The border TRILL switches in area A1 | |||
| will indicate, in their LSP inside area A1, which nicknames (or | will indicate, in their LSP inside area A1, which nicknames (or | |||
| nickname ranges) are available, or alternatively which nicknames are | nickname ranges) are available, or alternatively which nicknames are | |||
| not available, for choosing as nicknames by area A1 TRILL switches. | not available, for choosing as nicknames by area A1 TRILL switches. | |||
| 1.2.6 Multi-Destination Traffic | 1.2.6. Multi-Destination Traffic | |||
| Scaling limits due to protocol use of broadcast and multicast, can be | Scaling limits due to protocol use of broadcast and multicast, can be | |||
| addressed in many cases in a multilevel campus by introducing | addressed in many cases in a multilevel campus by introducing | |||
| locally-scoped multi-destination delivery, limited to an area or a | locally-scoped multi-destination delivery, limited to an area or a | |||
| single link. See further discussion of this issue in Section 4.2. | single link. See further discussion of this issue in Section 4.2. | |||
| 1.3 Unique and Aggregated Nicknames | 1.3. Unique and Aggregated Nicknames | |||
| We describe two alternatives for hierarchical or multilevel TRILL. | We describe two alternatives for hierarchical or multilevel TRILL. | |||
| One we call the "unique nickname" alternative. The other we call the | One we call the "unique nickname" alternative. The other we call the | |||
| "aggregated nickname" alternative. In the aggregated nickname | "aggregated nickname" alternative. In the aggregated nickname | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| alternative, border TRILL switches replace either the ingress or | alternative, border TRILL switches replace either the ingress or | |||
| egress nickname field in the TRILL header of unicast packets with an | egress nickname field in the TRILL header of unicast packets with an | |||
| aggregated nickname representing an entire area. | aggregated nickname representing an entire area. | |||
| The unique nickname alternative has the advantage that border TRILL | The unique nickname alternative has the advantage that border TRILL | |||
| switches are simpler and do not need to do TRILL Header nickname | switches are simpler and do not need to do TRILL Header nickname | |||
| modification. It also simplifies testing and maintenance operations | modification. It also simplifies testing and maintenance operations | |||
| that originate in one area and terminate in a different area. | that originate in one area and terminate in a different area. | |||
| The aggregated nickname alternative has the following advantages: | The aggregated nickname alternative has the following advantages: | |||
| o it solves scaling problem #5 above, the 16-bit nickname limit, | - it solves scaling problem #5 above, the 16-bit nickname limit, | |||
| in a simple way, | in a simple way, | |||
| o it lessens the amount of inter-area routing information that | - it lessens the amount of inter-area routing information that | |||
| must be passed in IS-IS, and | must be passed in IS-IS, and | |||
| o it logically reduces the RPF (Reverse Path Forwarding) Check | - it logically reduces the RPF (Reverse Path Forwarding) Check | |||
| information (since only the area nickname needs to appear, | information (since only the area nickname needs to appear, | |||
| rather than all the ingress TRILL switches in that area). | rather than all the ingress TRILL switches in that area). | |||
| In both cases, it is possible and advantageous to compute multi- | In both cases, it is possible and advantageous to compute multi- | |||
| destination data packet distribution trees such that the portion | destination data packet distribution trees such that the portion | |||
| computed within a given area is rooted within that area. | computed within a given area is rooted within that area. | |||
| For further discussion of the unique and aggregated nickname | For further discussion of the unique and aggregated nickname | |||
| alternatives, see Section 2.2. | alternatives, see Section 2.2. | |||
| 1.4 More on Areas | 1.4. More on Areas | |||
| Each area is configured with an "area address", which is advertised | Each area is configured with an "area address", which is advertised | |||
| in IS-IS messages, so as to avoid accidentally interconnecting areas. | in IS-IS messages, so as to avoid accidentally interconnecting areas. | |||
| For TRILL the only purpose of the area address would be to avoid | For TRILL the only purpose of the area address would be to avoid | |||
| accidentally interconnecting areas although the area address had | accidentally interconnecting areas although the area address had | |||
| other purposes in CLNP (Connectionless Network Layer Protocol), IS-IS | other purposes in CLNP (Connectionless Network Layer Protocol), IS-IS | |||
| was originally designed for CLNP/DECnet. | was originally designed for CLNP/DECnet. | |||
| Currently, the TRILL specification says that the area address must be | Currently, the TRILL specification says that the area address must be | |||
| zero. If we change the specification so that the area address value | zero. If we change the specification so that the area address value | |||
| of zero is just a default, then most of IS-IS multilevel machinery | of zero is just a default, then most of IS-IS multilevel machinery | |||
| works as originally designed. However, there are TRILL-specific | works as originally designed. However, there are TRILL-specific | |||
| issues, which we address below in Section 2.1. | issues, which we address below in Section 2.1. | |||
| 1.5 Terminology and Acronyms | 1.5. Terminology and Acronyms | |||
| This document generally uses the acronyms defined in [RFC6325] plus | This document generally uses the acronyms defined in [RFC6325] plus | |||
| the additional acronym DBRB. However, for ease of reference, most | the additional acronym DBRB. However, for ease of reference, most | |||
| acronyms used are listed here: | acronyms used are listed here: | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| CLNP - ConnectionLess Network Protocol | CLNP - ConnectionLess Network Protocol | |||
| DECnet - a proprietary routing protocol that was used by Digital | DECnet - a proprietary routing protocol that was used by Digital | |||
| Equipment Corporation. "DECnet Phase 5" was the origin of IS-IS. | Equipment Corporation. "DECnet Phase 5" was the origin of IS-IS. | |||
| Data Label - VLAN or Fine Grained Label [RFC7172] | Data Label - VLAN or Fine Grained Label [RFC7172] | |||
| DBRB - Designated Border RBridge | DBRB - Designated Border RBridge | |||
| ESADI - End Station Address Distribution Information | ESADI - End Station Address Distribution Information | |||
| IS-IS - Intermediate System to Intermediate System [IS-IS] | IS-IS - Intermediate System to Intermediate System [IS-IS] | |||
| LSDB - Link State Data Base | LSDB - Link State Data Base | |||
| skipping to change at page 10, line 5 | skipping to change at page 8, line 35 | |||
| TLV - Type Length Value | TLV - Type Length Value | |||
| TRILL - Transparent Interconnection of Lots of Links or Tunneled | TRILL - Transparent Interconnection of Lots of Links or Tunneled | |||
| Routing in the Link Layer [RFC6325] [RFC7780] | Routing in the Link Layer [RFC6325] [RFC7780] | |||
| TRILL switch - a device that implements the TRILL protocol | TRILL switch - a device that implements the TRILL protocol | |||
| [RFC6325] [RFC7780], sometimes called an RBridge | [RFC6325] [RFC7780], sometimes called an RBridge | |||
| VLAN - Virtual Local Area Network | VLAN - Virtual Local Area Network | |||
| INTERNET-DRAFT Multilevel TRILL | 2. Multilevel TRILL Issues | |||
| 2. Multilevel TRILL Issues | ||||
| The TRILL-specific issues introduced by multilevel include the | The TRILL-specific issues introduced by multilevel include the | |||
| following: | following: | |||
| a. Configuration of non-zero area addresses, encoding them in IS-IS | a. Configuration of non-zero area addresses, encoding them in IS-IS | |||
| PDUs, and possibly interworking with old TRILL switches that do | PDUs, and possibly interworking with old TRILL switches that do | |||
| not understand non-zero area addresses. | not understand non-zero area addresses. | |||
| See Section 2.1. | ||||
| b. Nickname management. | See Section 2.1. | |||
| See Sections 2.5 and 2.2. | b. Nickname management. | |||
| c. Advertisement of pruning information (Data Label reachability, IP | See Sections 2.5 and 2.2. | |||
| multicast addresses) across areas. | ||||
| Distribution tree pruning information is only an optimization, | c. Advertisement of pruning information (Data Label reachability, IP | |||
| as long as multi-destination packets are not prematurely | multicast addresses) across areas. | |||
| pruned. For instance, border TRILL switches could advertise | ||||
| they can reach all possible Data Labels, and have an IP | ||||
| multicast router attached. This would cause all multi- | ||||
| destination traffic to be transmitted to border TRILL switches, | ||||
| and possibly pruned there, when the traffic could have been | ||||
| pruned earlier based on Data Label or multicast group if border | ||||
| TRILL switches advertised more detailed Data Label and/or | ||||
| multicast listener and multicast router attachment information. | ||||
| d. Computation of distribution trees across areas for multi- | Distribution tree pruning information is only an optimization, as | |||
| destination data. | long as multi-destination packets are not prematurely pruned. | |||
| For instance, border TRILL switches could advertise they can | ||||
| reach all possible Data Labels, and have an IP multicast router | ||||
| attached. This would cause all multi- destination traffic to be | ||||
| transmitted to border TRILL switches, and possibly pruned there, | ||||
| when the traffic could have been pruned earlier based on Data | ||||
| Label or multicast group if border TRILL switches advertised more | ||||
| detailed Data Label and/or multicast listener and multicast | ||||
| router attachment information. | ||||
| See Section 2.3. | d. Computation of distribution trees across areas for multi- | |||
| destination data. | ||||
| e. Computation of RPF information for those distribution trees. | See Section 2.3. | |||
| See Section 2.4. | e. Computation of RPF information for those distribution trees. | |||
| f. Computation of pruning information across areas. | See Section 2.4. | |||
| See Sections 2.3 and 2.6. | f. Computation of pruning information across areas. | |||
| g. Compatibility, as much as practical, with existing, unmodified | See Sections 2.3 and 2.6. | |||
| TRILL switches. | ||||
| The most important form of compatibility is with existing TRILL | g. Compatibility, as much as practical, with existing, unmodified | |||
| fast path hardware. Changes that require upgrade to the slow | TRILL switches. | |||
| path firmware/software are more tolerable. Compatibility for | ||||
| the relatively small number of border TRILL switches is less | ||||
| important than compatibility for non-border TRILL switches. | ||||
| INTERNET-DRAFT Multilevel TRILL | The most important form of compatibility is with existing TRILL | |||
| fast path hardware. Changes that require upgrade to the slow | ||||
| path firmware/software are more tolerable. Compatibility for the | ||||
| relatively small number of border TRILL switches is less | ||||
| important than compatibility for non-border TRILL switches. | ||||
| See Section 5. | See Section 5. | |||
| 2.1 Non-zero Area Addresses | 2.1. Non-zero Area Addresses | |||
| The current TRILL base protocol specification [RFC6325] [RFC7177] | The current TRILL base protocol specification [RFC6325] [RFC7177] | |||
| [RFC7780] says that the area address in IS-IS must be zero. The | [RFC7780] says that the area address in IS-IS must be zero. The | |||
| purpose of the area address is to ensure that different areas are not | purpose of the area address is to ensure that different areas are not | |||
| accidentally merged. Furthermore, zero is an invalid area address | accidentally merged. Furthermore, zero is an invalid area address | |||
| for layer 3 IS-IS, so it was chosen as an additional safety mechanism | for layer 3 IS-IS, so it was chosen as an additional safety mechanism | |||
| to ensure that layer 3 IS-IS packets would not be confused with TRILL | to ensure that layer 3 IS-IS packets would not be confused with TRILL | |||
| IS-IS packets. However, TRILL uses other techniques to avoid | IS-IS packets. However, TRILL uses other techniques to avoid | |||
| confusion on a link, such as different multicast addresses and | confusion on a link, such as different multicast addresses and | |||
| Ethertypes on Ethernet [RFC6325], different PPP (Point-to-Point | Ethertypes on Ethernet [RFC6325], different PPP (Point-to-Point | |||
| Protocol) code points on PPP [RFC6361], and the like. Thus, using an | Protocol) code points on PPP [RFC6361], and the like. Thus, using an | |||
| area address in TRILL that might be used in layer 3 IS-IS is not a | area address in TRILL that might be used in layer 3 IS-IS is not a | |||
| problem. | problem. | |||
| Since current TRILL switches will reject any IS-IS messages with non- | Since current TRILL switches will reject any IS-IS messages with non- | |||
| zero area addresses, the choices are as follows: | zero area addresses, the choices are as follows: | |||
| a.1 upgrade all TRILL switches that are to interoperate in a | a.1 upgrade all TRILL switches that are to interoperate in a | |||
| potentially multilevel environment to understand non-zero area | potentially multilevel environment to understand non-zero area | |||
| addresses, | addresses, | |||
| a.2 neighbors of old TRILL switches must remove the area address from | a.2 neighbors of old TRILL switches must remove the area address from | |||
| skipping to change at page 11, line 31 | skipping to change at page 10, line 14 | |||
| area address in TRILL that might be used in layer 3 IS-IS is not a | area address in TRILL that might be used in layer 3 IS-IS is not a | |||
| problem. | problem. | |||
| Since current TRILL switches will reject any IS-IS messages with non- | Since current TRILL switches will reject any IS-IS messages with non- | |||
| zero area addresses, the choices are as follows: | zero area addresses, the choices are as follows: | |||
| a.1 upgrade all TRILL switches that are to interoperate in a | a.1 upgrade all TRILL switches that are to interoperate in a | |||
| potentially multilevel environment to understand non-zero area | potentially multilevel environment to understand non-zero area | |||
| addresses, | addresses, | |||
| a.2 neighbors of old TRILL switches must remove the area address from | a.2 neighbors of old TRILL switches must remove the area address from | |||
| IS-IS messages when talking to an old TRILL switch (which might | IS-IS messages when talking to an old TRILL switch (which might | |||
| break IS-IS security and/or cause inadvertent merging of areas), | break IS-IS security and/or cause inadvertent merging of areas), | |||
| a.3 ignore the problem of accidentally merging areas entirely, or | a.3 ignore the problem of accidentally merging areas entirely, or | |||
| a.4 keep the fixed "area address" field as 0 in TRILL, and add a new, | a.4 keep the fixed "area address" field as 0 in TRILL, and add a | |||
| optional TLV for "area name" to Hellos that, if present, could be | new, optional TLV for "area name" to Hellos that, if present, | |||
| compared, by new TRILL switches, to prevent accidental area | could be compared, by new TRILL switches, to prevent accidental | |||
| merging. | area merging. | |||
| In principal, different solutions could be used in different areas | In principal, different solutions could be used in different areas | |||
| but it would be much simpler to adopt one of these choices uniformly. | but it would be much simpler to adopt one of these choices uniformly. | |||
| A simple solution would be a.1 above with each TRILL switch using a | A simple solution would be a.1 above with each TRILL switch using a | |||
| dominant area nickname as its area address. For the unique nickname | dominant area nickname as its area address. For the unique nickname | |||
| alternative, the dominant nickname could be the lowest value nickname | alternative, the dominant nickname could be the lowest value nickname | |||
| held by any border RBridge of the area. For the aggregated nickname | held by any border RBridge of the area. For the aggregated nickname | |||
| alternative, it could be the lowest nickname held by a border RBridge | alternative, it could be the lowest nickname held by a border RBridge | |||
| of the area or a nickname representing the area. | of the area or a nickname representing the area. | |||
| 2.2 Aggregated versus Unique Nicknames | 2.2. Aggregated versus Unique Nicknames | |||
| In the unique nickname alternative, all nicknames across the campus | In the unique nickname alternative, all nicknames across the campus | |||
| must be unique. In the aggregated nickname alternative, TRILL switch | must be unique. In the aggregated nickname alternative, TRILL switch | |||
| nicknames within an aggregated area are only of local significance, | nicknames within an aggregated area are only of local significance, | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| and the only nickname externally (outside that area) visible is the | and the only nickname externally (outside that area) visible is the | |||
| "area nickname" (or nicknames), which aggregates all the internal | "area nickname" (or nicknames), which aggregates all the internal | |||
| nicknames. | nicknames. | |||
| The unique nickname approach simplifies border TRILL switches. | The unique nickname approach simplifies border TRILL switches. | |||
| The aggregated nickname approach eliminates the potential problem of | The aggregated nickname approach eliminates the potential problem of | |||
| nickname exhaustion, minimizes the amount of nickname information | nickname exhaustion, minimizes the amount of nickname information | |||
| that would need to be forwarded between areas, minimizes the size of | that would need to be forwarded between areas, minimizes the size of | |||
| the forwarding table, and simplifies RPF calculation and RPF | the forwarding table, and simplifies RPF calculation and RPF | |||
| information. | information. | |||
| 2.2.1 More Details on Unique Nicknames | 2.2.1. More Details on Unique Nicknames | |||
| With unique cross-area nicknames, it would be intractable to have a | With unique cross-area nicknames, it would be intractable to have a | |||
| flat nickname space with TRILL switches in different areas contending | flat nickname space with TRILL switches in different areas contending | |||
| for the same nicknames. Instead, each area would need to be | for the same nicknames. Instead, each area would need to be | |||
| configured with or allocate one or more block of nicknames. Either | configured with or allocate one or more block of nicknames. Either | |||
| some TRILL switches would need to announce that all the nicknames | some TRILL switches would need to announce that all the nicknames | |||
| other than that in blocks available to the area are taken (to prevent | other than that in blocks available to the area are taken (to prevent | |||
| the TRILL switches inside the area from choosing nicknames outside | the TRILL switches inside the area from choosing nicknames outside | |||
| the area's nickname block), or a new TLV would be needed to announce | the area's nickname block), or a new TLV would be needed to announce | |||
| the allowable or the prohibited nicknames, and all TRILL switches in | the allowable or the prohibited nicknames, and all TRILL switches in | |||
| the area would need to understand that new TLV. | the area would need to understand that new TLV. | |||
| Currently the encoding of nickname information in TLVs is by listing | Currently the encoding of nickname information in TLVs is by listing | |||
| of individual nicknames; this would make it painful for a border | of individual nicknames; this would make it painful for a border | |||
| TRILL switch to announce into an area that it is holding all other | TRILL switch to announce into an area that it is holding all other | |||
| nicknames to limit the nicknames available within that area. Painful | nicknames to limit the nicknames available within that area. Painful | |||
| means tens of thousands of individual nickname entries in the Level 1 | means tens of thousands of individual nickname entries in the Level 1 | |||
| LSDB. The information could be encoded as ranges of nicknames to make | LSDB. The information could be encoded as ranges of nicknames to | |||
| this manageable by specifying a new TLV similar to the Nickname Flags | make this manageable by specifying a new TLV similar to the Nickname | |||
| APPsub-TLV specified in [RFC7780] but providing flags for blocks of | Flags APPsub-TLV specified in [RFC7780] but providing flags for | |||
| nicknames rather than single nicknames. Although this would require | blocks of nicknames rather than single nicknames. Although this | |||
| updating software, such a new TLV is the preferred method. | would require updating software, such a new TLV is the preferred | |||
| method. | ||||
| There is also an issue with the unique nicknames approach in building | There is also an issue with the unique nicknames approach in building | |||
| distribution trees, as follows: | distribution trees, as follows: | |||
| With unique nicknames in the TRILL campus and TRILL header | With unique nicknames in the TRILL campus and TRILL header | |||
| nicknames not rewritten by the border TRILL switches, there would | nicknames not rewritten by the border TRILL switches, there would | |||
| have to be globally known nicknames for the trees. Suppose there | have to be globally known nicknames for the trees. Suppose there | |||
| are k trees. For all of the trees with nicknames located outside | are k trees. For all of the trees with nicknames located outside | |||
| an area, the local trees would be rooted at a border TRILL switch | an area, the local trees would be rooted at a border TRILL switch | |||
| or switches. Therefore, there would be either no splitting of | or switches. Therefore, there would be either no splitting of | |||
| multi-destination traffic within the area or restricted splitting | multi-destination traffic within the area or restricted splitting | |||
| of multi-destination traffic between trees rooted at a highly | of multi-destination traffic between trees rooted at a highly | |||
| restricted set of TRILL switches. | restricted set of TRILL switches. | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| As an alternative, just the "egress nickname" field of multi- | As an alternative, just the "egress nickname" field of multi- | |||
| destination TRILL Data packets could be mapped at the border, | destination TRILL Data packets could be mapped at the border, | |||
| leaving known unicast packets un-mapped. However, this surrenders | leaving known unicast packets un-mapped. However, this surrenders | |||
| much of the unique nickname advantage of simpler border TRILL | much of the unique nickname advantage of simpler border TRILL | |||
| switches. | switches. | |||
| Scaling to a very large campus with unique nicknames might exhaust | Scaling to a very large campus with unique nicknames might exhaust | |||
| the 16-bit TRILL nicknames space particularly if (1) additional | the 16-bit TRILL nicknames space particularly if (1) additional | |||
| nicknames are consumed to support active-active end station groups at | nicknames are consumed to support active-active end station groups at | |||
| the TRILL edge using the techniques standardized in [RFC7781] and (2) | the TRILL edge using the techniques standardized in [RFC7781] and (2) | |||
| use of the nickname space is less efficient due to the allocation of, | use of the nickname space is less efficient due to the allocation of, | |||
| for example, power-of-two size blocks of nicknames to areas in the | for example, power-of-two size blocks of nicknames to areas in the | |||
| same way that use of the IP address space is made less efficient by | same way that use of the IP address space is made less efficient by | |||
| hierarchical allocation (see [RFC3194]). One method to avoid nickname | hierarchical allocation (see [RFC3194]). One method to avoid | |||
| exhaustion might be to expand nicknames to 24 bits; however, that | nickname exhaustion might be to expand nicknames to 24 bits; however, | |||
| technique would require TRILL message format and fast path processing | that technique would require TRILL message format and fast path | |||
| changes and that all TRILL switches in the campus understand larger | processing changes and that all TRILL switches in the campus | |||
| nicknames. | understand larger nicknames. | |||
| 2.2.2 More Details on Aggregated Nicknames | 2.2.2. More Details on Aggregated Nicknames | |||
| The aggregated nickname approach enables passing far less nickname | The aggregated nickname approach enables passing far less nickname | |||
| information. It works as follows, assuming both the source and | information. It works as follows, assuming both the source and | |||
| destination areas are using aggregated nicknames: | destination areas are using aggregated nicknames: | |||
| There are at least two ways areas could be identified. | There are at least two ways areas could be identified. | |||
| One method would be to assign each area a 16-bit nickname. This | One method would be to assign each area a 16-bit nickname. This | |||
| would not be the nickname of any actual TRILL switch. Instead, it | would not be the nickname of any actual TRILL switch. Instead, it | |||
| would be the nickname of the area itself. Border TRILL switches | would be the nickname of the area itself. Border TRILL switches | |||
| would know the area nickname for their own area(s). For an | would know the area nickname for their own area(s). For an | |||
| example of a more specific multilevel proposal using unique | example of a more specific multilevel proposal using unique | |||
| nicknames, see [DraftUnique]. | nicknames, see [DraftUnique]. | |||
| Alternatively, areas could be identified by the set of nicknames | Alternatively, areas could be identified by the set of nicknames | |||
| that identify the border routers for that area. (See [SingleName] | that identify the border routers for that area. (See [SingleName] | |||
| for a multilevel proposal using such a set of nicknames.) | for a multilevel proposal using such a set of nicknames.) | |||
| The TRILL Header nickname fields in TRILL Data packets being | The TRILL Header nickname fields in TRILL Data packets being | |||
| transported through a multilevel TRILL campus with aggregated | transported through a multilevel TRILL campus with aggregated | |||
| nicknames are as follows: | nicknames are as follows: | |||
| - When both the ingress and egress TRILL switches are in the same | - When both the ingress and egress TRILL switches are in the same | |||
| area, there need be no change from the existing base TRILL | area, there need be no change from the existing base TRILL | |||
| protocol standard in the TRILL Header nickname fields. | protocol standard in the TRILL Header nickname fields. | |||
| - When being transported between different Level 1 areas in Level | ||||
| 2, the ingress nickname is a nickname of the ingress TRILL | ||||
| INTERNET-DRAFT Multilevel TRILL | ||||
| switch's area while the egress nickname is either a nickname of | - When being transported between different Level 1 areas in Level | |||
| the egress TRILL switch's area or a tree nickname. | 2, the ingress nickname is a nickname of the ingress TRILL | |||
| switch's area while the egress nickname is either a nickname of | ||||
| the egress TRILL switch's area or a tree nickname. | ||||
| - When being transported from Level 1 to Level 2, the ingress | - When being transported from Level 1 to Level 2, the ingress | |||
| nickname is the nickname of the ingress TRILL switch itself | nickname is the nickname of the ingress TRILL switch itself | |||
| while the egress nickname is either a nickname for the area of | while the egress nickname is either a nickname for the area of | |||
| the egress TRILL switch or a tree nickname. | the egress TRILL switch or a tree nickname. | |||
| - When being transported from Level 2 to Level 1, the ingress | - When being transported from Level 2 to Level 1, the ingress | |||
| nickname is a nickname for the ingress TRILL switch's area while | nickname is a nickname for the ingress TRILL switch's area | |||
| the egress nickname is either the nickname of the egress TRILL | while the egress nickname is either the nickname of the egress | |||
| switch itself or a tree nickname. | TRILL switch itself or a tree nickname. | |||
| There are two variations of the aggregated nickname approach. The | There are two variations of the aggregated nickname approach. The | |||
| first is the Border Learning approach, which is described in Section | first is the Border Learning approach, which is described in | |||
| 2.2.2.1. The second is the Swap Nickname Field approach, which is | Section 2.2.2.1. The second is the Swap Nickname Field approach, | |||
| described in Section 2.2.2.2. Section 2.2.2.3 compares the advantages | which is described in Section 2.2.2.2. Section 2.2.2.3 compares the | |||
| and disadvantages of these two variations of the aggregated nickname | advantages and disadvantages of these two variations of the | |||
| approach. | aggregated nickname approach. | |||
| 2.2.2.1 Border Learning Aggregated Nicknames | 2.2.2.1. Border Learning Aggregated Nicknames | |||
| This section provides an illustrative example and description of the | This section provides an illustrative example and description of the | |||
| border learning variation of aggregated nicknames where a single | border learning variation of aggregated nicknames where a single | |||
| nickname is used to identify an area. | nickname is used to identify an area. | |||
| In the following picture, RB2 and RB3 are area border TRILL switches | In the following picture, RB2 and RB3 are area border TRILL switches | |||
| (RBridges). A source S is attached to RB1. The two areas have | (RBridges). A source S is attached to RB1. The two areas have | |||
| nicknames 15961 and 15918, respectively. RB1 has a nickname, say 27, | nicknames 15961 and 15918, respectively. RB1 has a nickname, say 27, | |||
| and RB4 has a nickname, say 44 (and in fact, they could even have the | and RB4 has a nickname, say 44 (and in fact, they could even have the | |||
| same nickname, since the TRILL switch nickname will not be visible | same nickname, since the TRILL switch nickname will not be visible | |||
| skipping to change at page 14, line 53 | skipping to change at page 13, line 43 | |||
| | S--RB1---Rx--Rz----RB2---Rb---Rc--Rd---Re--RB3---Rk--RB4---D | | | S--RB1---Rx--Rz----RB2---Rb---Rc--Rd---Re--RB3---Rk--RB4---D | | |||
| | 27 | | | | 44 | | | 27 | | | | 44 | | |||
| | | | | | | | | | | | | | | |||
| +-------------------+ +-----------------+ +--------------+ | +-------------------+ +-----------------+ +--------------+ | |||
| Let's say that S transmits a frame to destination D, which is | Let's say that S transmits a frame to destination D, which is | |||
| connected to RB4, and let's say that D's location has already been | connected to RB4, and let's say that D's location has already been | |||
| learned by the relevant TRILL switches. These relevant switches have | learned by the relevant TRILL switches. These relevant switches have | |||
| learned the following: | learned the following: | |||
| 1) RB1 has learned that D is connected to nickname 15918 | 1) RB1 has learned that D is connected to nickname 15918 2) RB3 has | |||
| 2) RB3 has learned that D is attached to nickname 44. | learned that D is attached to nickname 44. | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| 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 | - S transmits an Ethernet frame with source MAC = S and destination | |||
| MAC = D. | MAC = D. | |||
| - RB1 encapsulates with a TRILL header with ingress RBridge = 27, | - RB1 encapsulates with a TRILL header with ingress RBridge = 27, | |||
| and egress = 15918 producing a TRILL Data packet. | and egress = 15918 producing a TRILL Data packet. | |||
| - RB2 has announced in the Level 1 IS-IS instance in area 15961, | - RB2 has announced in the Level 1 IS-IS instance in area 15961, | |||
| skipping to change at page 15, line 45 | skipping to change at page 14, line 41 | |||
| destination area, the ingress nickname will be 15961 and the | destination area, the ingress nickname will be 15961 and the | |||
| egress nickname will be 44. | egress nickname will be 44. | |||
| - RB4, when decapsulating, learns that S is attached to nickname | - RB4, when decapsulating, learns that S is attached to nickname | |||
| 15961, which is the area nickname of the ingress. | 15961, which is the area nickname of the ingress. | |||
| Now suppose that D's location has not been learned by RB1 and/or RB3. | Now suppose that D's location has not been learned by RB1 and/or RB3. | |||
| What will happen, as it would in TRILL today, is that RB1 will | What will happen, as it would in TRILL today, is that RB1 will | |||
| forward the packet as multi-destination, choosing a tree. As the | forward the packet as multi-destination, choosing a tree. As the | |||
| multi-destination packet transitions into Level 2, RB2 replaces the | multi-destination packet transitions into Level 2, RB2 replaces the | |||
| ingress nickname with the area nickname. If RB1 does not know the | ingress nickname with the area nickname. If RB1 does not know the | |||
| location of D, the packet must be flooded, subject to possible | location of D, the packet must be flooded, subject to possible | |||
| pruning, in Level 2 and, subject to possible pruning, from Level 2 | pruning, in Level 2 and, subject to possible pruning, from Level 2 | |||
| into every Level 1 area that it reaches on the Level 2 distribution | into every Level 1 area that it reaches on the Level 2 distribution | |||
| tree. | tree. | |||
| Now suppose that RB1 has learned the location of D (attached to | Now suppose that RB1 has learned the location of D (attached to | |||
| nickname 15918), but RB3 does not know where D is. In that case, RB3 | nickname 15918), but RB3 does not know where D is. In that case, RB3 | |||
| must turn the packet into a multi-destination packet within area | must turn the packet into a multi-destination packet within area | |||
| 15918. In this case, care must be taken so that in the case in which | 15918. In this case, care must be taken so that in the case in which | |||
| RB3 is not the Designated transitioner between Level 2 and its area | RB3 is not the Designated transitioner between Level 2 and its area | |||
| for that multi-destination packet, but was on the unicast path, that | for that multi-destination packet, but was on the unicast path, that | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| border TRILL switch in that area does not forward the now multi- | border TRILL switch in that area does not forward the now multi- | |||
| destination packet back into Level 2. Therefore, it would be | destination packet back into Level 2. Therefore, it would be | |||
| desirable to have a marking, somehow, that indicates the scope of | desirable to have a marking, somehow, that indicates the scope of | |||
| this packet's distribution to be "only this area" (see also Section | this packet's distribution to be "only this area" (see also | |||
| 4). | Section 4). | |||
| In cases where there are multiple transitioners for unicast packets, | In cases where there are multiple transitioners for unicast packets, | |||
| the border learning mode of operation requires that the address | the border learning mode of operation requires that the address | |||
| learning between them be shared by some protocol such as running | learning between them be shared by some protocol such as running | |||
| ESADI [RFC7357] for all Data Labels of interest to avoid excessive | ESADI [RFC7357] for all Data Labels of interest to avoid excessive | |||
| unknown unicast flooding. | unknown unicast flooding. | |||
| The potential issue described at the end of Section 2.2.1 with trees | The potential issue described at the end of Section 2.2.1 with trees | |||
| in the unique nickname alternative is eliminated with aggregated | in the unique nickname alternative is eliminated with aggregated | |||
| nicknames. With aggregated nicknames, each border TRILL switch that | nicknames. With aggregated nicknames, each border TRILL switch that | |||
| will transition multi-destination packets can have a mapping between | will transition multi-destination packets can have a mapping between | |||
| Level 2 tree nicknames and Level 1 tree nicknames. There need not | Level 2 tree nicknames and Level 1 tree nicknames. There need not | |||
| even be agreement about the total number of trees; just that the | even be agreement about the total number of trees; just that the | |||
| border TRILL switch have some mapping, and replace the egress TRILL | border TRILL switch have some mapping, and replace the egress TRILL | |||
| switch nickname (the tree name) when transitioning levels. | switch nickname (the tree name) when transitioning levels. | |||
| 2.2.2.2 Swap Nickname Field Aggregated Nicknames | 2.2.2.2. Swap Nickname Field Aggregated Nicknames | |||
| There is a variant possibility where two additional fields could | There is a variant possibility where two additional fields could | |||
| exist in TRILL Data packets that could be called the "ingress swap | exist in TRILL Data packets that could be called the "ingress swap | |||
| nickname field" and the "egress swap nickname field". This variant is | nickname field" and the "egress swap nickname field". This variant | |||
| described below for completeness but would require fast path hardware | is described below for completeness but would require fast path | |||
| changes from the existing TRILL protocol. The changes in the example | hardware changes from the existing TRILL protocol. The changes in | |||
| above would be as follows: | the example above would be as follows: | |||
| - RB1 will have learned the area nickname of D and the TRILL switch | - RB1 will have learned the area nickname of D and the TRILL switch | |||
| nickname of RB4 to which D is attached. In encapsulating a frame | nickname of RB4 to which D is attached. In encapsulating a frame | |||
| to D, it puts an area nickname of D (15918) in the egress nickname | to D, it puts an area nickname of D (15918) in the egress nickname | |||
| field of the TRILL Header and puts a nickname of RB3 (44) in a | field of the TRILL Header and puts a nickname of RB3 (44) in a | |||
| egress swap nickname field. | egress swap nickname field. | |||
| - RB2 moves the ingress nickname to the ingress swap nickname field | - RB2 moves the ingress nickname to the ingress swap nickname field | |||
| and inserts 15961, an area nickname for S, into the ingress | and inserts 15961, an area nickname for S, into the ingress | |||
| nickname field. | nickname field. | |||
| - RB3 swaps the egress nickname and the egress swap nickname fields, | - RB3 swaps the egress nickname and the egress swap nickname fields, | |||
| which sets the egress nickname to 44. | which sets the egress nickname to 44. | |||
| - RB4 learns the correspondence between the source MAC/VLAN of S and | - RB4 learns the correspondence between the source MAC/VLAN of S and | |||
| the { ingress nickname, ingress swap nickname field } pair as it | the { ingress nickname, ingress swap nickname field } pair as it | |||
| decapsulates and egresses the frame. | decapsulates and egresses the frame. | |||
| See [DraftAggregated] for a multilevel proposal using aggregated swap | See [DraftAggregated] for a multilevel proposal using aggregated swap | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| nicknames with a single nickname representing an area. | nicknames with a single nickname representing an area. | |||
| 2.2.2.3 Comparison | 2.2.2.3. Comparison | |||
| The Border Learning variant described in Section 2.2.2.1 above | The Border Learning variant described in Section 2.2.2.1 above | |||
| minimizes the change in non-border TRILL switches but imposes the | minimizes the change in non-border TRILL switches but imposes the | |||
| burden on border TRILL switches of learning and doing lookups in all | burden on border TRILL switches of learning and doing lookups in all | |||
| the end station MAC addresses within their area(s) that are used for | the end station MAC addresses within their area(s) that are used for | |||
| communication outside the area. This burden could be reduced by | communication outside the area. This burden could be reduced by | |||
| decreasing the area size and increasing the number of areas. | decreasing the area size and increasing the number of areas. | |||
| The Swap Nickname Field variant described in Section 2.2.2.2 | The Swap Nickname Field variant described in Section 2.2.2.2 | |||
| eliminates the extra address learning burden on border TRILL switches | eliminates the extra address learning burden on border TRILL switches | |||
| but requires changes to the TRILL data packet header and more | but requires changes to the TRILL data packet header and more | |||
| extensive changes to non-border TRILL switches. In particular, with | extensive changes to non-border TRILL switches. In particular, with | |||
| this alternative, non-border TRILL switches must learn to associate | this alternative, non-border TRILL switches must learn to associate | |||
| both a TRILL switch nickname and an area nickname with end station | both a TRILL switch nickname and an area nickname with end station | |||
| MAC/label pairs (except for addresses that are local to their area). | MAC/label pairs (except for addresses that are local to their area). | |||
| The Swap Nickname Field alternative is more scalable but less | The Swap Nickname Field alternative is more scalable but less | |||
| backward compatible for non-border TRILL switches. It would be | backward compatible for non-border TRILL switches. It would be | |||
| possible for border and other level 2 TRILL switches to support both | possible for border and other level 2 TRILL switches to support both | |||
| Border Learning, for support of legacy Level 1 TRILL switches, and | Border Learning, for support of legacy Level 1 TRILL switches, and | |||
| Swap Nickname, to support Level 1 TRILL switches that understood the | Swap Nickname, to support Level 1 TRILL switches that understood the | |||
| Swap Nickname method based on variations in the TRILL header but this | Swap Nickname method based on variations in the TRILL header but this | |||
| would be even more complex. | would be even more complex. | |||
| The requirement to change the TRILL header and fast path processing | The requirement to change the TRILL header and fast path processing | |||
| to support the Swap Nickname Field variant make it impractical for | to support the Swap Nickname Field variant make it impractical for | |||
| the foreseeable future. | the foreseeable future. | |||
| 2.3 Building Multi-Area Trees | 2.3. Building Multi-Area Trees | |||
| It is easy to build a multi-area tree by building a tree in each area | It is easy to build a multi-area tree by building a tree in each area | |||
| separately, (including the Level 2 "area"), and then having only a | separately, (including the Level 2 "area"), and then having only a | |||
| single border TRILL switch, say RBx, in each area, attach to the | single border TRILL switch, say RBx, in each area, attach to the | |||
| Level 2 area. RBx would forward all multi-destination packets | Level 2 area. RBx would forward all multi-destination packets | |||
| between that area and Level 2. | between that area and Level 2. | |||
| People might find this unacceptable, however, because of the desire | People might find this unacceptable, however, because of the desire | |||
| to path split (not always sending all multi-destination traffic | to path split (not always sending all multi-destination traffic | |||
| through the same border TRILL switch). | through the same border TRILL switch). | |||
| This is the same issue as with multiple ingress TRILL switches | This is the same issue as with multiple ingress TRILL switches | |||
| injecting traffic from a pseudonode, and can be solved with the | injecting traffic from a pseudonode, and can be solved with the | |||
| mechanism that was adopted for that purpose: the affinity TLV | mechanism that was adopted for that purpose: the affinity TLV | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| [RFC7783]. For each tree in the area, at most one border RB | [RFC7783]. For each tree in the area, at most one border RB | |||
| announces itself in an affinity TLV with that tree name. | announces itself in an affinity TLV with that tree name. | |||
| 2.4 The RPF Check for Trees | 2.4. The RPF Check for Trees | |||
| For multi-destination data originating locally in RBx's area, | For multi-destination data originating locally in RBx's area, | |||
| computation of the RPF check is done as today. For multi-destination | computation of the RPF check is done as today. For multi-destination | |||
| packets originating outside RBx's area, computation of the RPF check | packets originating outside RBx's area, computation of the RPF check | |||
| must be done based on which one of the border TRILL switches (say | must be done based on which one of the border TRILL switches (say | |||
| RB1, RB2, or RB3) injected the packet into the area. | RB1, RB2, or RB3) injected the packet into the area. | |||
| A TRILL switch, say RB4, located inside an area, must be able to know | A TRILL switch, say RB4, located inside an area, must be able to know | |||
| which of RB1, RB2, or RB3 transitioned the packet into the area from | which of RB1, RB2, or RB3 transitioned the packet into the area from | |||
| Level 2 (or into Level 2 from an area). | Level 2 (or into Level 2 from an area). | |||
| This could be done based on having the DBRB announce the transitioner | This could be done based on having the DBRB announce the transitioner | |||
| assignments to all the TRILL switches in the area, or the Affinity | assignments to all the TRILL switches in the area, or the Affinity | |||
| TLV mechanism given in [RFC7783], or a New Tree Encoding mechanism | TLV mechanism given in [RFC7783], or a New Tree Encoding mechanism | |||
| discussed in Section 4.1.1. | discussed in Section 4.1.1. | |||
| 2.5 Area Nickname Acquisition | 2.5. Area Nickname Acquisition | |||
| In the aggregated nickname alternative, each area must acquire a | In the aggregated nickname alternative, each area must acquire a | |||
| unique area nickname or can be identified by the set of border TRILL | unique area nickname or can be identified by the set of border TRILL | |||
| switches. It is probably simpler to allocate a block of nicknames | switches. It is probably simpler to allocate a block of nicknames | |||
| (say, the top 4000) to either (1) represent areas and not specific | (say, the top 4000) to either (1) represent areas and not specific | |||
| TRILL switches or (2) used by border TRILL switches if the set of | TRILL switches or (2) used by border TRILL switches if the set of | |||
| such border TRILL switches represent the area. | such border TRILL switches represent the area. | |||
| The nicknames used for area identification need to be advertised and | The nicknames used for area identification need to be advertised and | |||
| acquired through Level 2. | acquired through Level 2. | |||
| Within an area, all the border TRILL switches can discover each other | Within an area, all the border TRILL switches can discover each other | |||
| through the Level 1 link state database, by using the IS-IS attach | through the Level 1 link state database, by using the IS-IS attach | |||
| bit or by explicitly advertising in their LSP "I am a border | bit or by explicitly advertising in their LSP "I am a border | |||
| RBridge". | RBridge". | |||
| Of the border TRILL switches, one will have highest priority (say | Of the border TRILL switches, one will have highest priority (say | |||
| RB7). RB7 can dynamically participate, in Level 2, to acquire a | RB7). RB7 can dynamically participate, in Level 2, to acquire a | |||
| nickname for identifying the area. Alternatively, RB7 could give the | nickname for identifying the area. Alternatively, RB7 could give the | |||
| area a pseudonode IS-IS ID, such as RB7.5, within Level 2. So an | area a pseudonode IS-IS ID, such as RB7.5, within Level 2. So an | |||
| area would appear, in Level 2, as a pseudonode and the pseudonode | area would appear, in Level 2, as a pseudonode and the pseudonode | |||
| could participate, in Level 2, to acquire a nickname for the area. | could participate, in Level 2, to acquire a nickname for the area. | |||
| Within Level 2, all the border TRILL switches for an area can | Within Level 2, all the border TRILL switches for an area can | |||
| advertise reachability to the area, which would mean connectivity to | advertise reachability to the area, which would mean connectivity to | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| a nickname identifying the area. | a nickname identifying the area. | |||
| 2.6 Link State Representation of Areas | 2.6. Link State Representation of Areas | |||
| Within an area, say area A1, there is an election for the DBRB, | Within an area, say area A1, there is an election for the DBRB, | |||
| (Designated Border RBridge), say RB1. This can be done through LSPs | (Designated Border RBridge), say RB1. This can be done through LSPs | |||
| within area A1. The border TRILL switches announce themselves, | within area A1. The border TRILL switches announce themselves, | |||
| together with their DBRB priority. (Note that the election of the | together with their DBRB priority. (Note that the election of the | |||
| DBRB cannot be done based on Hello messages, because the border TRILL | DBRB cannot be done based on Hello messages, because the border TRILL | |||
| switches are not necessarily physical neighbors of each other. They | switches are not necessarily physical neighbors of each other. They | |||
| can, however, reach each other through connectivity within the area, | can, however, reach each other through connectivity within the area, | |||
| which is why it will work to find each other through Level 1 LSPs.) | which is why it will work to find each other through Level 1 LSPs.) | |||
| RB1 can acquire an area nickname (in the aggregated nickname | RB1 can acquire an area nickname (in the aggregated nickname | |||
| approach) and may give the area a pseudonode IS-IS ID (just like the | approach) and may give the area a pseudonode IS-IS ID (just like the | |||
| DRB would give a pseudonode IS-IS ID to a link) depending on how the | DRB would give a pseudonode IS-IS ID to a link) depending on how the | |||
| area nickname is handled. RB1 advertises, in area A1, an area | area nickname is handled. RB1 advertises, in area A1, an area | |||
| nickname that RB1 has acquired (and what the pseudonode IS-IS ID for | nickname that RB1 has acquired (and what the pseudonode IS-IS ID for | |||
| skipping to change at page 20, line 5 | skipping to change at page 18, line 38 | |||
| listeners and labels). All the other border TRILL switches for the | listeners and labels). All the other border TRILL switches for the | |||
| area announce (in their LSP) attachment to that area. | area announce (in their LSP) attachment to that area. | |||
| Within Level 2, RB1 generates a Level 2 LSP on behalf of the area. | Within Level 2, RB1 generates a Level 2 LSP on behalf of the area. | |||
| The same pseudonode ID could be used within Level 1 and Level 2, for | The same pseudonode ID could be used within Level 1 and Level 2, for | |||
| the area. (There does not seem any reason why it would be useful for | the area. (There does not seem any reason why it would be useful for | |||
| it to be different, but there's also no reason why it would need to | it to be different, but there's also no reason why it would need to | |||
| be the same). Likewise, all the area A1 border TRILL switches would | be the same). Likewise, all the area A1 border TRILL switches would | |||
| announce, in their Level 2 LSPs, connection to the area. | announce, in their Level 2 LSPs, connection to the area. | |||
| INTERNET-DRAFT Multilevel TRILL | 3. Area Partition | |||
| 3. Area Partition | ||||
| It is possible for an area to become partitioned, so that there is | It is possible for an area to become partitioned, so that there is | |||
| still a path from one section of the area to the other, but that path | still a path from one section of the area to the other, but that path | |||
| is via the Level 2 area. | is via the Level 2 area. | |||
| With multilevel TRILL, an area will naturally break into two areas in | With multilevel TRILL, an area will naturally break into two areas in | |||
| this case. | this case. | |||
| Area addresses might be configured to ensure two areas are not | Area addresses might be configured to ensure two areas are not | |||
| inadvertently connected. Area addresses appear in Hellos and LSPs | inadvertently connected. Area addresses appear in Hellos and LSPs | |||
| within the area. If two chunks, connected only via Level 2, were | within the area. If two chunks, connected only via Level 2, were | |||
| configured with the same area address, this would not cause any | configured with the same area address, this would not cause any | |||
| problems. (They would just operate as separate Level 1 areas.) | problems. (They would just operate as separate Level 1 areas.) | |||
| A more serious problem occurs if the Level 2 area is partitioned in | A more serious problem occurs if the Level 2 area is partitioned in | |||
| such a way that it could be healed by using a path through a Level 1 | such a way that it could be healed by using a path through a Level 1 | |||
| area. TRILL will not attempt to solve this problem. Within the Level | area. TRILL will not attempt to solve this problem. Within the | |||
| 1 area, a single border RBridge will be the DBRB, and will be in | Level 1 area, a single border RBridge will be the DBRB, and will be | |||
| charge of deciding which (single) RBridge will transition any | in charge of deciding which (single) RBridge will transition any | |||
| particular multi-destination packets between that area and Level 2. | particular multi-destination packets between that area and Level 2. | |||
| If the Level 2 area is partitioned, this will result in multi- | If the Level 2 area is partitioned, this will result in multi- | |||
| destination data only reaching the portion of the TRILL campus | destination data only reaching the portion of the TRILL campus | |||
| reachable through the partition attached to the TRILL switch that | reachable through the partition attached to the TRILL switch that | |||
| transitions that packet. It will not cause a loop. | transitions that packet. It will not cause a loop. | |||
| INTERNET-DRAFT Multilevel TRILL | 4. Multi-Destination Scope | |||
| 4. Multi-Destination Scope | ||||
| There are at least two reasons it would be desirable to be able to | There are at least two reasons it would be desirable to be able to | |||
| mark a multi-destination packet with a scope that indicates the | mark a multi-destination packet with a scope that indicates the | |||
| packet should not exit the area, as follows: | packet should not exit the area, as follows: | |||
| 1. To address an issue in the border learning variant of the | 1. To address an issue in the border learning variant of the | |||
| aggregated nickname alternative, when a unicast packet turns into | aggregated nickname alternative, when a unicast packet turns into | |||
| a multi-destination packet when transitioning from Level 2 to | a multi-destination packet when transitioning from Level 2 to | |||
| Level 1, as discussed in Section 4.1. | Level 1, as discussed in Section 4.1. | |||
| 2. To constrain the broadcast domain for certain discovery, | 2. To constrain the broadcast domain for certain discovery, | |||
| directory, or service protocols as discussed in Section 4.2. | directory, or service protocols as discussed in Section 4.2. | |||
| Multi-destination packet distribution scope restriction could be done | Multi-destination packet distribution scope restriction could be done | |||
| in a number of ways. For example, there could be a flag in the packet | in a number of ways. For example, there could be a flag in the | |||
| that means "for this area only". However, the technique that might | packet that means "for this area only". However, the technique that | |||
| require the least change to TRILL switch fast path logic would be to | might require the least change to TRILL switch fast path logic would | |||
| indicate this in the egress nickname that designates the distribution | be to indicate this in the egress nickname that designates the | |||
| tree being used. There could be two general tree nicknames for each | distribution tree being used. There could be two general tree | |||
| tree, one being for distribution restricted to the area and the other | nicknames for each tree, one being for distribution restricted to the | |||
| being for multi-area trees. Or there would be a set of N (perhaps 16) | area and the other being for multi-area trees. Or there would be a | |||
| special currently reserved nicknames used to specify the N highest | set of N (perhaps 16) special currently reserved nicknames used to | |||
| priority trees but with the variation that if the special nickname is | specify the N highest priority trees but with the variation that if | |||
| used for the tree, the packet is not transitioned between areas. Or | the special nickname is used for the tree, the packet is not | |||
| one or more special trees could be built that were restricted to the | transitioned between areas. Or one or more special trees could be | |||
| local area. | built that were restricted to the local area. | |||
| 4.1 Unicast to Multi-destination Conversions | 4.1. Unicast to Multi-destination Conversions | |||
| In the border learning variant of the aggregated nickname | In the border learning variant of the aggregated nickname | |||
| alternative, the following situation may occur: | alternative, the following situation may occur: - a unicast packet | |||
| - a unicast packet might be known at the Level 1 to Level 2 | might be known at the Level 1 to Level 2 transition and be | |||
| transition and be forwarded as a unicast packet to the least cost | forwarded as a unicast packet to the least cost border TRILL | |||
| border TRILL switch advertising connectivity to the destination | switch advertising connectivity to the destination area, but | |||
| area, but | - upon arriving at the border TRILL switch, it turns out to have | |||
| - upon arriving at the border TRILL switch, it turns out to have an | an unknown destination { MAC, Data Label } pair. | |||
| unknown destination { MAC, Data Label } pair. | ||||
| In this case, the packet must be converted into a multi-destination | In this case, the packet must be converted into a multi-destination | |||
| packet and flooded in the destination area. However, if the border | packet and flooded in the destination area. However, if the border | |||
| TRILL switch doing the conversion is not the border TRILL switch | TRILL switch doing the conversion is not the border TRILL switch | |||
| designated to transition the resulting multi-destination packet, | designated to transition the resulting multi-destination packet, | |||
| there is the danger that the designated transitioner may pick up the | there is the danger that the designated transitioner may pick up the | |||
| packet and flood it back into Level 2 from which it may be flooded | packet and flood it back into Level 2 from which it may be flooded | |||
| into multiple areas. This danger can be avoided by restricting any | into multiple areas. This danger can be avoided by restricting any | |||
| multi-destination packet that results from such a conversion to the | multi-destination packet that results from such a conversion to the | |||
| destination area as described above. | destination area as described above. | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| Alternatively, a multi-destination packet intended only for the area | Alternatively, a multi-destination packet intended only for the area | |||
| could be tunneled (within the area) to the RBridge RBx, that is the | could be tunneled (within the area) to the RBridge RBx, that is the | |||
| appointed transitioner for that form of packet (say, based on VLAN or | appointed transitioner for that form of packet (say, based on VLAN or | |||
| FGL), with instructions that RBx only transmit the packet within the | FGL), with instructions that RBx only transmit the packet within the | |||
| area, and RBx could initiate the multi-destination packet within the | area, and RBx could initiate the multi-destination packet within the | |||
| area. Since RBx introduced the packet, and is the only one allowed | area. Since RBx introduced the packet, and is the only one allowed | |||
| to transition that packet to Level 2, this would accomplish scoping | to transition that packet to Level 2, this would accomplish scoping | |||
| of the packet to within the area. Since this case only occurs in the | of the packet to within the area. Since this case only occurs in the | |||
| unusual case when unicast packets need to be turned into multi- | unusual case when unicast packets need to be turned into multi- | |||
| destination as described above, the suboptimality of tunneling | destination as described above, the suboptimality of tunneling | |||
| between the border TRILL switch that receives the unicast packet and | between the border TRILL switch that receives the unicast packet and | |||
| the appointed level transitioner for that packet, might not be an | the appointed level transitioner for that packet, might not be an | |||
| issue. | issue. | |||
| 4.1.1 New Tree Encoding | 4.1.1. New Tree Encoding | |||
| The current encoding, in a TRILL header, of a tree, is of the | The current encoding, in a TRILL header, of a tree, is of the | |||
| nickname of the tree root. This requires all 16 bits of the egress | nickname of the tree root. This requires all 16 bits of the egress | |||
| nickname field. TRILL could instead, for example, use the bottom 6 | nickname field. TRILL could instead, for example, use the bottom 6 | |||
| bits to encode the tree number (allowing 64 trees), leaving 10 bits | bits to encode the tree number (allowing 64 trees), leaving 10 bits | |||
| to encode information such as: | to encode information such as: | |||
| o scope: a flag indicating whether it should be single area only, or | - scope: a flag indicating whether it should be single area only, or | |||
| entire campus | entire campus | |||
| o border injector: an indicator of which of the k border TRILL | - border injector: an indicator of which of the k border TRILL | |||
| switches injected this packet | switches injected this packet | |||
| If TRILL were to adopt this new encoding, any of the TRILL switches | If TRILL were to adopt this new encoding, any of the TRILL switches | |||
| in an edge group could inject a multi-destination packet. This would | in an edge group could inject a multi-destination packet. This would | |||
| require all TRILL switches to be changed to understand the new | require all TRILL switches to be changed to understand the new | |||
| encoding for a tree, and it would require a TLV in the LSP to | encoding for a tree, and it would require a TLV in the LSP to | |||
| indicate which number each of the TRILL switches in an edge group | indicate which number each of the TRILL switches in an edge group | |||
| would be. | would be. | |||
| While there are a number of advantages to this technique, it requires | While there are a number of advantages to this technique, it requires | |||
| fast path logic changes and thus its deployment is not practical at | fast path logic changes and thus its deployment is not practical at | |||
| this time. It is included here for completeness. | this time. It is included here for completeness. | |||
| 4.2 Selective Broadcast Domain Reduction | 4.2. Selective Broadcast Domain Reduction | |||
| There are a number of service, discovery, and directory protocols | There are a number of service, discovery, and directory protocols | |||
| that, for convenience, are accessed via multicast or broadcast | that, for convenience, are accessed via multicast or broadcast | |||
| frames. Examples are DHCP, (Dynamic Host Configuration Protocol) the | frames. Examples are DHCP, (Dynamic Host Configuration Protocol) the | |||
| NetBIOS Service Location Protocol, and multicast DNS (Domain Name | NetBIOS Service Location Protocol, and multicast DNS (Domain Name | |||
| Service). | Service). | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| Some such protocols provide means to restrict distribution to an IP | Some such protocols provide means to restrict distribution to an IP | |||
| subnet or equivalent to reduce size of the broadcast domain they are | subnet or equivalent to reduce size of the broadcast domain they are | |||
| using and then provide a proxy that can be placed in that subnet to | using and then provide a proxy that can be placed in that subnet to | |||
| use unicast to access a service elsewhere. In cases where a proxy | use unicast to access a service elsewhere. In cases where a proxy | |||
| mechanism is not currently defined, it may be possible to create one | mechanism is not currently defined, it may be possible to create one | |||
| that references a central server or cache. With multilevel TRILL, it | that references a central server or cache. With multilevel TRILL, it | |||
| is possible to construct very large IP subnets that could become | is possible to construct very large IP subnets that could become | |||
| saturated with multi-destination traffic of this type unless packets | saturated with multi-destination traffic of this type unless packets | |||
| can be further restricted in their distribution. Such restricted | can be further restricted in their distribution. Such restricted | |||
| distribution can be accomplished for some protocols, say protocol P, | distribution can be accomplished for some protocols, say protocol P, | |||
| in a variety of ways including the following: | in a variety of ways including the following: | |||
| - Either (1) at all ingress TRILL switches in an area place all | - Either (1) at all ingress TRILL switches in an area place all | |||
| protocol P multi-destination packets on a distribution tree in | protocol P multi-destination packets on a distribution tree in | |||
| such a way that the packets are restricted to the area or (2) at | such a way that the packets are restricted to the area or (2) at | |||
| all border TRILL switches between that area and Level 2, detect | all border TRILL switches between that area and Level 2, detect | |||
| protocol P multi-destination packets and do not transition them. | protocol P multi-destination packets and do not transition them. | |||
| - Then place one, or a few for redundancy, protocol P proxies inside | - Then place one, or a few for redundancy, protocol P proxies inside | |||
| each area where protocol P may be in use. These proxies unicast | each area where protocol P may be in use. These proxies unicast | |||
| protocol P requests or other messages to the actual campus | protocol P requests or other messages to the actual campus | |||
| server(s) for P. They also receive unicast responses or other | server(s) for P. They also receive unicast responses or other | |||
| messages from those servers and deliver them within the area via | messages from those servers and deliver them within the area via | |||
| unicast, multicast, or broadcast as appropriate. (Such proxies | unicast, multicast, or broadcast as appropriate. (Such proxies | |||
| would not be needed if it was acceptable for all protocol P | would not be needed if it was acceptable for all protocol P | |||
| traffic to be restricted to an area.) | traffic to be restricted to an area.) | |||
| While it might seem logical to connect the campus servers to TRILL | While it might seem logical to connect the campus servers to TRILL | |||
| switches in Level 2, they could be placed within one or more areas so | switches in Level 2, they could be placed within one or more areas so | |||
| that, in some cases, those areas might not require a local proxy | that, in some cases, those areas might not require a local proxy | |||
| server. | server. | |||
| INTERNET-DRAFT Multilevel TRILL | 5. Co-Existence with Old TRILL switches | |||
| 5. Co-Existence with Old TRILL switches | ||||
| TRILL switches that are not multilevel aware may have a problem with | TRILL switches that are not multilevel aware may have a problem with | |||
| calculating RPF Check and filtering information, since they would not | calculating RPF Check and filtering information, since they would not | |||
| be aware of the assignment of border TRILL switch transitioning. | be aware of the assignment of border TRILL switch transitioning. | |||
| A possible solution, as long as any old TRILL switches exist within | A possible solution, as long as any old TRILL switches exist within | |||
| an area, is to have the border TRILL switches elect a single DBRB | an area, is to have the border TRILL switches elect a single DBRB | |||
| (Designated Border RBridge), and have all inter-area traffic go | (Designated Border RBridge), and have all inter-area traffic go | |||
| through the DBRB (unicast as well as multi-destination). If that | through the DBRB (unicast as well as multi-destination). If that | |||
| DBRB goes down, a new one will be elected, but at any one time, all | DBRB goes down, a new one will be elected, but at any one time, all | |||
| inter-area traffic (unicast as well as multi-destination) would go | inter-area traffic (unicast as well as multi-destination) would go | |||
| through that one DRBR. However this eliminates load splitting at | through that one DRBR. However this eliminates load splitting at | |||
| level transition. | level transition. | |||
| INTERNET-DRAFT Multilevel TRILL | 6. Multi-Access Links with End Stations | |||
| 6. Multi-Access Links with End Stations | ||||
| Care must be taken in the case where there are multiple TRILL | Care must be taken in the case where there are multiple TRILL | |||
| switches on a link with one or more end stations, keeping in mind | switches on a link with one or more end stations, keeping in mind | |||
| that end stations are TRILL ignorant. In particular, it is essential | that end stations are TRILL ignorant. In particular, it is essential | |||
| that only one TRILL switch ingress/egress any given data packet | that only one TRILL switch ingress/egress any given data packet from/ | |||
| from/to an end station so that connectivity is provided to that end | to an end station so that connectivity is provided to that end | |||
| station without duplicating end station data and that loops are not | station without duplicating end station data and that loops are not | |||
| formed due to one TRILL switch egressing data in native form (i.e., | formed due to one TRILL switch egressing data in native form (i.e., | |||
| with no TRILL header) and having that data re-ingressed by another | with no TRILL header) and having that data re-ingressed by another | |||
| TRILL switch on the link. | TRILL switch on the link. | |||
| With existing, single level TRILL, this is done by electing a single | With existing, single level TRILL, this is done by electing a single | |||
| Designated RBridge per link, which appoints a single Appointed | Designated RBridge per link, which appoints a single Appointed | |||
| Forwarder per VLAN [RFC7177] [RFC8139]. This mechanism depends on the | Forwarder per VLAN [RFC7177] [RFC8139]. This mechanism depends on | |||
| RBridges establishing adjacency. But suppose there are two (or more) | the RBridges establishing adjacency. But suppose there are two (or | |||
| TRILL switches on a link in different areas, say RB1 in area A1 and | more) TRILL switches on a link in different areas, say RB1 in area A1 | |||
| RB2 in area A2, as shown below, and that the link also has one or | and RB2 in area A2, as shown below, and that the link also has one or | |||
| more end stations attached. If RB1 and RB2 ignore each other's | more end stations attached. If RB1 and RB2 ignore each other's | |||
| Hellos because they are in different areas, as they are required to | Hellos because they are in different areas, as they are required to | |||
| do under normal IS-IS PDU processing rules, then they will not form | do under normal IS-IS PDU processing rules, then they will not form | |||
| an adjacency. If they are not adjacent, they will ignore each other | an adjacency. If they are not adjacent, they will ignore each other | |||
| for the Appointed Forwarder mechanism and will both ingress/egress | for the Appointed Forwarder mechanism and will both ingress/egress | |||
| end station traffic on the link causing loops and duplication. | end station traffic on the link causing loops and duplication. | |||
| The problem is not avoiding adjacency or avoiding TRILL Data packet | The problem is not avoiding adjacency or avoiding TRILL Data packet | |||
| transfer between RB1 and RB2. The area address mechanism of IS-IS or | transfer between RB1 and RB2. The area address mechanism of IS-IS or | |||
| possibly the use of topology constraints or the like does that quite | possibly the use of topology constraints or the like does that quite | |||
| well. The problem stems from end stations being TRILL ignorant so | well. The problem stems from end stations being TRILL ignorant so | |||
| care must be taken that multiple RBridges on a link do not ingress | care must be taken that multiple RBridges on a link do not ingress | |||
| the same frame originated by an end station and so that an RBridge | the same frame originated by an end station and so that an RBridge | |||
| does not ingress a native frame egressed by a different RBridge | does not ingress a native frame egressed by a different RBridge | |||
| because the RBridge mistakes the frame for a frame originated by an | because the RBridge mistakes the frame for a frame originated by an | |||
| end station. | end station. | |||
| +--------------------------------------------+ | +--------------------------------------------+ | |||
| | Level 2 | | | Level 2 | | |||
| +----------+---------------------+-----------+ | +----------+---------------------+-----------+ | |||
| | Area A1 | | Area A2 | | | Area A1 | | Area A2 | | |||
| skipping to change at page 26, line 5 | skipping to change at page 23, line 23 | |||
| | +-+-+ | | +-+-+ | | | +-+-+ | | +-+-+ | | |||
| | | | | | | | | | | | | | | |||
| +-----|----+ +-----|-----+ | +-----|----+ +-----|-----+ | |||
| | | | | | | |||
| --+---------+-------------+--------+-- Link | --+---------+-------------+--------+-- Link | |||
| | | | | | | |||
| +------+------+ +--+----------+ | +------+------+ +--+----------+ | |||
| | End Station | | End Station | | | End Station | | End Station | | |||
| +-------------+ +-------------+ | +-------------+ +-------------+ | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| A simple rule, which is preferred, is to use the TRILL switch or | A simple rule, which is preferred, is to use the TRILL switch or | |||
| switches having the lowest numbered area, comparing area numbers as | switches having the lowest numbered area, comparing area numbers as | |||
| unsigned integers, to handle all native traffic to/from end stations | unsigned integers, to handle all native traffic to/from end stations | |||
| on the link. This would automatically give multilevel-ignorant legacy | on the link. This would automatically give multilevel-ignorant | |||
| TRILL switches, that would be using area number zero, highest | legacy TRILL switches, that would be using area number zero, highest | |||
| priority for handling end station traffic, which they would try to do | priority for handling end station traffic, which they would try to do | |||
| anyway. | anyway. | |||
| Other methods are possible. For example doing the selection of | Other methods are possible. For example doing the selection of | |||
| Appointed Forwarders and of the TRILL switch in charge of that | Appointed Forwarders and of the TRILL switch in charge of that | |||
| selection across all TRILL switches on the link regardless of area. | selection across all TRILL switches on the link regardless of area. | |||
| However, a special case would then have to be made for legacy TRILL | However, a special case would then have to be made for legacy TRILL | |||
| switches using area number zero. | switches using area number zero. | |||
| These techniques require multilevel aware TRILL switches to take | These techniques require multilevel aware TRILL switches to take | |||
| actions based on Hellos from RBridges in other areas even though they | actions based on Hellos from RBridges in other areas even though they | |||
| will not form an adjacency with such RBridges. However, the action is | will not form an adjacency with such RBridges. However, the action | |||
| quite simple in the preferred case: if a TRILL switch sees Hellos | is quite simple in the preferred case: if a TRILL switch sees Hellos | |||
| from lower numbered areas, then they would not act as an Appointed | from lower numbered areas, then they would not act as an Appointed | |||
| Forwarder on the link until the Hello timer for such Hellos had | Forwarder on the link until the Hello timer for such Hellos had | |||
| expired. | expired. | |||
| INTERNET-DRAFT Multilevel TRILL | 7. Summary | |||
| 7. Summary | ||||
| This draft describes potential scaling issues in TRILL and discusses | This draft describes potential scaling issues in TRILL and discusses | |||
| possible approaches to multilevel TRILL as a solution or element of a | possible approaches to multilevel TRILL as a solution or element of a | |||
| solution to most of them. | solution to most of them. | |||
| The alternative using aggregated areas in multilevel TRILL has | The alternative using aggregated areas in multilevel TRILL has | |||
| significant advantages in terms of scalability over using campus wide | significant advantages in terms of scalability over using campus wide | |||
| unique nicknames, not just in avoiding nickname exhaustion, but by | unique nicknames, not just in avoiding nickname exhaustion, but by | |||
| allowing RPF Checks to be aggregated based on an entire area. | allowing RPF Checks to be aggregated based on an entire area. | |||
| However, the alternative of using unique nicknames is simpler and | However, the alternative of using unique nicknames is simpler and | |||
| avoids the changes in border TRILL switches required to support | avoids the changes in border TRILL switches required to support | |||
| aggregated nicknames. It is possible to support both. For example, a | aggregated nicknames. It is possible to support both. For example, | |||
| TRILL campus could use simpler unique nicknames until scaling begins | a TRILL campus could use simpler unique nicknames until scaling | |||
| to cause problems and then start to introduce areas with aggregated | begins to cause problems and then start to introduce areas with | |||
| nicknames. | aggregated nicknames. | |||
| Some multilevel TRILL issues are not difficult, such as dealing with | Some multilevel TRILL issues are not difficult, such as dealing with | |||
| partitioned areas. Other issues are more difficult, especially | partitioned areas. Other issues are more difficult, especially | |||
| dealing with old TRILL switches that are multilevel ignorant. | dealing with old TRILL switches that are multilevel ignorant. | |||
| INTERNET-DRAFT Multilevel TRILL | 8. Security Considerations | |||
| 8. Security Considerations | ||||
| This informational document explores alternatives for the design of | This informational document explores alternatives for the design of | |||
| multilevel IS-IS in TRILL and generally does not consider security | multilevel IS-IS in TRILL and generally does not consider security | |||
| issues. | issues. | |||
| If aggregated nicknames are used in two areas that have the same area | If aggregated nicknames are used in two areas that have the same area | |||
| address and those areas merge, there is a possibility of a transient | address and those areas merge, there is a possibility of a transient | |||
| nickname collision that would not occur with unique nicknames. Such a | nickname collision that would not occur with unique nicknames. Such | |||
| collision could cause a data packet to be delivered to the wrong | a collision could cause a data packet to be delivered to the wrong | |||
| egress TRILL switch but it would still not be delivered to any end | egress TRILL switch but it would still not be delivered to any end | |||
| station in the wrong Data Label; thus such delivery would still | station in the wrong Data Label; thus such delivery would still | |||
| conform to security policies. | conform to security policies. | |||
| For general TRILL Security Considerations, see [RFC6325]. | For general TRILL Security Considerations, see [RFC6325]. | |||
| 9. IANA Considerations | 9. IANA Considerations | |||
| This document requires no IANA actions. RFC Editor: Please remove | This document requires no IANA actions. RFC Editor: Please remove | |||
| this section before publication. | this section before publication. | |||
| INTERNET-DRAFT Multilevel TRILL | 10. References | |||
| Normative References | ||||
| [IS-IS] - ISO/IEC 10589:2002, Second Edition, "Intermediate System to | ||||
| Intermediate System Intra-Domain Routing Exchange Protocol for | ||||
| use in Conjunction with the Protocol for Providing the | ||||
| Connectionless-mode Network Service (ISO 8473)", 2002. | ||||
| [RFC6325] - Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A. | ||||
| Ghanwani, "Routing Bridges (RBridges): Base Protocol | ||||
| Specification", RFC 6325, July 2011. | ||||
| [RFC7177] - Eastlake 3rd, D., Perlman, R., Ghanwani, A., Yang, H., | ||||
| and V. Manral, "Transparent Interconnection of Lots of Links | ||||
| (TRILL): Adjacency", RFC 7177, May 2014, <http://www.rfc- | ||||
| editor.org/info/rfc7177>. | ||||
| [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, | ||||
| <http://www.rfc-editor.org/info/rfc7780>. | ||||
| [RFC8139] - Eastlake, D., Li, Y., Umair, M., Banerjee, A., and F. Hu, | ||||
| "Transparent Interconnection of Lots of Links (TRILL): | ||||
| Appointed Forwarders", RFC 8139, DOI 10.17487/RFC8139, June | ||||
| 2017, <http://www.rfc-editor.org/info/rfc8139>. | ||||
| Informative References | ||||
| [InterCon] - Perlman, R., "Interconnections, Second Edition; Bridges, | ||||
| Routers, Switches, and Internetworking Protocols", Addison | ||||
| Wesley, ISBN 0-201-63448-1, September 1999. | ||||
| [RFC3194] - Durand, A. and C. Huitema, "The H-Density Ratio for | 10.1. References | |||
| Address Assignment Efficiency An Update on the H ratio", RFC | ||||
| 3194, DOI 10.17487/RFC3194, November 2001, <http://www.rfc- | ||||
| editor.org/info/rfc3194>. | ||||
| [RFC6361] - Carlson, J. and D. Eastlake 3rd, "PPP Transparent | [RFC6325] Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A. | |||
| Interconnection of Lots of Links (TRILL) Protocol Control | Ghanwani, "Routing Bridges (RBridges): Base Protocol | |||
| Protocol", RFC 6361, August 2011. | Specification", RFC 6325, DOI 10.17487/RFC6325, July 2011, | |||
| <http://www.rfc-editor.org/info/rfc6325>. | ||||
| [RFC7172] - Eastlake 3rd, D., Zhang, M., Agarwal, P., Perlman, R., | [RFC7177] Eastlake 3rd, D., Perlman, R., Ghanwani, A., Yang, H., and | |||
| and D. Dutt, "Transparent Interconnection of Lots of Links | V. Manral, "Transparent Interconnection of Lots of Links | |||
| (TRILL): Fine-Grained Labeling", RFC 7172, May 2014 | (TRILL): Adjacency", RFC 7177, DOI 10.17487/RFC7177, May | |||
| 2014, <http://www.rfc-editor.org/info/rfc7177>. | ||||
| [RFC7176] - Eastlake 3rd, D., Senevirathne, T., Ghanwani, A., Dutt, | [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, | ||||
| <http://www.rfc-editor.org/info/rfc7780>. | ||||
| INTERNET-DRAFT Multilevel TRILL | [RFC8139] Eastlake 3rd, D., Li, Y., Umair, M., Banerjee, A., and F. | |||
| Hu, "Transparent Interconnection of Lots of Links (TRILL): | ||||
| Appointed Forwarders", RFC 8139, DOI 10.17487/RFC8139, | ||||
| June 2017, <http://www.rfc-editor.org/info/rfc8139>. | ||||
| D., and A. Banerjee, "Transparent Interconnection of Lots of | 10.2. References | |||
| Links (TRILL) Use of IS-IS", RFC 7176, May 2014. | ||||
| [RFC7357] - Zhai, H., Hu, F., Perlman, R., Eastlake 3rd, D., and O. | [RFC3194] Durand, A. and C. Huitema, "The H-Density Ratio for | |||
| Stokes, "Transparent Interconnection of Lots of Links (TRILL): | Address Assignment Efficiency An Update on the H ratio", | |||
| End Station Address Distribution Information (ESADI) Protocol", | RFC 3194, DOI 10.17487/RFC3194, November 2001, | |||
| RFC 7357, September 2014, <http://www.rfc- | <http://www.rfc-editor.org/info/rfc3194>. | |||
| editor.org/info/rfc7357>. | ||||
| [RFC7781] - Zhai, H., Senevirathne, T., Perlman, R., Zhang, M., and | [RFC6361] Carlson, J. and D. Eastlake 3rd, "PPP Transparent | |||
| Y. Li, "Transparent Interconnection of Lots of Links (TRILL): | Interconnection of Lots of Links (TRILL) Protocol Control | |||
| Pseudo-Nickname for Active-Active Access", RFC 7781, DOI | Protocol", RFC 6361, DOI 10.17487/RFC6361, August 2011, | |||
| 10.17487/RFC7781, February 2016, <http://www.rfc- | <http://www.rfc-editor.org/info/rfc6361>. | |||
| editor.org/info/rfc7781>. | ||||
| [RFC7783] - Senevirathne, T., Pathangi, J., and J. Hudson, | [RFC7172] Eastlake 3rd, D., Zhang, M., Agarwal, P., Perlman, R., and | |||
| "Coordinated Multicast Trees (CMT) for Transparent | D. Dutt, "Transparent Interconnection of Lots of Links | |||
| Interconnection of Lots of Links (TRILL)", RFC 7783, DOI | (TRILL): Fine-Grained Labeling", RFC 7172, | |||
| 10.17487/RFC7783, February 2016, <http://www.rfc- | DOI 10.17487/RFC7172, May 2014, | |||
| editor.org/info/rfc7783>. | <http://www.rfc-editor.org/info/rfc7172>. | |||
| [DraftAggregated] - Bhargav Bhikkaji, Balaji Venkat Venkataswami, | [RFC7176] Eastlake 3rd, D., Senevirathne, T., Ghanwani, A., Dutt, | |||
| Narayana Perumal Swamy, "Connecting Disparate Data | D., and A. Banerjee, "Transparent Interconnection of Lots | |||
| Center/PBB/Campus TRILL sites using BGP", draft-balaji-trill- | of Links (TRILL) Use of IS-IS", RFC 7176, | |||
| over-ip-multi-level, Work In Progress. | DOI 10.17487/RFC7176, May 2014, | |||
| <http://www.rfc-editor.org/info/rfc7176>. | ||||
| [DraftUnique] - M. Zhang, D. Eastlake, R. Perlman, M. Cullen, H. | [RFC7357] Zhai, H., Hu, F., Perlman, R., Eastlake 3rd, D., and O. | |||
| Zhai, D. Liu, "TRILL Multilevel Using Unique Nicknames", draft- | Stokes, "Transparent Interconnection of Lots of Links | |||
| ietf-trill-multilevel-unique-nickname, Work In Progress. | (TRILL): End Station Address Distribution Information | |||
| (ESADI) Protocol", RFC 7357, DOI 10.17487/RFC7357, | ||||
| September 2014, <http://www.rfc-editor.org/info/rfc7357>. | ||||
| [SingleName] - Mingui Zhang, et. al, "Single Area Border RBridge | [RFC7781] Zhai, H., Senevirathne, T., Perlman, R., Zhang, M., and Y. | |||
| Nickname for TRILL Multilevel", draft-ietf-trill-multilevel- | Li, "Transparent Interconnection of Lots of Links (TRILL): | |||
| single-nickname, Work in Progress. | Pseudo-Nickname for Active-Active Access", RFC 7781, | |||
| DOI 10.17487/RFC7781, February 2016, | ||||
| <http://www.rfc-editor.org/info/rfc7781>. | ||||
| INTERNET-DRAFT Multilevel TRILL | [RFC7783] Senevirathne, T., Pathangi, J., and J. Hudson, | |||
| "Coordinated Multicast Trees (CMT) for Transparent | ||||
| Interconnection of Lots of Links (TRILL)", RFC 7783, | ||||
| DOI 10.17487/RFC7783, February 2016, | ||||
| <http://www.rfc-editor.org/info/rfc7783>. | ||||
| Acknowledgements | Acknowledgements | |||
| The helpful comments and contributions of the following are hereby | The helpful comments and contributions of the following are hereby | |||
| acknowledged: | acknowledged: | |||
| Alia Atlas, David Michael Bond, Dino Farinacci, Sue Hares, Gayle | Alia Atlas, David Michael Bond, Dino Farinacci, Sue Hares, Gayle | |||
| Noble, Alexander Vainshtein, and Stig Venaas. | Noble, Alexander Vainshtein, and Stig Venaas. | |||
| The document was prepared in raw nroff. All macros used were defined | The document was prepared in raw nroff. All macros used were defined | |||
| within the source file. | within the source file. | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| Authors' Addresses | Authors' Addresses | |||
| Radia Perlman | Radia Perlman | |||
| EMC | EMC | |||
| 2010 256th Avenue NE, #200 | 2010 256th Avenue NE, #200 | |||
| Bellevue, WA 98007 USA | Bellevue, WA 98007 USA | |||
| EMail: radia@alum.mit.edu | Email: radia@alum.mit.edu | |||
| Donald Eastlake | Donald Eastlake | |||
| Huawei Technologies | Huawei Technologies | |||
| 155 Beaver Street | 155 Beaver Street | |||
| Milford, MA 01757 USA | Milford, MA 01757 USA | |||
| Phone: +1-508-333-2270 | Phone: +1-508-333-2270 | |||
| Email: d3e3e3@gmail.com | Email: d3e3e3@gmail.com | |||
| Mingui Zhang | Mingui Zhang | |||
| Huawei Technologies | Huawei Technologies | |||
| No.156 Beiqing Rd. Haidian District, | No.156 Beiqing Rd. Haidian District, | |||
| Beijing 100095 P.R. China | Beijing 100095 P.R. China | |||
| EMail: zhangmingui@huawei.com | Email: zhangmingui@huawei.com | |||
| Anoop Ghanwani | Anoop Ghanwani | |||
| Dell | Dell | |||
| 5450 Great America Parkway | 5450 Great America Parkway | |||
| Santa Clara, CA 95054 USA | Santa Clara, CA 95054 USA | |||
| EMail: anoop@alumni.duke.edu | Email: anoop@alumni.duke.edu | |||
| Hongjun Zhai | Hongjun Zhai | |||
| Jinling Institute of Technology | Jinling Institute of Technology | |||
| 99 Hongjing Avenue, Jiangning District | 99 Hongjing Avenue, Jiangning District | |||
| Nanjing, Jiangsu 211169 China | Nanjing, Jiangsu 211169 China | |||
| EMail: honjun.zhai@tom.com | Email: honjun.zhai@tom.com | |||
| INTERNET-DRAFT Multilevel TRILL | ||||
| Copyright and IPR Provisions | ||||
| Copyright (c) 2017 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 | ||||
| (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. The definitive version of | ||||
| an IETF Document is that published by, or under the auspices of, the | ||||
| IETF. Versions of IETF Documents that are published by third parties, | ||||
| including those that are translated into other languages, should not | ||||
| be considered to be definitive versions of IETF Documents. The | ||||
| definitive version of these Legal Provisions is that published by, or | ||||
| under the auspices of, the IETF. Versions of these Legal Provisions | ||||
| that are published by third parties, including those that are | ||||
| translated into other languages, should not be considered to be | ||||
| definitive versions of these Legal Provisions. For the avoidance of | ||||
| doubt, each Contributor to the IETF Standards Process licenses each | ||||
| Contribution that he or she makes as part of the IETF Standards | ||||
| Process to the IETF Trust pursuant to the provisions of RFC 5378. No | ||||
| language to the contrary, or terms, conditions or rights that differ | ||||
| from or are inconsistent with the rights and licenses granted under | ||||
| RFC 5378, shall have any effect and shall be null and void, whether | ||||
| published or posted by such Contributor, or included with or in such | ||||
| Contribution. | ||||
| End of changes. 175 change blocks. | ||||
| 458 lines changed or deleted | 374 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||