RFC 3787
Recommendations for Interoperable IP Networks using Intermediate System to Intermediate System (IS-IS)
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 Notice ยฉ๏ธ
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 ๐ค:
- Each system can generate and understand both narrow and wide metrics.
- The implementation can run the SPF algorithm on an LSP DB with instances of both metric styles.
- 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 ๐ช:
- All routers advertise Narrow Metrics as defined in ISO 10589, and consider narrow metrics only in their SPF computation.
- 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.
- 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.
- Each system is configured in turn to stop advertising narrow metrics.
- 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
14. Full Copyright Statement ๐
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
- ietf: rfc3787 2004-05
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms