Internet Engineering Task Force H. Chen Internet-Draft R. Li Intended status: Experimental Futurewei Expires:March 18,April 6, 2021 Y. Yang IBM A. Kumar S N RtBrick Y. Fan Casa Systems N. So V. Liu M. Toy Verizon L. Liu Fujitsu K. Makhijani FutureweiSeptember 14,October 3, 2020 IS-IS Topology-Transparent Zonedraft-ietf-lsr-isis-ttz-00.txtdraft-ietf-lsr-isis-ttz-01.txt Abstract This documentpresentsspecifies a topology-transparent zone in an area. A zone is ablock/piecesubset (block/piece) of an area, which comprises a group of routers and a number of circuits connecting them. It is abstracted as a virtual entity such as a single virtual node or zone edges mesh. Any router outside of the zone is not aware of the zone. The information about the circuits and routers inside the zone is not distributed to any router outside of the zone. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire onMarch 18,April 6, 2021. Copyright Notice Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Zone Abstraction . . . . . . . . . . . . . . . . . . . . . .45 4. Topology-Transparent Zone . . . . . . . . . . . . . . . . . . 5 4.1. Zone as a Single Node . . . . . . . . . . . . . . . . . . 5 4.1.1. An Example of Zone as a Single Node . . . . . . . . . 5 4.1.2. Zone Leader Election . . . . . . . . . . . . . . . . 7 4.1.3. LS Generation for Zone as a Single Node . . . . . . . 8 4.1.4. Adjacency Establishmentand Termination. . . . . . . . . . . . . . . 8 4.1.5. Computation of Routes . . . . . . . . . . . . . . . .10 4.1.6.9 4.2. Extensions to Protocols . . . . . . . . . . . . . . .11 4.2.. . 9 4.2.1. Zoneas Edges Full MeshID TLV . . . . . . . . . . . . . . . . . .14 4.2.1. Extensions to IS-IS. . . 9 4.3. Zone as Edges Full Mesh . . . . . . . . . . . . . . .14 4.3.. . 11 4.3.1. Updating LSPs for Zone as Edges' Mesh . . . . . . . . 12 4.4. Advertisement ofLSsLSPs . . . . . . . . . . . . . . . . . .15 4.3.1.12 4.4.1. Advertisement ofLSsLSPs within Zone . . . . . . . . . .15 4.3.2.12 4.4.2. Advertisement ofLSsLSPs through Zone . . . . . . . . .. 1613 5. Seamless Migration . . . . . . . . . . . . . . . . . . . . .1613 5.1. Transfer Zone to a Single Node . . . . . . . . . . . . .1613 5.2. Roll Back from Zone as a Single Node . . . . . . . . . .1614 6. Operations . . . . . . . . . . . . . . . . . . . . . . . . .1915 6.1. Configuring Zone . . . . . . . . . . . . . . . . . . . . 15 6.2. Transferring Zone to Node . . . . . . . . . . . . . . . . 16 6.3. Rolling back Node to Zone . . . . . . . . . . . . . . . . 16 7. Security Considerations . . . . . . . . . . . . . . . . . .1917 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . .1917 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . .2017 10. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . .2018 11. References . . . . . . . . . . . . . . . . . . . . . . . . .2018 11.1. Normative References . . . . . . . . . . . . . . . . . .2018 11.2. Informative References . . . . . . . . . . . . . . . . .2119 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .2119 1. Introduction [ISO10589] describes two levels ofareas, which areareas in IS-IS, level 1 and level 2areas in IS-IS.areas. There are scalability issues in using areas as the number of routers in a network becomes larger and larger. Through splitting the network into multipleareas,level 1 areas connected by level 2, we may extend the network further. However, dividing a network from one area into multiple areas or from a number of existing areas to even more areasiscan be averychallenging and time consuming task since itis involved ininvolves significant network architecture changes. These issues can be resolved by using topology-transparent zone (TTZ), which abstracts a zone (i.e., ablock/piecesubset of an area) as a single virtual node or zone edges' mesh with minimum efforts and minimum service interruption. Note that a zone can be anarea (i.e., theentirepiece of an area).area. This document presents a topology-transparent zone anddescribesspecifies extensions to IS-ISfor supporting thethat support topology-transparentzone.zones. 1.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described inRFC 2119 [RFC2119].[RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 1.2. TerminologyLSP: A Link State Protocol Data Unit (PDU) in IS-IS. LS: A Link Sate, which is short for LSP in IS-IS.TTZ: A Topology-Transparent Zone. Zone: Ablocksubset (block orpiecepiece) of an area. In a special case, a zone is anarea (i.e., theentirepiece of an area).area. Zone External Node: A node outside of a zone. Zone Internal Node: A nodeofwithin a zone without any connection to a node outside of the zone. ZoneEdge/Border:Edge/Border Node: A node that is part of a zone connecting to a node outside of the zone. Zone Node: A zone internal node or a zone edge/border node (i.e., a node that is part of a zone). Zone Link: A link connecting zone nodes (i.e., a link that is part of a zone). ZoneNeighbor:Neighbor Node: A node outside of a zone that is a neighbor of a zoneedge/border. 2. Requirements Topology-Transparent Zone (TTZ) may be deployed for resolving some critical issues such as scalabilityedge/border node. CLI: Command Line Interface. LSP: A Link State Protocol Data Unit (PDU) inexisting networks and future networks. The requirements forIS-IS. An LSP contains link state information. In general, a router/node originates multiple LSPs, distinguished by LSP fragment number, to carry the link state information about it and the links attached to it. LS: Link State. In general, the LS for a node is all the LSPs that the node originates. The LS for a zone is the set of LSPs that all the nodes in the zone originate to carry the information about them and the links attached to them inside the zone. 2. Requirements A Topology-Transparent Zone (TTZ) may be deployed to resolve some critical issues such as scalability in existing networks and future networks. The requirements for a TTZ arelistedas follows: o TTZ MUST be backward compatible. When a TTZ is deployed on a set of routers in a network, the routers outside of the TTZ in the network do not need to know or support the TTZ. o TTZ MUST support at least one more levels of networkhierarchies,hierarchy, in addition to the hierarchies supported by existingrouting protocols.IS-IS. o Abstracting a zone as a TTZ virtual entity, which is a single virtual node or zone edges' mesh, SHOULD be smooth with minimum service interruption. o De-abstracting (or say rolling back) a TTZ virtual entity to a zone SHOULD be smooth with minimum service interruption. o Users SHOULD be able to easily set up anend to endend-to-end service crossing TTZs. o The configuration for a TTZ in a network SHOULD beminimum.minimal. o The changes on the existing protocolsfor supportingto support TTZ SHOULD beminimum.minimal. 3. Zone Abstraction A zone can be abstracted as a single virtual node or the zone edges' full mesh. When a zone is abstracted as a single virtual node, thissinglenodeisappears to be connected to all the neighbors of the zone, andisto be in the same area asthethose neighbors. When a zone is abstracted as its edges' full mesh, there is a full mesh connections among the edges and each edge is also connected to its neighbors outside of the zone. 4. Topology-Transparent Zone A Topology-Transparent Zone (TTZ) comprises an Identifier (ID) and apiece/blocksubset (piece/block) of an area such as a Level 2 area in IS-IS. It is abstracted as a single virtual node or its edges' full mesh. TTZ and zone as well as node and router will be usedexchangablyinterchangeably below. 4.1. Zone as a Single Node After a zone is abstracted as a single virtual node having a virtual node ID, every node outside of the zone sees a number of links connected to this single node. Each of these links connects a zone neighbor. The link states inside the zone are not advertised to any node outside of the zone. The virtual node ID may be derived from the zone ID. 4.1.1. An Example of Zone as a Single Node The figure below shows an example of an area containing a TTZ: TTZ 600. TTZ 600 \ \ ^~^~^~^~^~^~^~^~^~^~^~^~ ( ) ===[R15]========(==[R61]------------[R63]==)======[R29]=== || ( | \ / | ) || || ( | \ / | ) || || ( | \ / | ) || || ( | ___\ / | ) || || ( | / [R71] | ) || || ( | [R73] / \ | ) || || ( | / \ | ) || || ( | / \ | ) || || ( | / \ | ) || ===[R17]========(==[R65]------------[R67]==)======[R31]=== \\ (// \\) // || //v~v~v~v~v~v~v~v~v~v~v~\\ || || // \\ || || // \\ || \\ // \\ // ======[R23]==============================[R25]===== // \\ // \\ Figure 1: An Example of TTZ 600 The area comprises routers R15, R17, R23, R25, R29 and R31. It also contains TTZ 600, which comprises routers R61, R63, R65, R67, R71 and R73, and the circuits connecting them. There are two types of routers in a TTZ: TTZ internal routers and TTZ edge/border routers. A TTZ internal router is a router inside the TTZ and its adjacent routers are inside the TTZ. A TTZ edge/border router is a router inside the TTZ and has at least one adjacent router that is outside of the TTZ. The TTZ in the figure above comprises four TTZ edge/border routers R61, R63, R65 and R67. Each TTZ edge/border router is connected to at least one router outside of the TTZ. For instance, router R61 is a TTZ edge/border router since it is connected to router R15, which is outside of the TTZ. In addition, the TTZ comprises two TTZ internal routers R71 and R73. A TTZ internal router is not connected to any router outside of the TTZ. For instance, router R71 is a TTZ internal router since it is not connected to any router outside of the TTZ. It is just connected to routers R61, R63, R65, R67 and R73 inside the TTZ. A TTZ MUST hide the information inside the TTZ from the outside. It MUST NOT directly distribute any internal information about the TTZ to a router outside of the TTZ. For instance, the TTZ in the figure above MUST NOT send the information about TTZ internal router R71 to any router outside of the TTZ in the routing domain; it MUST NOT send the information about the circuit between TTZ router R61 and R65 to any router outside of the TTZ. From a router outside of the TTZ, a TTZ is seen as a single node (refer to the Figure below). For instance, router R15, which is outside of TTZ 600, sees TTZ 600 as a single node Rz, which has normal connections to R15, R29, R17 and R23, R25 and R31. TTZ 600 \ \ ^~^~^~^~^~^~^~^~^~^~^~^~ ( ) ===[R15]========( )======[R29]=== || ( ) || || ( ) || || ( ) || || ( ) || || ( Rz ) || || ( ) || || ( ) || || ( ) || || ( ) || ===[R17]========( )======[R31]=== \\ ( ) // || //v~v~v~v~v~v~v~v~v~v~v~\\ || || // \\ || || // \\ || \\ // \\ // ======[R23]==============================[R25]===== // \\ // \\ Figure 2: TTZ 600 as Single Node Rz 4.1.2. Zone Leader Election A node in a zone is elected as a leader for the zone, which is the node with the highest priority (and the highest node ID when there are more than one nodes having the same highest priority) in the zone. The leader election mechanism described in [I-D.ietf-lsr-dynamic-flooding] may be used to elect the leader for the zone. 4.1.3. LS Generation for Zone as a Single Node The leader for the zone originatesanthe LS (i.e.,an LSP in IS-IS)set of LSPs) for the zone as a single virtual node and sends it to its neighbors.TheThis LS comprises all thelinks connectingadjacencies between the virtual node and the zone neighbors. TheLSSystem ID of each LSP ID is the ID of the virtual node for the zone. The Source ID or Advertising Node/Router ID is the ID of the virtual node. In addition,thethis LS may contain thestub links for the routesIP prefixes such as the loopback IP addresses inside the zone to be accessed by zone external nodes (i.e., nodes outside of the zone). These IP prefixes are included in the IP internal reachability TLV. 4.1.4. Adjacency Establishmentand TerminationA zone edgenode,node X, acting as a proxy for the single virtual node for the zone, forms an adjacencywithbetween the virtual node and a node Y that is outside of the zone and ina waynode X's area as described below.Case 1 forFor a new adjacency (i.e., no adjacency exists betweenthe edgeX andthe node outside of the zone also called zone neighbor): TheY): Every IS-IS protocol packet, such as Hello, that edge node X originates and sendsthe zone neighbor every protocol packet such as Hello, which containsnode Y, uses the virtual node ID as Source ID. Whenthe edgenode X synchronizes its link state database (LSDB) withthe zone neighbor,node Y, it sendsthe zone neighbor the information aboutY all the linkstatesstate information except for the linkstatesstate belonging to the zone thatareis hidden fromany nodethe nodes outside of the zone. At the end of the LSDB synchronization, the LS for the zone asthea single virtual node is originated by the zone leader and distributed tothe zone neighbor.node Y. This LS contains thelinks connectingadjacencies between the virtual node and all the zone neighbors, including this newly formed zoneneighbor. Case 2 forneighbor Y. For an existing adjacency (i.e., an adjacency already exists betweenthe zone edgeX andthe zone neighbor):Y): At first,theedge node X acting as a proxy for the virtual node creates a new adjacency between the virtual node for the zone andthe zone externalnode Y in a normal way. It sends Hellos and other packets containing the virtual node ID as Source ID tothe zone external node. The zone externalnode Y. Node Y establishesthean adjacency with the virtual node in the normal way.And then, the edgeThen, node X terminates the existing adjacency betweenthe edgenode X andthe externalnode Y after the zone hasbeen transferredtransitioned to be the virtual node. It stops sending Hellos for the adjacency tothe zone external node.node Y. Without receiving Hellos fromthe edgenode X for a given time such as hold-timer interval,the zone externalnode Y removes the adjacency tothe edge node.node X. Even though this adjacency terminates,the edgenode X keeps the link tothe externalnode Y in its LS. Inanother option,thezone edge sends Hellos tocase where node Y is not in node X's area, is in thezone neighbor with additional information, including a flag T-bit set to onebackbone and connected to node X, node X, acting as aTLV withproxy for the virtualnode ID. This information requests the zone neighbor to transfer the existing adjacency to thenode, creates a new adjacencysmoothly through working together withbetween thezone edgevirtual node and node Y infollowing steps. Zone Edge Zone Neighbor (Transfer Zone to Virtual Node) Hello(T=1, Virtual ID) ----------------------> OK for Transfer Adjacency Hello(T=1, Virtual ID) Remote Ready for <---------------------- Transfer Hello(Source=Virtual ID) Start Transfer -----------------------> Transfer to New Adjacency Hello Transfer to New <----------------------- Adjacency . . . Step 1: When "Transfer Zone to Virtual Node" is triggered, the zone edge sends the zone neighboraHello containing additional information T=1normal way andVirtual node ID. Step 2: After receivingsends the LS for theHello with T=1 andvirtual nodeID from the zone edge,to node Y if the zoneneighbor sendsincludes all the nodes in its area. 4.1.5. Computation of Routes After a zoneedgeis transferred/migrated to aHello with T=1 andsingle virtual node, every zone nodeID, which means ok for transfercomputes the routes (i.e., shortest paths to thenew adjacency. Step 3: The edge sendsdestinations) using the zoneneighbor a Hello containing the virtual node ID as Source ID after receivingtopology, theHello with T=1connections between each zone edge andvirtual node ID from theits zone neighbor,which starts to transfer toand the topology outside of thenew adjacency. Step 4: Thezoneneighbor changeswithout theexisting adjacency to the new adjacency after receiving the Hello containing the virtual node ID as Source ID from the zone edge; and sends the zone edge a Hello without the additional information, which means that it transferred to the new adjacency. Step 5: The zone edge changes the existing adjacency to the new adjacency after receiving the Hello without the additional information from the zone neighbor; and continues to send the zone neighbor a Hello containing the virtual node ID as Source ID. At this point, the old adjacency is transferred to the new one. For the zone neighbor, changing the existing adjacency to the new one includes: o Changing the existing adjacency ID from the edge node ID to the virtual node ID through either removing the existing adjacency and adding a new adjacency with the virtual node ID or just changing the existing adjacency ID from the edge node ID to the virtual node ID, o Removing the link to the zone edge node from its LS and adding a new link to the virtual node (or just changing the link to the edge node to the link to the virtual node in its LS), and o Continuing sending the zone edge Hellos without additional information. For the zone edge, changing the existing adjacency to the new one includes: o Keeping the link to the zone neighbor in its LS, and o Continuing sending the zone neighbor Hellos containing the virtual node ID as Source ID. 4.1.5. Computation of Routes After a zone edge migrates to zone as a virtual node, it computes the routes (i.e., shortest paths to the destinations) in the zone using the zone topology (i.e., the topology of the zone without the virtual node). For the routes outside of the zone, it computes them using the zone topology, the topology outside of the zone without the virtual node and the connections between each zone edge and its zone neighbor. After a zone internal node migrates to zone as a virtual node, it computes the routes using the zone topology, the topology outside of the zone without the virtual node and the connections between each zone edge and its zone neighbor. 4.1.6. Extensions to Protocols The following TLVs are defined in IS-IS. o Adjacent Node ID TLV: containing an adjacent node ID, to which an adjacency is transferred or rolled back. In case of transfer, the TLV contains the virtual node ID; in case of roll back, the TLV contains the edge node ID. o Zone TLV: containing a zone ID, a flags field and optional sub- TLVs. 4.1.6.1. Adjacent Node ID TLV The format of Adjacent Node ID TLV is illustrated below. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type (TBD1) | Length (8) | Virtual/Edge Node ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Virtual/Edge Node ID (Continue) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags |N|T| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type (1 byte): To be assigned by IANA. Length (1 byte): Its value is 8. Virtual/Edge Node ID (6 bytes): An adjacent node ID, to which an adjacency is transferred or rolled back. Flags field (16 bits): two new flag bits are defined as follows: o T-bit: Short for Transfer Adjacency bit. The T-bit set to one indicates a request for transferring to a new 'virtual' adjacency from the existing adjacency and the new adjacency is identified by the virtual node ID (or say abstract node ID). o N-bit: Short for Roll Back to Normal Adjacency bit.virtual node. TheN-bit set tometric of a link outside of the zone is oneindicatesorder of magnitude larger than the metric of arequest for rolling backlink inside the zone. 4.2. Extensions to Protocols The following TLV is defined in IS-IS. o Zone ID TLV: containing aNormal adjacency from the existing 'virtual' adjacencyzone ID, a flags field andthe normal adjacency is identified by the edge node ID. 4.1.6.2.optional sub- TLVs. 4.2.1. Zone ID TLV The format of IS-IS Zone ID TLV is illustrated below. It may be added into an LSPor a Hello PDUfor a zone node.When a node in a zone receives a CLI command triggering zone information distribution for migration, it updates its LSP by adding an IS-IS Zone TLV with T set to 1. When a node in a zone receives a CLI command activating migration zone to an abstracted entity, it sets M to 1 in the Zone TLV in its LSP.0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type(TBD2)(TBD1) | Length | Zone ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Zone ID (Continue) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Flags |E|Z|S|RESV |E| OP | Sub TLVs | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: IS-IS Zone ID TLV Type (1 byte):To be assigned by IANA.TBD1. Length (1 byte): Its value isvariable.variable with a minimum of 8. A value larger than 8 means that sub-TLVs are present. If length is less than 8, the TLV MUST be ignored. Zone ID (6 bytes): It is the identifier (ID) of a zone. Flags field (16 bits):Threeone flagbitsbit E,Z and S, andOP of 3bitsbits, and a reserved subfield aredefined.as follows: RESV: Reserved. MUST be send as zero and ignored on receipt. E = 1: Indicating a node is a zone edge nodeZE =1:0: Indicating a nodehas migratedis a zone internal node When a Zone ID is configured on a zone node (refer to Section 6.1), the node updates its LSP by adding an IS-IS ZoneasID TLV with the Zone ID. If it is avirtual entity S = 1: Indicatingzone internal node, thevirtual entityTLV has its flag E = 0; otherwise (i.e., it is aSingle virtual node Whenzone edge node) the TLV has its flag E = 1 and may include a Zone ISN Sub TLV containing the zone links configured. Every link of a zone internal nodeoriginates an LS containingis a zoneTLV, it MUST set flag E to 1 if it islink. If every link of a zone edge nodeand to 0 if itis azone- internal node. It MUST set flag Z tozone link, the TLV with E = 1after it has migrated todoes not include any Zone ISN Sub TLV; otherwise (i.e., some of its links are zoneas a virtual entity and to 0 beforelinks), itmigrates zone toincludes thevirtual entity or after it rolls back from zone as a virtual entity. WhenZone ISN Sub TLV containing theentity abstracted from azoneis a Single virtual node, flag S MUST be set to 1.links. OP Value Meaning (Operation) 0x001 (T): Advertising Zone Topology Information for Migration 0x010 (M): Migrating Zone to a Virtual Entity such as Virtual Node 0x011 (N): Advertising Normal Topology Information for Rollback 0x100 (R): Rolling Back from the Virtual Entity The value of OP indicates one of the four operations above. When any of the other values is received,it isthe TLV MUST be ignored. When anode in azone node, such as the zone leader, receives aCLIcommandtriggeringvia management, such as a CLI command, to advertise zone informationdistributionfor migration, or determines to advertise, itupdates its LSP by adding an IS-ISsets OP = T (i.e., 0x001) in the Zone ID TLVwith T set to 1.of its LSP. When anode in azone node receives aCLIcommandactivating migrationto migrate zone to a virtual entity, or determines to migrate, it sets OP = M (i.e., 0x010) in the Zone ID TLV of its LSP. When a zone node receives a command to1advertise Normal topology information for roll back, it sets OP = N (i.e., 0x011) in the Zone ID TLV of its LSP. When a zone node receives a command to roll back or determines to roll back, it sets OP = R (i.e., 0x100) in the Zone ID TLV of its LSP. Two new sub-TLVs are defined, which may be addedintoto an IS-IS ZoneTLV in an LSP.ID TLV. One is the Zone IS Neighbor sub-TLV, or Zone ISN sub-TLV for short. The other is the Zone ES Neighbor sub-TLV, or Zone ESN sub- TLV for short. A Zone ISN sub-TLV contains the information about a number of IS neighbors in the zone connected to a zone edgerouter.node. It has the format below. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type (TBD) | Length|DefaultMetric(i| DelayMetric(i)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |ExpenseMetric(i| ErrorMetric(i)|| Neighbor ID(i) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-----------------------------------------------+ | | Metric (i) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: Zone ISN Sub TLV A Zone ISN Sub TLV has 1 byte of Type, 1 byte of Length of n*(IDLength +4),3), which is followed by n tuples ofDefault Metric, Delay Metric, Expense Metric, Error Metric andNeighborID.ID and Metric. A Zone ESN sub-TLV contains the information about a number of ES neighbors in the zone connected to a zone edge node. It has the format below. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type (TBD) | Length|Default Metric | DelayMetric | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Expense Metric | Error Metric| Neighbor ID(i) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-----------------------------------------------+ | | Metric (i) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5: Zone ESN Sub TLV4.2.4.3. Zone as Edges Full MeshOSPF Topology-Transparent Zone [RFC8099] describes the zone as edges' full mesh and the extensions to OSPF for supporting zone as edges' full mesh. Based on these extensions, IS-IS is extended by a few new TLVs or Sub-TLVs. 4.2.1. Extensions to IS-IS 4.2.1.1.4.3.1. Updating LSPs for ZoneA zone internal node adds an IS-IS Zone TLV into its LSP after it receives an LSP containing an IS-IS Zone TLV with T = 1 or a CLI command triggering zone information distribution for migration. The TLV has a zone ID set to the ID of the zone and E bit in Flags set to 0 indicating zone internal node. The node floods its LSP to its neighbors in the zone. When a node inside the zone receives an LSP containing an IS-IS Zone TLV from a neighboring node in the zone, it stores the LSP and floods the LSP to the other neighboring nodes in the zone.as Edges' Mesh For every zone edge node, it updates its LSP in three steps and floods the LSP toall its neighbors. At first, the zone edge node adds an IS-IS Zone TLV into its LSP after it receives an LSP containing an IS-IS Zone TLV with T = 1 or a CLI command triggering zone information distribution for migration. The TLV has a zone ID set to the ID of the zone, E bit in Flags set to 1 indicating zone edge node and a Zone ISN Sub TLV. The Sub TLV contains the information about the zone IS neighbors connected to the zone edge node. In addition, the TLV may has a Zone ESN Sub TLV comprising the information about the zone end systems connected to the zone edge node. Secondly,all its neighbors. At first, it adds each of the other zone edge nodes as an IS neighbor into the Intermediate System Neighbors TLV intheits LSP after it receives an LSP containing an IS-IS Zone ID TLV withMOP =1M or aCLIcommand activating migration zone to an abstracted entity. The metric to the neighbor is the metric of the shortest path to the edge node within the zone. In addition, it addsa Prefix Neighborsan IP internal reachability TLV into its LSP. The TLV contains a number ofaddressIP prefixes in the zone to be reachable from outside of the zone. And then it removes the IS neighbors corresponding to the IS neighbors in the Zone ID TLV (i.e., in the Zone ISN sub TLV) from Intermediate System Neighbors TLV intheits LSP, and the ES neighbors corresponding to the ES neighbors in the Zone ID TLV (i.e., in the Zone ESN sub TLV) from End System Neighbors TLV in the LSP. This SHOULD be done after it receives the LSPs for virtualizing zone from the other zone edges for a given time.4.3.4.4. Advertisement ofLSs LSsLSPs LSPs can be divided into a couple of classes according to their Advertisements. The first class ofLSsLSPs is advertised within a zone. The second is advertised through a zone.4.3.1.4.4.1. Advertisement ofLSsLSPs within Zone AnyLSLSP about a link state in a zone is advertised only within the zone. It is not advertised to any router outside of the zone. For example, arouter LSLSP generated for a zone internalrouternode is advertised only within the zone. Anynetwork LSLSP generated for a broadcast network in a zone is advertised only within the zone. It is not advertised outside of the zone. After migrating to a zone as a single virtual node or edges' full mesh, every zone edge MUST NOT advertise anyLSLSP belonging to the zone or any information in aLSLSP belonging to the zone to any node outside of the zone. The zone edge determines whether anLSLSP is about a zone internal link state by checking if theadvertising routeroriginating node of theLSLSP is a zone internalrouter.node. For anyzone LSLSP originated by a node within the zone, every zone edge node MUST NOT advertise it to any node outside of the zone.4.3.2.4.4.2. Advertisement ofLSsLSPs through Zone AnyLSLSP about a link state outside of a zone received by a zone edge is advertised using the zone as transit. For example, when a zone edge node receives anLSLSP from a node outside of the zone, it floods theLSLSP to its neighbors both inside and outside of the zone.This LS may be any LS such as a router LSA that is advertised within an OSPF area.The nodes in the zone continue to flood theLS.LSP. When another zone edge receives theLS,LSP, it floods theLSLSP to its neighbors both inside and outside of the zone. 5. Seamless Migration This section presents the seamless migration between a zone and its single virtual node.The seamless migration between a zone and its edges' full mesh for IS-IS is similar to that described in OSPF Topology-Transparent Zone [RFC8099] for OSPF.5.1. Transfer Zone to a Single NodeAfter transferTransferring aZonezone to aSingle Virtual Node is triggered,single virtual node smoothly takes a few steps or stages. At first, a user configures the zoneis abstractedon every node of the zone (refer to Section 6.1). Every zone node updates its LSP by including a Zone ID TLV. For a zone edge node, the TLV has the Zone ID configured, its flag E = 1 and a Zone ISN Sub TLV containing the zone links configured. For a zone internal node, the TLV has the Zone ID configured and its flag E = 0. Second, after finishing the configuration of the zone, a user may issue a command, such as a CLI command, on a zone node, such as the zone leader, to trigger transferring the zone to the single virtual node. When the node receives the command, it updates its LSP by setting OP = T intwo steps: Step 1: Everyits Zone ID TLV, which is distributed to every zoneedge node works togethernode. After receiving the Zone ID TLV witheach of itsOP = T, every zoneneighbor nodes to createedge node, acting as a proxy of the virtual node, establishes a new adjacency between the virtual node andtheeach of its zone neighbornode innodes. The command may be replaced by theway described in Section 4.1.4 for Adjacency Establishment and Termination procedure for case 2.determination made by a zone node, such as the zone leader. Aftercreatingdetermining that theadjacency, eachconfiguration of the zoneneighbor nodes updateis finished for a given time such as 10 seconds, it updates itsLSLSP byadding the adjacency/link intosetting OP = T in itsLS. Step 2:Zone ID TLV. The configuration is complete if every zoneleader originateslink configured is bidirectional. For every zone internal node configured with the Zone ID, there is anLS forLSP containing its Zone ID TLV with E = 0 in thevirtualLSDB, which indicates that each link from the node (one direction) is a zone link. For every zone edge node, each of its zone links configured from the edge node (one direction) is included in its LSP containing its Zone ID TLV with E = 1 and Zone ISN Sub TLV in the LSDB. Third, after receiving the updatedLSes originated byLSPs from all the zone neighbor nodes,wheretheupdated LSes containzone leader checks if all thezone neighbors. Step 3: After receivingnew adjacencies between the virtual node and the zone neighbor nodes have been established. If so, it originates an LS for the virtualnode,node and updates its LSP (i.e., the LSP for itself zone leader) by setting OP = M in its Zone ID TLV, which is distributed to every zone node. After receiving the Zone ID TLV with OP = M, every zone node migrates to zone as virtual node. Every zone edge node does not send any LS inside the zone to any zone neighbors. It advertises itsLSLSP without anylinks inside thezone links to the nodes outside of the zoneandor purges its LSP outside of the zone, terminates its adjacency to each of its zoneneighbors inneighbors, but contains theway describedadjacency in its LSP that is distributed within the zone. Every zone node computes the routes according to Section4.1.4 for Adjacency Establishment and Termination procedure for case 2.4.1.5. 5.2. Roll Back from Zone as a Single Node After abstracting a zone to a single virtual node, we may want to roll backfrom Zone as a Signle Virtual Node is triggered,the node to the zone smoothly in some cases. The process of rolling backis done in following steps: Step 1: Everyhas a few steps or stages. At first, a user issues a command, such as a CLI command, on a zoneedge creates an adjacencynode, such as the zone leader, toeach ofstart (or prepare) for roll back. When receiving the command, the node updates itszone neighborsLSP by setting OP = N ina normal way. Step 2:its Zone ID TLV, which will be distributed to every node in the zone. Afterallreceiving theadjacenciesZone ID TLV with OP = N, every zone edge node establishes a normal adjacency between the edge node and each of its zoneedgesneighbor nodes, and advertises the link state of the zoneneighbors are created,over the adjacency if it crosses the adjacency, but holds off its LSP containing the normal adjacency. Second, a user may issue a command, such as a CLI command, on a zoneleader updatesnode, such as theLS forzone leader, to roll back from the virtual nodeby changing every link metricto themaximum metric in the LS. Step 3: Everyzoneedge sends its LS withif thelinks insidefollowing conditions are met. Condition 1: All the normal adjacencies between every zone edge node andalleach of its zone neighbor nodes have been established. Condition 2: All theLSes insidelink state about the zone that is supposed to be advertised outside of the zone has been advertised. After receiving the command, the node updates its LSP by setting OP = R in its Zone ID TLV, which is distributed to every zoneneighbors. Everynode. After receiving the Zone ID TLV with OP = R, o every zone edge node, acting as a proxy of the virtualnodenode, terminates the adjacency between the virtual node and each of its zoneneighbors through stopping Hellos to the neighbors. In another option, rolling back is done as follows: Step 1: Using the procedure described in the following, every zone edge rolls back the existing virtual adjacency between the edge node acting as the virtual nodeneighbor nodes and advertises its LSP containing thezone neighbor node to anormaladjacencyadjacencies betweenthe edge nodeit andthe neighbor. Step 2:each of its zone neighbor nodes; o The zone leadermay flushpurges the LS for the virtualnode.node abstracted from the zone; and o Every zoneedge sends Hello and other packetsnode rolls back toitsnormal. The command may be replaced by the determination made by a zoneneighbors, wherenode, such as thepackets containzone leader. After determining that all theedge nodeconditions are met, it updates its LSP by setting OP = R in its Zone IDas Source ID. The procedure below smoothly rolls back the existing virtual adjacency betweenTLV, which is distributed to every zone node. Condition 1 is met if it has its LSDB containing the link from each zone neighbor node to its zone edge node. That is that for every link from a zone neighbor nodeacting asto the virtual nodeandin the LSDB, there is a corresponding link from the zone neighbor to a zone edge node. Condition 2 is met after Condition 1 has been met for a given time, such as maximum LSP advertisement time (MaxLSPAdvTime) crossing a network. We may assume that MaxLSPAdvTime is 5 seconds. 6. Operations 6.1. Configuring Zone In general, a zone is a subset of an area and has a zone ID. It consists of some zone internal nodes and zone edge nodes. To configure it, a user configures this zone ID on every zone internal node and on every zone link of each zone edge node. A node configured with the zone ID has all its links toa normal adjacency betweenbe theedge nodezone links. The zone internal nodes and all their links plus theneighbor node. Thezone edgenode sendsnodes and their zone links constitute theneighbor node Hellos with additional information, includingzone. In aflag N-bit set to onespecial case, a zone is an entire area and has aTLV with the edge node ID such as the Adjacent Node ID TLV with the edge nodezone ID.This information requests the neighbor node to roll backAll theexisting virtual adjacency tolinks in thenormal adjacency smoothly through working together witharea are theedge node. The following steps will roll backzone links of theexisting virtual adjacency tozone. To configure this zone, a user configures thenormal one:zoneEdgeID on every zoneNeighbor (Roll Back to Normal Adjacency) Hello (N=1, Edge ID) ----------------------> OK to Roll Back to Normal Adjacency Hello (N=1, Edge ID) Remote Ready for <---------------------- Rolling Back Hello(Source=Edge ID) Start Roll Back -----------------------> Roll Backnode. 6.2. Transferring Zone toNormal Adjacency Hello Roll BackNode Transferring a zone to<----------------------- Normal Adjacency . . . Step 1: When "Roll Back from Zone asaSingle Node" is triggered, the edge node sends the neighborsingle virtual node smoothly may take aHello with the additional information N=1 and Edge ID as normal adjacency ID in order to roll back tofew steps or stages. At first, a user configures thenormal adjacency fromzone on every node of thevirtual adjacency. Step 2:zone. Afterreceiving the Hello with the additional information fromfinishing theedge node,configuration of theneighbor node sendszone, theedge nodeuser may issue aHello with the additional information (i.e., N=1 and Edge IDcommand, such asnormal adjacency ID), which means ok for rolling back to the normal adjacency. Step 3: The edge sends the neighboraHello containing the edge node IDCLI command, on a zone node, such asSource ID after receiving the Hello with the additional information fromtheneighbor, which starts to roll backzone leader, to trigger transferring thenormal adjacency. Step 4: The neighbor node changes the existing adjacencyzone to thenormal adjacency afternode. When receiving theHello containingcommand, theedgenodeID as Source ID from thedistributes it to every zone node. After receiving it, every zone edgenode; and sendsnode, acting as a proxy of theedge nodevirtual node, establishes aHello withoutnew adjacency between theadditional information, which means that it rolled backvirtual node and each of its zone neighbor nodes. If automatic transferring zone tothe normal adjacency. Step 5: The edgenodechangesis enabled, theexisting adjacencyuser does not need to issue thenormal adjacencycommand. A zone node, such as the zone leader, will distribute the "command" to every zone node afterreceivingdetermining that theHello withoutconfiguration of theadditional information fromzone has been finished. Then, all theneighbor node;zone nodes, including the zone leader, zone edge nodes andcontinueszone internal nodes, work together tosend the neighbor Hello containingmake theedge node IDzone to appear asSource ID. At this point, thea single virtualadjacency is rollednode smoothly in a couple of steps. 6.3. Rolling back Node to Zone After abstracting a zone to a single virtual node, we may want to roll back thenormal adjacency. Fornode to theneighborzone smoothly in some cases. The process of rolling back has a few steps or stages. At first, a user issues a command, such as a CLI command, on a zone node,changingsuch as theexisting virtual adjacencyzone leader, to start (or prepare) for roll back. When receiving thenormal one includes: o Changing the existing adjacency ID fromcommand, thevirtualnodeIDdistributes it to every node in the zone. After receiving it, every zone edge nodeID through either removing the existingestablishes a normal adjacency between the edge node andadding a neweach of its zone neighbor nodes, and advertises the link state of the zone over the adjacencywithif it crosses theedge node ID or just changingadjacency, but holds off its LSP containing theexisting adjacency IDnormal adjacency. Second, a user may issue a command, such as a CLI command, on a zone node, such as the zone leader, to roll back from the virtual nodeIDto theedge node ID, o Removingzone if it is ready for roll back. After receiving thelink tocommand, thevirtualnodefrom its LS and adding a new linkdistributes it tothe edgeevery node(or just changingin thelinkzone. After receiving it, all the zone nodes work together to roll back from the virtual node to thelinkzone. If automatic roll back Node to Zone is enabled, theedge node in its LS), and o Continuing sending the edge node Hellos without additional information. Foruser does not need to issue theedgecommand. A zone node,changingsuch as theexisting virtual adjacency tozone leader, will distribute thenormal one includes: o Sending its LS"command" tothe neighbor, and o Continuing sending the neighbor node Hellos containing the edgeevery zone nodeID as Source ID without additional information. 6. Operations The Operations on TTZ described in OSPF Topology-Transparent Zone [RFC8099] are for Zone as Edges Full Mesh in OSPF. They can be used for Zone as Edges Full Mesh in IS-IS. They can also be usedafter determining that it is ready forZone as a Single Virtual Node in IS-IS.roll back. 7. Security Considerations The mechanism described in this document does not raise any new security issues for the IS-IS protocols. 8. IANA Considerations Under the registry name "IS-IS TLV Codepoints", IANA is requested to assign a new registrytypestype forAdjacent Node ID,Zone IDand Zone Optionsas follows: +==============+===================+=====================+ | TLV Type | TLV Name | reference | +==============+===================+=====================+ |26(suggested)| AdjacentTBD1 | Zone ID | This document | +--------------+-------------------+---------------------+ IANA is requested to create a new sub-registry "Adjacent Node ID Sub- TLVs" on the IANA IS-IS TLV Codepoints web page as follows: +==============+===================+=====================+ | Type | Name | reference | +==============+===================+=====================+ | 0 | Reserved | +--------------+-------------------+---------------------+ | 1 | Zone ISN | This document | +--------------+-------------------+---------------------+ |27(suggested)|2 | Zone ESN | This document | +--------------+-------------------+---------------------+ | 3 - 255 | Unassigned | +--------------+-------------------+---------------------+ 9. Contributors Alvaro Retana Futurewei Raleigh, NC USA Email: alvaro.retana@futurewei.com 10. Acknowledgement The authors would like to thank Acee Lindem, Abhay Roy, Christian Hopps, Dean Cheng, Russ White, Tony Przygienda, Wenhu Lu, Lin Han,Kiran Makhijani,Donald Eastlake, Tony Li, Robert Raszuk, Padmadevi Pillay Esnault, and Yang Yu for their valuable comments on TTZ. 11. References 11.1. Normative References [I-D.ietf-lsr-dynamic-flooding] Li, T., Psenak, P., Ginsberg, L., Chen, H., Przygienda, T., Cooper, D., Jalil, L., Dontula, S., and G. Mishra, "Dynamic Flooding on Dense Graphs", draft-ietf-lsr- dynamic-flooding-07 (work in progress), June 2020. [I-D.ietf-spring-segment-routing] Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", draft-ietf-spring-segment-routing-15 (work in progress), January 2018. [ISO10589] International Organization for Standardization, "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)", ISO/IEC 10589:2002, Nov. 2002. [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, DOI 10.17487/RFC1195, December 1990, <https://www.rfc-editor.org/info/rfc1195>. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC5029] Vasseur, JP. and S. Previdi, "Definition of an IS-IS Link Attribute Sub-TLV", RFC 5029, DOI 10.17487/RFC5029, September 2007, <https://www.rfc-editor.org/info/rfc5029>. [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic Engineering", RFC 5305, DOI 10.17487/RFC5305, October 2008, <https://www.rfc-editor.org/info/rfc5305>. [RFC7142] Shand, M. and L. Ginsberg, "Reclassification of RFC 1142 to Historic", RFC 7142, DOI 10.17487/RFC7142, February 2014, <https://www.rfc-editor.org/info/rfc7142>. [RFC8099] Chen, H., Li, R., Retana, A., Yang, Y., and Z. Liu, "OSPF Topology-Transparent Zone", RFC 8099, DOI 10.17487/RFC8099, February 2017, <https://www.rfc-editor.org/info/rfc8099>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>. 11.2. Informative References [Clos] Clos, C., "A Study of Non-Blocking Switching Networks", The Bell System Technical Journal Vol. 32(2), DOI 10.1002/j.1538-7305.1953.tb01433.x, March 1953, <http://dx.doi.org/10.1002/j.1538-7305.1953.tb01433.x>. [RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008, <https://www.rfc-editor.org/info/rfc5307>. Authors' Addresses Huaimo Chen Futurewei Boston, MA USA Email: huaimo.chen@futurewei.com Richard Li Futurewei 2330 Central expressway Santa Clara, CA USA Email: richard.li@futurewei.com Yi Yang IBM Cary, NC United States of America Email: yyietf@gmail.com Anil Kumar S N RtBrick Bangalore India Email: anil.ietf@gmail.com Yanhe Fan Casa Systems USA Email: yfan@casa-systems.com Ning So Plano, TX 75082 USA Email: ningso01@gmail.com Vic Liu USA Email: liu.cmri@gmail.com Mehmet Toy Verizon USA Email: mehmet.toy@verizon.com Lei Liu Fujitsu USA Email: liulei.kddi@gmail.com Kiran Makhijani Futurewei USA Email: kiranm@futurewei.com