RFC 3787

Recommendations for Interoperable IP Networks using Intermediate System to Intermediate System (IS-IS)

๐Ÿ“… published May 2004, from ietf

RFC 3787: Recommendations for Interoperable IP Networks using IS-IS ๐Ÿฆ‹

Okay bestie, so RFC 3787 is written by J. Parker, Ed., from Axiowave Networks, and it's dated May 2004 ๐Ÿ“…. It's Informational, which means it's sharing knowledge and advice, not an actual Internet standard ๐Ÿ’…. The header doesn't list anything it obsoletes or updates. The title is "Recommendations for Interoperable IP Networks using Intermediate System to Intermediate System (IS-IS)" โœจ.


Status of this Memo ๐Ÿ“

This memo is info for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

Copyright (C) The Internet Society (2004). All Rights Reserved.

Abstract ๐ŸŒธ

This doc talks about a bunch of differences between the IS-IS protocol that routes IP traffic (the one in RFC 1195) and how it's actually deployed today ๐Ÿงš. It's written to help people implementing, testing, and deploying IS-IS for IP routing. There's a companion doc that covers the differences between the protocol in ISO 10589 and current practice too ๐Ÿ’œ.

Table of Contents ๐Ÿ—‚๏ธ

 1.  Introduction. . . . . . . . . . . . . . . . . . . . . . . . .  2
 2.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  2
 3.  Unused Features . . . . . . . . . . . . . . . . . . . . . . .  2
 4.  Overload Bit. . . . . . . . . . . . . . . . . . . . . . . . .  3
 5.  Migration from Narrow Metrics to Wide . . . . . . . . . . . .  4
 6.  Intermediate System Hello (ISH) PDU . . . . . . . . . . . . .  6
 7.  Attached Bit. . . . . . . . . . . . . . . . . . . . . . . . .  7
 8.  Default Route . . . . . . . . . . . . . . . . . . . . . . . .  8
 9.  Non-homogeneous Protocol Networks . . . . . . . . . . . . . .  8
10.  Adjacency Creation and IP Interface Addressing. . . . . . . .  9
11.  Security Considerations . . . . . . . . . . . . . . . . . . .  9
12.  References. . . . . . . . . . . . . . . . . . . . . . . . . . 10
     12.1. Normative References. . . . . . . . . . . . . . . . . . 10
     12.2. Informative References. . . . . . . . . . . . . . . . . 10
13.  Author's Address. . . . . . . . . . . . . . . . . . . . . . . 10
14.  Full Copyright Statement. . . . . . . . . . . . . . . . . . . 11

1. Introduction ๐ŸŽ€

Okay so Interior Gateway Protocols like IS-IS are built to give you timely info about the best routes inside a routing domain ๐Ÿ—บ๏ธ. The original IS-IS design, from ISO 10589 [1], has been seriously durable, no cap ๐Ÿ’…. But a bunch of the original design choices have been tweaked over time ๐Ÿ”ฅ. This doc goes through some of the differences between the protocol in RFC 1195 [2] and what you can actually see on the wire today ๐Ÿ‘€. There's a companion doc that describes the differences between ISO 10589 and current practice too [8].

The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT" and "MAY" in this document are to be interpreted as described in RFC 2119 [3] ๐Ÿซถ.

2. Acknowledgments ๐Ÿ’Œ

This doc is the work of SO many people, and it's basically the distillation of over a thousand mail messages ๐Ÿ˜ญ. Thanks to Vishwas Manral, who pushed to create such a document. Thanks to Danny McPherson, the original editor, for kicking things off. Thanks to Mike Shand, for his work in creating the protocol, and his uncanny ability to remember what everything is for. Thanks to Micah Bartell and Philip Christian, who showed us how to document difference without displaying discord. Thanks to Les Ginsberg, Neal Castagnoli, Jeff Learman, and Dave Katz, who spent many hours educating the editor. Thanks to Radia Perlman, who is always ready to explain anything. Thanks to Satish Dattatri, who was tenacious in seeing things written up correctly, and to Bryan Boulton for his work on the IP adjacency issue. Thanks to Russ White, whose writing improved the treatment of every topic he touched. Thanks to Shankar Vemulapalli, who read several drafts with close attention. Thanks to Don Goodspeed, for his close reading of the text. Thanks to Michael Coyle for identifying the quotation from Jan L.A. van de Snepscheut. Thanks for Alex Zinin's ministrations behind the scenes. Thanks to Tony Li and Tony Przygienda, who kept us on track as the discussions veered into the weeds. And thanks to all those who have contributed, but whose names I have carelessly left from this list ๐Ÿฅน๐ŸŒˆ.

3. Unused Features ๐Ÿงน

Some features defined in RFC 1195 are not in current use ๐Ÿ’ค.

3.1. Inter-Domain Routing Protocol Information TLV, Code 131 ๐Ÿšซ

RFC 1195 defines an Inter-Domain Routing Protocol Information TLV, with code 131, designed to convey information transparently between boundary routers. TLV 131 is not used, and MUST be ignored if received ๐Ÿ™…โ€โ™€๏ธ.

3.2. Authentication TLV, Code 133 ๐Ÿ”

RFC 1195 defines an authentication TLV, code 133, which contains information used to authenticate the PDU. This TLV has been replaced by TLV 10, described in "IS-IS Cryptographic Authentication" [4]. TLV 133 is not used, and MUST be ignored ๐Ÿ™…โ€โ™€๏ธ.

4. Overload Bit ๐Ÿšจ

To deal with transient problems that prevent an IS from storing all the LSPs it receives, ISO 10589 defines an LSP Database Overload condition in section 7.3.19. When an IS is in Database Overload condition, it sets a flag called the Overload Bit in the non-pseudonode LSP number Zero that it generates. Section 7.2.8.1 of ISO 10589 instructs other systems not to use the overloaded IS as a transit router. Since the overloaded IS does not have complete information, it may not be able to compute the right routes, and routing loops could develop. However, an overloaded router may be used to reach End Systems directly attached to the router, as it may provide the only path to an End System ๐Ÿฅบ.

The ability to signal reduced knowledge is so useful that the meaning of this flag has been overloaded ๐Ÿคฏ. In a Service Provider's network, when a router running BGP and IS-IS reboots, BGP might take more time to converge than IS-IS. Thus the router may drop traffic for destinations not yet learned via BGP. It is convenient to set the Overload Bit until BGP has converged, as described in "Intermediate System to Intermediate System (IS-IS) Transient Blackhole Avoidance" [6] โœจ.

An implementation SHOULD use the Overload Bit to signal that it is not ready to accept transit traffic ๐Ÿšฆ.

An implementation SHOULD not set the Overload bit in PseudoNode LSPs that it generates, and Overload bits seen in PseudoNode LSPs SHOULD be ignored. This is also discussed in the companion document on ISO interoperability [8] ๐Ÿง .

RFC 1195 makes clear when describing the SPF algorithm for IP routers in section C.1.4 that directly connected IP subnetworks are reachable when an IS is overloaded ๐Ÿ“ก.

   Note that the End Systems neighbors of the system P includes IP
   reachable address entries included in the LSPs from system P.

When processing LSPs received from a router which has the Overload bit set in LSP number Zero, the receiving router SHOULD treat all IP reachability advertisements as directly connected and use them in its SPF computation ๐Ÿ’โ€โ™€๏ธ.

Since the IP prefixes that an overloaded router announces will be treated as directly attached, an overloaded router SHOULD take care in selecting which routes to advertise in the LSPs it generates ๐Ÿ‘‘. Main character energy, but make it responsible ๐Ÿ’….

5. Migration from Narrow Metrics to Wide ๐Ÿ“ˆ

The IS-Neighbors TLV (TLV 2) as defined in ISO 10589 and the IP Reachability TLV (TLV 128/TLV 130) as defined in RFC 1195 provide a 6 bit metric for the default link metric to the listed neighbor. This metric has proved too limited ๐Ÿ˜ฉ. The Extended IS-Neighbors TLV (TLV 22) and the Extended IP Reachability TLV (TLV 135) are defined in "IS-IS extensions for Traffic Engineering" [5]. The Extended IS-Neighbors TLV (TLV 22) defines a 24 bit metric, and the Extended IP Reachability TLV (TLV 135) defines a 32 bit metric for IP Networks and Hosts ๐ŸŒŸ.

If not all devices in the IS-IS domain support wide metrics, narrow metrics MUST continue to be used ๐Ÿ›‘. Once all devices in the network are able to support the new TLVs containing wide metrics, the network can be migrated to the new metric style, though care must be taken to avoid routing loops ๐Ÿ”„.

We make the following assumptions about the implementation ๐Ÿค“:

  1. Each system can generate and understand both narrow and wide metrics.
  2. The implementation can run the SPF algorithm on an LSP DB with instances of both metric styles.
  3. If there are two metric styles for a link or IP prefix, it will pick one of them as the true cost for the link.

To compare the different variants of the narrow metric with wide metrics, we need an algorithm that translates External and Internal narrow metrics into a common integer range. Since we have different computations for the L1 and L2 routes, we only need to map metrics from a single level ๐Ÿงฎ.

In RFC 1195 section 3.10.2, item 2c) states that the IP prefixes located in "IP External Reachability" with internal-metric and IP prefixes located in "IP Internal Reachability" with internal-metric have the same preference. As defined in "Domain-wide Prefix Distribution with Two-Level IS-IS", the Most Significant Bit on an L1 metric tells us if the route has been leaked down, but does not change the distance. Thus we will ignore the MSBit ๐Ÿ™ˆ.

We interpret the default metric as an 7 bit quantity. Metrics with the external bit set are interpreted as metrics in the range [64..127]. Metrics with the external bit clear are interpreted as metrics in the range [0..63] ๐Ÿ“Š.

5.1. Transition Algorithm ๐Ÿฆ‹

To make the switch from using narrow metrics exclusively to using wide metrics exclusively go smoothly, you need to take the following steps, in the order below ๐Ÿชœ:

  1. All routers advertise Narrow Metrics as defined in ISO 10589, and consider narrow metrics only in their SPF computation.
  2. Each system is configured in turn to send wide metrics as well as narrow metrics. The two metrics for the same link or IP prefix SHOULD agree.
  3. When all systems are advertising wide metrics, make any changes necessary on each system to consider Wide Metrics during the SPF, and change MaxPathMetric to 0xFE000000.
  4. Each system is configured in turn to stop advertising narrow metrics.
  5. When the network is only using wide metrics, metrics on individual links may be rescaled to take advantage of the larger metric ๐Ÿš€.

5.2. Dealing with Non-Equal Metrics ๐ŸŒธ

okay so the algorithm above assumes the metrics are equal, which means it never has to care which metric the SPF algorithm uses ๐Ÿ™ˆ this section explains what changes when both Narrow and Wide metric styles need to be considered. using one common algorithm means different implementations can compute the same distances on their own, even when the wide and narrow metrics don't agree ๐Ÿซถ

the standard SPF algorithm works by comparing sums of link costs to find a minimal cost path. during transition, the same links will be described more than once, so we resolve it by picking the minimum metric for each link โœจ the result can be a path where some links were chosen because of a wide metric and others because of a narrow one. it's giving mix-and-match ๐Ÿ’…

the description below is more complicated than an implementation actually needs to be. an implementation can just pick the minimal cost neighbor in TENT and throw away paths to destinations it has already reached, as described in ISO 10589 ๐Ÿฆ‹

the variables MaxPathMetric and MaxLinkMetric SHOULD retain the values defined in Table 2 of section 8 of ISO 10589 ๐ŸŽ€

here are the three spots where the SPF description gets updated:

In C.2.5 Step 0 of the description of the SPF algorithm, section b)

   d(N) = cost of the parent circuit of the adjacency N

   If multiple styles of metric for the link are defined, the cost
   will be the minimum available cost for the circuit.

In C.2.5 Step 0 of the description of the SPF algorithm, section i)

   d(N) = metric of the circuit

   If multiple styles of metric for the link are defined, the cost
   will be the minimum available cost for the circuit.

In C.2.6 Step 1 of the description of the SPF algorithm, section a)

   dist(P,N) = d(P) + metric(P,N)

   If multiple styles of metric for the neighbor are defined, the
   cost will be the minimum available cost for the circuit.

6. Intermediate System Hello (ISH) PDU โœจ

okay this one is a little history lesson ๐Ÿงš the original idea behind RFC 1195 was a routing protocol that could handle both CLNS and IPv4 reachability information. so that CLNS Endstations (ES) could tell they're attached to a router, Intermediate Systems are required to send Intermediate System Hello PDUs (ISH) to End Stations when a point-to-point circuit comes up. also, an IS isn't allowed to send Intermediate System to Intermediate System Hello PDUs (IIH) until it has received an ISH from a peer. this cuts down on routing protocol traffic on links with a single IS ๐Ÿ”ฅ

section 5.1 of RFC 1195 says this:

"On point-to-point links, the exchange of ISO 9542 ISHs (intermediate system Hellos) is used to initialize the link, and to allow each router to know if there is a router on the other end of the link, before IS-IS Hellos are exchanged. All routers implementing IS-IS (whether IP-only, OSI-only, or dual), if they have any interfaces on point-to-point links, must therefore be able to transmit ISO 9542 ISHs on their point-to-point links."

section 5.1 of RFC 1195 also backs up the need to follow section 8.2.4 of ISO 10589 ๐ŸŒˆ but in an IP Only environment, the original reason for the ISH PDU just isn't there anymore ๐Ÿ’€

a multi-protocol IS that supports attaching CLNS ESs over Point to Point circuits has to act in line with section 8.2.2 of ISO 10589 when CLNS functionality is turned on โœจ

an IP only implementation SHOULD issue an ISH PDU as described in section 8.2.3 of ISO 10589 ๐Ÿซถ this is so it can inter-operate with implementations that need an ISH to start forming an IS-IS adjacency ๐Ÿฆ‹

an IP Only implementation may issue an IIH PDU when a point to point circuit transitions into an "Up" state, to start forming an IS-IS adjacency without sending an ISH PDU. however, this may not inter-operate with implementations that require an ISH for adjacency formation ๐Ÿ˜ญ

an IS may issue an IIH PDU in response to receiving an IIH PDU, in accordance with section 8.2.5.2 of ISO 10589, even though it hasn't received an ISH PDU ๐Ÿ“


7. The Attached Bit ๐Ÿ’œ

section 7.2.9.2 of ISO 10589 describes an algorithm for figuring out when the attachedFlag should be set on an intermediate system. some implementations also let the attachedFlag get set on Intermediate Systems that route IP traffic when there's a default route in the local routing table, or when some other state is reached that implies a connection to the rest of the network ๐ŸŒธ


8. Default Route ๐Ÿ“

RFC 1195 says this in section 1.3:

Default routes are permitted only at level 2 as external routes (i.e., included in the "IP External Reachability Information" field, as explained in sections 3 and 5). Default routes are not permitted at level 1.

default routes are super useful when you're dealing with other routing protocols, and they can also influence the exit point from an area ๐Ÿ‘‘ so an implementation MAY generate default routes in Level 1 โœจ


9. Non-homogeneous Protocol Networks ๐ŸŒˆ

RFC 1195 assumes every deployment of IS-IS routers supports a homogeneous set of protocols. it expects OSI only, IP only, or dual OSI and IP routers. it does allow mixed areas with, for example, both pure IP and Dual IP and OSI routers, but in those domains it only allows IP traffic, and OSI traffic only when pure OSI and Dual IP and OSI routers are present. so really it's just lowest common denominator routing ๐Ÿ˜ฌ

RFC 1195 also requires the Protocol Supported TLV with code 129 to be included in IIH and ISH PDUs and in LSP number Zero. IP capable routers MUST generate a Protocol Supported TLV, and MUST include the IP protocol as a supported protocol ๐Ÿ”ฅ a router that doesn't include the Protocols Supported TLV may be assumed to be a pure OSI router, and it can be read as implicitly "advertising" support for the OSI protocol ๐Ÿฆ‹

the requirements of RFC 1195 are plenty if networks stick to this restriction. however, the behavior of mixed networks that don't follow these guidelines isn't well defined ๐Ÿ™ˆ

the ITU-T requires that SONET/SDH equipment running the IS-IS protocol must not form an adjacency with a neighbour unless they share at least one network layer protocol in common. unless this feature is present in every IS in the SONET or SDH DCN network, the network may not function correctly ๐Ÿ˜ญ implementors MAY include this feature if they want to make sure they interoperate with SONET and SDH DCN networks ๐Ÿซถ

defining an interoperable strategy for fixing the problems that come up in non-homogeneous protocol networks is still incomplete. members of the ITU are actively working on a proposal, see "Architecture and Specification of Data Communication Network", [7] ๐Ÿ’…


10. Adjacency Creation and IP Interface Addressing ๐ŸŽ€

RFC 1195 states that adjacencies are formed without regard to IP interface addressing. however, lots of current implementations refuse adjacencies based on interface addresses and related issues ๐Ÿ™ˆ

in section 4.2, RFC 1195 requires routers with IP interface addresses to advertise those addresses in an IP Interface Address TLV (132) carried in IIH PDUs. some implementations won't interoperate with a neighbor router that doesn't include the IP Interface Address TLV. also, some implementations won't form an adjacency on broadcast interfaces with a peer that doesn't share an interface address in some common IP subnetwork ๐Ÿ’€

if a LAN has a mix of implementations, some that form adjacencies with all neighbors and some that don't, you have to be careful when assigning IP addresses ๐Ÿงš if not all routers on a LAN are on the same IP subnet, DIS election may fail. that could lead to multiple DISs on a LAN, or no DIS at all. even if DIS election succeeds, black holes can still happen because the IS-IS LAN transitivity requirements of section 6.7.3 of ISO 10589 aren't met ๐Ÿ˜ฑ

unnumbered point to point links don't have IP interface addresses, though the routers may have other IP addresses assigned to them ๐Ÿฆ‹ the IP addresses assigned to two routers that are neighbors on an unnumbered point to point link don't need to be related. however, some implementations won't form an adjacency on numbered point to point links if the interface addresses of each endpoint aren't in the same IP subnetwork. so you really do need to be careful assigning IP interface addresses in all networks ๐Ÿซถ

for an implementation to interoperate in this kind of mixed environment, it MUST include an IP Interface address (TLV 132) in its IIH PDUs ๐Ÿ”ฅ the network administrator should make sure there's a common IP subnet assigned to links with numbered interfaces, and that all routers on each link have IP Interface Addresses that belong to the assigned subnet ๐Ÿ‘‘


11. Security Considerations ๐Ÿ’€

okay this is the serious part, bestie ๐Ÿšจ the clarifications in this document don't raise any new security concerns, because there's no change in the underlying protocol described in ISO 10589 [1] and RFC 1195 [2] โœจ

the document does make it clear that TLV 133 has been deprecated and replaced with TLV 10 ๐ŸŒˆ


12. References ๐Ÿ“š

12.1. Normative References

  • [1] ISO, "Intermediate system to Intermediate system routeing information exchange protocol for use in conjunction with the Protocol for providing the Connectionless-mode Network Service (ISO 8473)," ISO/IEC 10589:2002.
  • [2] Callon, R., "OSI IS-IS for IP and Dual Environment," RFC 1195, December 1990.
  • [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
  • [4] Li, T. and R. Atkinson, "IS-IS Cryptographic Authentication", RFC 3567, July 2003.
  • [5] Smit, H. and T. Li, "Intermediate System to Intermediate System (IS-IS) Extensions for Traffic Engineering (TE)", RFC 3784, May 2004.
  • [6] McPherson, D., "Intermediate System to Intermediate System (IS-IS) Transient Blackhole Avoidance", RFC 3277, April 2002.

12.2. Informative References

  • [7] ITU, "Architecture and Specification of Data Communication Network", ITU-T Recommendation G.7712/Y.1703, November 2001
  • [8] Parker, J., Ed., "Recommendations for Interoperable Networks using Intermediate System to Intermediate System (IS-IS)", RFC 3719, February 2004.

13. Author's Address ๐Ÿ’Œ

Jeff Parker
Axiowave Networks
200 Nickerson Road
Marlborough, Mass 01752
USA

EMail: jparker@axiowave.com

the legal bit, copied exactly ๐Ÿซถ

Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property ๐Ÿ’–

okay so, the IETF is not picking a side on whether anyone owns the rights to the tech in this doc ๐Ÿ™ˆ It doesn't say whether those rights are valid or how wide they reach, and it doesn't say whether you can get a license for them either. It also hasn't gone hunting for patents or anything like that on its own. If you want the rules on rights for RFC documents, check out BCP 78 and BCP 79 ๐Ÿ“š

Copies of IPR disclosures that were sent to the IETF Secretariat are a thing, and so are any licensing assurances people have offered. You can find them in the IETF's online IPR repository at http://www.ietf.org/ipr. The same goes for the results of anyone trying to get a general license or permission to use proprietary rights for this spec, which implementers or users might have run into ๐Ÿฆ‹

The IETF also invites anyone who knows about copyrights, patents, patent applications, or other proprietary rights that might cover technology needed to implement this standard to speak up. Send that info to the IETF at ietf-ipr@ietf.org ๐Ÿ’Œ


Acknowledgement ๐ŸŒธ

Funding for the RFC Editor function is currently coming from the Internet Society. Thank you, Internet Society!! ๐Ÿซถโœจ

๐Ÿ“ฆ where this page comes from