RFC 8500

IS-IS Routing with Reverse Metric

๐Ÿ“… published February 2019, from ietf

RFC 8500: IS-IS Routing with Reverse Metric ๐ŸŽ€

Okay bestie, RFC 8500 is giving main character energy ๐Ÿ’… It's from the IETF (Internet Engineering Task Force), it's numbered 8500, and it came out in February 2019. Its ISSN is 2070-1721. It's a Standards Track document, so it's an official Internet standard, not just a suggestion ๐Ÿงš Three authors wrote it: N. Shen from Cisco Systems, S. Amante from Apple Inc., and M. Abrahamsson from T-Systems Nordic ๐Ÿซถ The header doesn't list anything it obsoletes or updates.


Abstract โœจ

Okay so the big idea is that this doc gives IS-IS routing a way to quickly and accurately move traffic off a point-to-point link or a multi-access LAN interface during network maintenance or other operational events ๐Ÿฆ‹ The trick is that the router tells its adjacent IS-IS neighbors to raise their reverse metric, which is the metric pointing back toward the router doing the signaling. That's the whole vibe ๐ŸŒˆ


Status of This Memo

This is an Internet Standards Track document ๐Ÿ’–

This document is a product of the Internet Engineering Task Force (IETF) ๐ŸŽ€ It represents the consensus of the IETF community, received public review, and got approved for publication by the Internet Engineering Steering Group (IESG). If you want more info on Internet Standards, check out Section 2 of RFC 7841 ๐ŸŒธ

You can find the current status of this document, any errata, and how to send feedback at https://www.rfc-editor.org/info/rfc8500 ๐Ÿงš


Copyright (c) 2019 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, because 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 they are provided without warranty as described in the Simplified BSD License ๐Ÿซถ


Table of Contents ๐Ÿ“‘

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
  1.1.  Node and Link Isolation . . . . . . . . . . . . . . . . .   2
  1.2.  Distributed Forwarding Planes . . . . . . . . . . . . . .   3
  1.3.  Spine-Leaf Applications . . . . . . . . . . . . . . . . .   3
  1.4.  LDP IGP Synchronization . . . . . . . . . . . . . . . . .   3
  1.5.  IS-IS Reverse Metric  . . . . . . . . . . . . . . . . . .   3
  1.6.  Specification of Requirements . . . . . . . . . . . . . .   4
2.  IS-IS Reverse Metric TLV  . . . . . . . . . . . . . . . . . .   4
3.  Elements of Procedure . . . . . . . . . . . . . . . . . . . .   6
  3.1.  Processing Changes to Default Metric  . . . . . . . . . .   6
  3.2.  Multi-Topology IS-IS Support on Point-to-Point Links  . .   7
  3.3.  Multi-access LAN Procedures . . . . . . . . . . . . . . .   7
  3.4.  LDP/IGP Synchronization on LANs . . . . . . . . . . . . .   8
  3.5.  Operational Guidelines  . . . . . . . . . . . . . . . . .   9
4.  Security Considerations . . . . . . . . . . . . . . . . . . .  10
5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
  6.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
  6.2.  Informative References  . . . . . . . . . . . . . . . . .  11
Appendix A.  Node Isolation Challenges  . . . . . . . . . . . . .  13
Appendix B.  Link Isolation Challenges  . . . . . . . . . . . . .  13
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  15
Contributors  . . . . . . . . . . . . . . . . . . . . . . . . . .  15
Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  15

1. Introduction โœจ

Okay so the IS-IS [ISO10589] routing protocol has been widely used in Internet Service Provider IP/MPLS networks ๐Ÿ’… Operators have learned a lot from running it, and with lossless operations becoming more and more important, some operational issues have shown up ๐Ÿ˜ญ This doc describes those issues and a mechanism for fixing them ๐Ÿฉท

This doc defines the IS-IS "Reverse Metric" mechanism, which lets an IS-IS node send a Reverse Metric TLV through the IS-IS Hello (IIH) PDU to its neighbor or pseudonode, so the routing metric on the inbound direction gets adjusted ๐Ÿฆ‹

IS-IS has the overload bit, and operators can use it to do disruptive maintenance on a router. But honestly, in lots of maintenance situations you don't need to divert all the traffic away from that node ๐Ÿ™ˆ You only need to avoid a single link during the maintenance. There are more detailed descriptions of these challenges in Appendices A and B of this document ๐Ÿ“

1.2. Distributed Forwarding Planes

On a distributed forwarding platform, different forwarding line cards can have interfaces and IS-IS connections to neighbor routers ๐Ÿงš If one of the line cards has a software reset, it can take some time for the forwarding entries to fully fill up on that line card. This is especially true if the router is a PE (Provider Edge) router in an ISP's MPLS VPN ๐Ÿ˜ญ An IS-IS adjacency might come up with a neighbor router long before all the BGP VPN prefixes are downloaded into the forwarding table.

So it's important to tell the adjacent IS-IS routers to raise their metric values and to avoid using the matching IS-IS adjacency inbound to this router, if possible ๐Ÿ’– Temporarily signaling the 'Reverse Metric' over this link discourages traffic from going through that line card, and that helps cut down on traffic loss across the network โœจ Meanwhile, the remote PE routers can pick a different set of PE routers for the BGP best path calculation, or use a different link toward the same PE router whose line card is resetting ๐Ÿซถ

1.3. Spine-Leaf Applications

In the IS-IS Spine-Leaf extension [IS-IS-SL-EXT], leaf nodes do equal-cost or unequal-cost load sharing across all the spine nodes ๐ŸŒˆ Sometimes, like when one of the backbone links on a spine node is congested, that spine node can push a higher metric toward its connected leaf nodes. That way, transit traffic moves away from the spine node or link ๐Ÿ’…

1.4. LDP IGP Synchronization

[RFC5443] describes a mechanism for LDP IGP synchronization that uses the maximum link metric value on the interface ๐ŸŽ€ But when a new IS-IS node joins a broadcast network (LAN), changing every node on the LAN to the maximum link metric value isn't ideal, as [RFC6138] points out ๐Ÿ™ˆ In that case, the Reverse Metric can discourage both outbound and inbound traffic without affecting the traffic of other IS-IS nodes on the LAN ๐Ÿฆ‹

1.5. IS-IS Reverse Metric

This doc uses the routing protocol itself as the transport, so one IS-IS router can advertise a "reverse metric" in an IS-IS Hello (IIH) PDU to an adjacent node on a point-to-point or multi-access LAN link ๐Ÿงš That means you only have to provision a single node: set a "reverse metric" on a link, and traffic shifts away from that link in both directions, moving gracefully onto other viable paths ๐Ÿ‘‘

This Reverse Metric mechanism works for both point-to-point and multi-access LAN links. The thing is, IS-IS currently has no way to influence traffic toward a particular node on LAN links, unlike point-to-point links ๐Ÿ˜ญ This mechanism gives IS-IS routing the power to change traffic in both directions, on either a point-to-point link or a multi-access link of an IS-IS node ๐Ÿ’…

The metric value in the Reverse Metric TLV and the Traffic Engineering metric in the sub-TLV being advertised are offsets, or relative metrics. They get added to the receiver's existing local link and Traffic Engineering metric values, and the accumulated metric value is bounded as described in Section 2 ๐ŸŒธ

1.6. Specification of Requirements

Okay this part is the rules ๐Ÿค“ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174], but only when they appear in all capitals, as shown here ๐Ÿ’œ

Part 1 ends here, bestie. Part 2 picks up with Section 2 (the IS-IS Reverse Metric TLV) ๐Ÿงšโœจ

2. IS-IS Reverse Metric TLV โœจ

okay so bestie, this section is where the Reverse Metric TLV finally shows up ๐ŸŽ€ it's a brand new TLV you can stick inside an IS-IS Hello PDU, and its whole job is to let a router send a "reverse metric" to its IS-IS neighbor ๐Ÿฆ‹ the way that it works is giving main character energy, no cap ๐Ÿ’…

    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     |     Length    |    Flags      |     Metric
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          Metric  (Continued)       | sub-TLV Len   |Optional sub-TLV
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 1: Reverse Metric TLV

okay so the Value part is giving three pieces ๐Ÿงš there's a 3 octet Metric field ๐Ÿ’œ, a 1 octet Flags field ๐ŸŒธ, and a 1 octet "sub-TLV Len" field that tells you how long the variable pile of sub-TLVs is ๐Ÿ“ and if "sub-TLV Len" is non-zero, the Value field MUST also contain one or more sub-TLVs ๐Ÿ˜ญ that is not a suggestion bestie ๐Ÿ’€

The Reverse Metric TLV MAY be present in any IS-IS Hello PDU ๐ŸŒˆ but a sender MUST only transmit a single Reverse Metric TLV in an IS-IS Hello PDU โœจ and if a received IS-IS Hello PDU has more than one Reverse Metric TLV, an implementation MUST ignore all the Reverse Metric TLVs ๐Ÿ™ˆ like, one is the limit, periodt ๐Ÿ‘‘

   TYPE: 16
   LENGTH: variable (5 - 255 octets)
   VALUE:

      Flags (1 octet)
      Metric (3 octets)
      sub-TLV length (1 octet)
      sub-TLV data (0 - 250 octets)

       0 1 2 3 4 5 6 7
      +-+-+-+-+-+-+-+-+
      |  Reserved |U|W|
      +-+-+-+-+-+-+-+-+

                           Figure 2: Flags

The Metric field is a 24-bit unsigned integer ๐Ÿฆ‹ and it's a metric offset that a neighbor SHOULD add to the existing configured Default Metric for the IS-IS link [ISO10589] ๐Ÿ’– for how an IS-IS router should process the Metric field in a Reverse Metric TLV, check out "Elements of Procedure" in Section 3 of this document ๐Ÿซถ

The Metric field in the Reverse Metric TLV is a "reverse offset metric" ๐ŸŽ€ it lands in the range of 0 - 63 when a "narrow" IS-IS metric is used (IS Neighbors TLV / Pseudonode LSP) [RFC1195] ๐ŸŒธ or in the range of 0 - (2^24 - 2) when a "wide" Traffic Engineering metric value is used (Extended IS Reachability TLV) [RFC5305] [RFC5817] โœจ and as described below, when the U bit is set, the accumulated value of the wide metric is in the range of 0 - (2^24 - 1), with the (2^24 - 1) metric value as non-reachable in IS-IS routing ๐Ÿ™ˆ the IS-IS metric value of (2^24 - 2) serves as the link of last resort ๐Ÿ’…

There are currently only two Flag bits defined ๐Ÿงš

W bit (0x01): The "Whole LAN" bit is only used in the context of multi-access LANs ๐ŸŒˆ when a Reverse Metric TLV is transmitted from a node to the Designated Intermediate System (DIS), if the "Whole LAN" bit is set (1), then a DIS SHOULD add the received Metric value in the Reverse Metric TLV to each node's existing Default Metric in the Pseudonode LSP ๐Ÿ’– if the "Whole LAN" bit is not set (0), then a DIS SHOULD add the received Metric value in the Reverse Metric TLV to the existing "default metric" in the Pseudonode LSP for the single node from whom the Reverse Metric TLV was received ๐Ÿ“ for more details, see "Multi-access LAN Procedures", in Section 3.3 ๐Ÿซถ the W bit MUST be clear when a Reverse Metric TLV is transmitted in an IIH PDU on a point-to-point link and MUST be ignored when received on a point-to-point link ๐Ÿ˜ญ

U bit (0x02): The "Unreachable" bit says the metric you get by adding the reverse metric to the "default metric" is capped at the maximum value of (2^24-1) ๐Ÿ‘‘ this "U" bit applies to both the default metric in the Extended IS Reachability TLV and the Traffic Engineering Default Metric sub-TLV of the link ๐Ÿฆ‹ and it's only relevant to the IS-IS "wide" metric mode ๐ŸŒธ

The Reserved bits of the Flags field MUST be set to zero and MUST be ignored when received ๐Ÿ’œ

The Reverse Metric TLV MAY include sub-TLVs when an IS-IS router wants to signal extra info to its neighbor โœจ in this document, the Reverse Metric Traffic Engineering Metric sub-TLV, with Type 18, is defined ๐Ÿงš this Traffic Engineering Metric is a 24-bit unsigned integer ๐ŸŽ€ this sub-TLV is optional; if it appears more than once, then the entire Reverse Metric TLV MUST be ignored ๐Ÿ™ˆ upon receiving this Traffic Engineering METRIC sub-TLV in a Reverse Metric TLV, a node SHOULD add the received Traffic Engineering Metric offset value to its existing configured Traffic Engineering Default Metric within its Extended IS Reachability TLV ๐Ÿ’– the use of other sub-TLVs is outside the scope of this document ๐ŸŒˆ and the "sub-TLV Len" value MUST be set to zero when an IS-IS router does not have Traffic Engineering sub-TLVs that it wants to send to its IS-IS neighbor ๐Ÿซถ


3. Elements of Procedure ๐Ÿ’…

3.1. Processing Changes to Default Metric ๐ŸŒธ

it's super important to use the same IS-IS metric type on both ends of the link and in the entire IS-IS area or level ๐Ÿ‘‘ on the receiving side of the 'reverse-metric' TLV, the accumulated value of the configured metric and the reverse-metric needs to be limited to 63 in "narrow" metric mode and to (2^24 - 2) in "wide" metric mode ๐Ÿฆ‹ this applies to both the Default Metric of the Extended IS Reachability TLV and the Traffic Engineering Default Metric sub-TLV in LSP or Pseudonode LSP for the "wide" metric mode case ๐Ÿงš if the "U" bit is present in the flags, the accumulated metric value is to be limited to (2^24 - 1) for both the normal link metric and Traffic Engineering metric in IS-IS "wide" metric mode ๐Ÿ’œ

if an IS-IS router is configured to originate a Traffic Engineering Default Metric sub-TLV for a link but receives a Reverse Metric TLV from its neighbor that does not contain a Traffic Engineering Default Metric sub-TLV, then the IS-IS router MUST NOT change the value of its Traffic Engineering Default Metric sub-TLV for that link ๐Ÿ™ˆ

The Reverse Metric TLV applies to Multi-topology IS-IS (M-ISIS) [RFC5120] ๐ŸŒˆ on point-to-point links, if an IS-IS router is configured for M-ISIS, it MUST send only a single Reverse Metric TLV in IIH PDUs toward its neighbor(s) on the designated link ๐Ÿ’– when an M-ISIS router receives a Reverse Metric TLV, it MUST add the received Metric value to its Default Metric of the link in all Extended IS Reachability TLVs for all topologies ๐Ÿซถ if an M-ISIS router receives a Reverse Metric TLV with a Traffic Engineering Default Metric sub-TLV, then the M-ISIS router MUST add the received Traffic Engineering Default Metric value to each of its Default Metric sub-TLVs in all of its MT Intermediate Systems TLVs ๐Ÿ“ if an M-ISIS router is configured to advertise Traffic Engineering Default Metric sub-TLVs for one or more topologies but does not receive a Traffic Engineering Default Metric sub-TLV in a Reverse Metric TLV, then the M-ISIS router MUST NOT change the value in each of the Traffic Engineering Default Metric sub-TLVs for all topologies ๐Ÿ˜ญ

3.3. Multi-access LAN Procedures ๐Ÿฆ‹

On a Multi-access LAN, only the DIS SHOULD act upon information contained in a received Reverse Metric TLV ๐Ÿ‘‘ all non-DIS nodes MUST silently ignore a received Reverse Metric TLV ๐Ÿ’€ the decision process of the routers on the LAN MUST follow the procedure in Section 7.2.8.2 of [ISO10589], and use the "Two-way connectivity check" during the topology and route calculation ๐Ÿงš

The Reverse Metric Traffic Engineering sub-TLV also applies to the DIS ๐ŸŒธ if a DIS is configured to apply Traffic Engineering over a link and it receives a Traffic Engineering Metric sub-TLV in a Reverse Metric TLV, it should update the Traffic Engineering Default Metric sub-TLV value of the corresponding Extended IS Reachability TLV or insert a new one if not present ๐Ÿ’œ

In the case of multi-access LANs, the "W" Flags bit is used to signal from a non-DIS to the DIS whether or not to change the metric and, optionally, Traffic Engineering parameters for all nodes in the Pseudonode LSP or solely the node on the LAN originating the Reverse Metric TLV โœจ

A non-DIS node, e.g., Router B, attached to a multi-access LAN will send the DIS a Reverse Metric TLV with the W bit clear when Router B wants the DIS to add the Metric value to the Default Metric contained in the Pseudonode LSP specific to just Router B ๐ŸŽ€ other non-DIS nodes, e.g., Routers C and D, may simultaneously send a Reverse Metric TLV with the W bit clear to request the DIS to add their own Metric value to their Default Metric contained in the Pseudonode LSP ๐Ÿซถ

As long as at least one IS-IS node on the LAN sends the signal to the DIS with the W bit set, the DIS would add the metric value in the Reverse Metric TLV to all neighbor adjacencies in the Pseudonode LSP ๐ŸŒˆ regardless of whether some of the nodes on the LAN advertise the Reverse Metric TLV without the W bit set ๐Ÿ’– the DIS MUST use the reverse metric of the highest source MAC address Non-DIS advertising the Reverse Metric TLV with the W bit set ๐Ÿ‘‘

Local provisioning on the DIS to adjust the Default Metric(s) is another way to insert Reverse Metric in the Pseudonode LSP towards an IS-IS node on a LAN ๐Ÿงš in the case where a Reverse Metric TLV is also used in the IS-IS Hello PDU of the node, the local provisioning MUST take precedence over received Reverse Metric TLVs ๐Ÿ’… for instance, local policy on the DIS may be provisioned to ignore the W bit signaling on a LAN ๐Ÿฆ‹

Multi-topology IS-IS [RFC5120] specifies there is no change to construction of the Pseudonode LSP regardless of the Multi-topology (MT) capabilities of a multi-access LAN ๐ŸŒธ if any MT capable node on the LAN advertises the Reverse Metric TLV to the DIS, the DIS should update, as appropriate, the Default Metric contained in the Pseudonode LSP ๐Ÿ’œ if the DIS updates the Default Metric and floods a new Pseudonode LSP, those default metric values will be applied to all topologies during Multi-topology Shortest Path First calculations โœจ

3.4. LDP/IGP Synchronization on LANs ๐ŸŽ€

As described in [RFC6138], when a new IS-IS node joins a broadcast network, it's unnecessary and sometimes even harmful for all IS-IS nodes on the LAN to advertise the maximum link metric ๐Ÿ™ˆ [RFC6138] proposes a solution where the new node does not advertise its adjacency towards the pseudonode when it is not in a "cut-edge" position ๐Ÿซถ

With the introduction of Reverse Metric in this document, a simpler alternative solution to the above problem can be used ๐Ÿงš the Reverse Metric lets the new node on the LAN advertise its inbound metric value as the maximum, which puts the link of this new node in the last resort position without impacting the other IS-IS nodes on the same LAN ๐Ÿ’–

Specifically, when IS-IS adjacencies are being established by the new node on the LAN, besides setting the maximum link metric value (2^24 - 2) on the interface of the LAN for LDP IGP synchronization as described in [RFC5443], it SHOULD advertise the maximum metric offset value in the Reverse Metric TLV in its IIH PDU sent on the LAN ๐ŸŒˆ it SHOULD continue this advertisement until it completes all the LDP label binding exchanges with all the neighbors over this LAN, either by receiving the LDP End-of-LIB [RFC5919] for all the sessions or by exceeding the provisioned timeout value for the node LDP/IGP synchronization ๐Ÿฆ‹

3.5. Operational Guidelines โœจ

Okay bestie, so for the use case in Section 1.1 ๐ŸŽ€, a router SHOULD limit how long it advertises a Reverse Metric TLV to a neighbor. Keep that window to just the length of a network maintenance window ๐Ÿ› ๏ธ. Short and sweet!

Using a Reverse Metric doesn't touch the IS-IS metric settings saved in a router's persistent provisioning database ๐Ÿ’พ. Your config stays exactly as you left it ๐Ÿซถ.

If routers that receive a Reverse Metric TLV send a syslog message or SNMP trap ๐Ÿ“ฃ, it helps you spot fast which node is advertising an IS-IS metric or Traffic Engineering parameter that's different from what's configured locally on the device ๐Ÿ”. Main character detective energy ๐Ÿ•ต๏ธโ€โ™€๏ธ.

When the link Traffic Engineering metric gets raised to (2^24 - 1) [RFC5817] ๐Ÿšง, whether that's from the Reverse Metric mechanism or from explicit user configuration, this SHOULD immediately trigger a CSPF (Constrained Shortest Path First) recalculation so the Traffic Engineering traffic moves away from that link ๐Ÿƒโ€โ™€๏ธ๐Ÿ’จ. It is RECOMMENDED also that CSPF runs that immediate recalculation when the Traffic Engineering metric is raised to (2^24 - 2), which makes it the last resort link ๐Ÿซฃ.

It is advisable that implementations give operators a configuration capability to disable any IS-IS metric changes made by the Reverse Metric mechanism through neighbors' Hello PDUs. Protect your link, bestie ๐Ÿ”’.

If an implementation turns this mechanism on by default, it is RECOMMENDED that operators disable it whenever they aren't explicitly using it ๐Ÿงน. Don't leave it running in the background like a forgotten tab ๐Ÿ’€.


4. Security Considerations ๐Ÿ”

Security concerns for IS-IS are covered in [ISO10589], [RFC5304], and [RFC5310], and the deployment and operational security considerations are in [RFC7645]. The enhancement in this document makes it possible for one IS-IS router to manipulate the IS-IS Default Metric and, optionally, the Traffic Engineering parameters of adjacent IS-IS neighbors on point-to-point or LAN interfaces ๐Ÿ˜ฑ. Even though IS-IS routers within a single Autonomous System nearly always sit under the control of one administrative authority, it is highly recommended that operators configure authentication of IS-IS PDUs ๐Ÿ›ก๏ธ. That's how you stop the Reverse Metric TLV from becoming a potential attack vector ๐Ÿšจ. This one is serious, no cap ๐Ÿ’….


5. IANA Considerations ๐Ÿ—‚๏ธ

IANA has allocated IS-IS TLV Codepoint 16 for the Reverse Metric TLV ๐ŸŽ‰. This new TLV has the following attributes: IIH = y, LSP = n, SNP = n, Purge = n.

This document also introduces a brand new registry for sub-TLVs of the Reverse Metric TLV โœจ. The registration policy is Expert Review, as defined in [RFC8126]. The registry lives inside the "IS-IS TLV Codepoints" registry, and it's named "Sub-TLVs for TLV 16 (Reverse Metric TLV)". The defined values are:

      0:       Reserved
      1-17:    Unassigned
      18:      Traffic Engineering Metric as specified in this document
               (Section 2)
      19-255:  Unassigned

6. References ๐Ÿ“š

6.1. Normative References

These are the must-read references, the ones the spec is built on ๐Ÿง .

[ISO10589] ISO, "Information technology -- Telecommunications and
           information exchange between systems -- Intermediate
           System to Intermediate System intra-domain routeing
           information exchange protocol for use in conjunction with
           the protocol for providing the connectionless-mode network
           service (ISO 8473)", ISO/IEC 10589:2002, Second Edition,
           November 2002.

[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>.

[RFC5120]  Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
           Topology (MT) Routing in Intermediate System to
           Intermediate Systems (IS-ISs)", RFC 5120,
           DOI 10.17487/RFC5120, February 2008,
           <https://www.rfc-editor.org/info/rfc5120>.

[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>.

[RFC5443]  Jork, M., Atlas, A., and L. Fang, "LDP IGP
           Synchronization", RFC 5443, DOI 10.17487/RFC5443, March
           2009, <https://www.rfc-editor.org/info/rfc5443>.

[RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
           Writing an IANA Considerations Section in RFCs", BCP 26,
           RFC 8126, DOI 10.17487/RFC8126, June 2017,
           <https://www.rfc-editor.org/info/rfc8126>.

[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>.

6.2. Informative References

These ones are the extra reading for when you want the full picture ๐Ÿค“.

[IS-IS-SL-EXT]
           Shen, N., Ginsberg, L., and S. Thyamagundalu, "IS-IS
           Routing for Spine-Leaf Topology", Work in Progress,
           draft-ietf-lsr-isis-spine-leaf-ext-00, December 2018.

[RFC5304]  Li, T. and R. Atkinson, "IS-IS Cryptographic
           Authentication", RFC 5304, DOI 10.17487/RFC5304, October
           2008, <https://www.rfc-editor.org/info/rfc5304>.

[RFC5310]  Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R.,
           and M. Fanto, "IS-IS Generic Cryptographic
           Authentication", RFC 5310, DOI 10.17487/RFC5310, February
           2009, <https://www.rfc-editor.org/info/rfc5310>.

[RFC5817]  Ali, Z., Vasseur, JP., Zamfir, A., and J. Newton,
           "Graceful Shutdown in MPLS and Generalized MPLS Traffic
           Engineering Networks", RFC 5817, DOI 10.17487/RFC5817,
           April 2010, <https://www.rfc-editor.org/info/rfc5817>.

[RFC5919]  Asati, R., Mohapatra, P., Chen, E., and B. Thomas,
           "Signaling LDP Label Advertisement Completion", RFC 5919,
           DOI 10.17487/RFC5919, August 2010,
           <https://www.rfc-editor.org/info/rfc5919>.

[RFC6138]  Kini, S., Ed. and W. Lu, Ed., "LDP IGP Synchronization for
           Broadcast Networks", RFC 6138, DOI 10.17487/RFC6138,
           February 2011, <https://www.rfc-editor.org/info/rfc6138>.

[RFC7645]  Chunduri, U., Tian, A., and W. Lu, "The Keying and
           Authentication for Routing Protocol (KARP) IS-IS Security
           Analysis", RFC 7645, DOI 10.17487/RFC7645, September 2015,
           <https://www.rfc-editor.org/info/rfc7645>.

Appendix A. Node Isolation Challenges ๐ŸงŠ

Every so often, an operator has to do disruptive maintenance on an entire IS-IS router node ๐Ÿ”ง. Think major software upgrades, or power and cooling upgrades ๐ŸŒก๏ธ. In those cases, the operator sets the IS-IS Overload Bit (OL bit) in the Link State Protocol Data Units (LSPs) of the router that's about to go under maintenance. That router immediately floods its updated LSPs to every IS-IS router in the domain ๐Ÿ“ก. When everyone gets those updated LSPs, all the IS-IS routers recalculate their Shortest Path First (SPF) tree while leaving out any router whose LSPs have the OL bit set. That effectively removes the router from the topology, so it stops receiving any transit traffic during maintenance ๐Ÿšซ.

Once the maintenance is done, the operator resets the IS-IS Overload Bit in the LSPs of the original router. That router floods updated LSPs throughout the domain again, every router recalculates its SPF tree, and the router is back in their topology calculations and can carry transit traffic again ๐ŸŽˆ.

Isolating a whole IS-IS router can be super disruptive ๐Ÿ˜ฉ. A big pile of traffic gets pushed through other, suboptimal paths (for example, ones with a significantly larger delay). So in most maintenance scenarios, where only a single link or LAN needs more physical capacity or is having an intermittent failure, it's much more common and much more desirable to gracefully pull just that targeted link or LAN out of service for a while ๐Ÿช„. That way, the least amount of user-data traffic gets affected during the link-specific maintenance ๐Ÿ’–.


Before maintenance happens on individual physical links or LANs, operators bump up the IS-IS metric on both devices attached to the same link or LAN at the same time ๐Ÿ“ˆ. The devices generate new Link State Protocol Data Units (LSPs), which get flooded through the network and make every router gradually shift traffic onto alternate paths ๐ŸŒŠ. Applications and end users barely notice, or don't notice at all ๐Ÿ™Œ. When it works, the operator can confidently do disruptive augmentation, fault diagnosis, or repairs on a link without disturbing ongoing communications anywhere in the network ๐Ÿ’….

The above solution comes with some challenges, though ๐Ÿ˜ฌ. First, it's pretty common for routers to have several hundred interfaces, with individual interfaces moving anywhere from several hundred gigabits per second to terabits per second of traffic ๐Ÿ’ธ. So it's absolutely essential that operators accurately identify the same point-to-point link on two separate devices before they increase (and later decrease) the IS-IS metric. Second, this whole approach is very time-consuming and even more error-prone when you need to temporarily remove a multi-access LAN from the topology ๐Ÿ˜ตโ€๐Ÿ’ซ. The operator has to configure ALL devices with interfaces attached to the multi-access LAN with an appropriately high IS-IS metric, and then set the metric back to its original value afterward. Finally, for multi-access LANs, there's currently no method to bidirectionally isolate only a single node's interface on the LAN when doing finer-grained diagnoses and repairs ๐Ÿฅฒ.

In theory, a Network Management System (NMS) could make it more accurate to identify the right subset of routers attached to either a point-to-point link or a multi-access LAN ๐Ÿง. It could also signal those devices, using a network management protocol, to adjust the IS-IS metrics on the relevant set of interfaces ๐Ÿ“ฌ. The reality is that NMSs are, to a very large extent, not used within Service Providers' networks for a variety of reasons ๐Ÿ™ƒ. In particular, NMSs don't interoperate very well across different vendors, or even across separate platform families from the same vendor ๐Ÿซ .


Acknowledgments ๐Ÿซถ

The authors would like to thank Mike Shand, Dave Katz, Guan Deng, Ilya Varlashkin, Jay Chen, Les Ginsberg, Peter Ashwood-Smith, Uma Chunduri, Alexander Okonnikov, Jonathan Harrison, Dave Ward, Himanshu Shah, Wes George, Danny McPherson, Ed Crabbe, Russ White, Robert Raszuk, Tom Petch, Stewart Bryant, and Acee Lindem for their comments and contributions ๐Ÿ’œ.

Contributors ๐ŸŒธ

Tony Li

Email: tony.li@tony.li

Authors' Addresses ๐Ÿ“ฎ

Naiming Shen
Cisco Systems
560 McCarthy Blvd.
Milpitas, CA  95035
United States of America

Email: naiming@cisco.com


Shane Amante
Apple Inc.
One Apple Park Way
Cupertino, CA  95014
United States of America

Email: amante@apple.com


Mikael Abrahamsson
T-Systems Nordic
Kistagangen 26
Stockholm
Sweden

Email: Mikael.Abrahamsson@t-systems.se
๐Ÿ“ฆ where this page comes from