Network Working Working Group R. Callon Request for Comments: 1195 Digital Equipment Corporation December 1990 Use of OSI IS-IS for Routing in TCP/IP and Dual Environments Status of this Memo This RFC specifies a protocol on the IAB Standards Track for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "IAB Official Protocol Standards" for the standardization state and status of this protocol. Distribution of this memo is unlimited. This RFC is available in both postscript and text versions. Where possible, use of the postscript version is recommended. For example, this text version may have figures which are less informative or missing. Abstract This RFC specifies an integrated routing protocol, based on the OSI Intra-Domain IS-IS Routing Protocol, which may be used as an interior gateway protocol (IGP) to support TCP/IP as well as OSI. This allows a single routing protocol to be used to support pure IP environments, pure OSI environments, and dual environments. This specification was developed by the IS-IS working group of the Internet Engineering Task Force. The OSI IS-IS protocol has reached a mature state, and is ready for implementation and operational use. The most recent version of the OSI IS-IS protocol is contained in ISO DP 10589 [1]. The proposed standard for using IS-IS for support of TCP/IP will therefore make use of this version (with a minor bug correction, as discussed in Annex B). We expect that future versions of this proposed standard will upgrade to the final International Standard version of IS-IS when available. Comments should be sent to "isis@merit.edu". Contents 1 Introduction: Overview of the Protocol 1.1 What the Integrated IS-IS offers 1.2 Overview of the ISO IS-IS Protocol 1.3 Overview of the Integrated IS-IS 1.4 Support of Mixed Routing Domains Callon [Page 1] RFC 1195 OSI ISIS for IP and Dual Environments December 1990 1.5 Advantages of Using Integrated IS-IS 2 Symbols and Abbreviations 3 Subnetwork Independent Functions 3.1 Exchange of Routing Information 3.2 Hierarchical Abbreviation of IP Reachability Information 3.3 Addressing Routers in IS-IS Packets 3.4 External Links 3.5 Type of Service Routing 3.6 Multiple LSPs and SNPs 3.7 IP-Only Operation 3.8 Encapsulation 3.9 Authentication 3.10 Order of Preference of Routes / Dijkstra Computation 4 Subnetwork Dependent Functions 4.1 Link Demultiplexing 4.2 Multiple IP Addresses per Interface 4.3 LANs, Designated Routers, and Pseudonodes 4.4 Maintaining Router Adjacencies 4.5 Forwarding to Incompatible Routers 5 Structure and Encoding of PDUs 5.1 Overview of IS-IS PDUs 5.2 Overview of IP-Specific Information for IS-IS 5.3 Encoding of IP-Specific Fields in IS-IS PDUs 6 Security Considerations 7 Author's Address 8 References A Inter-Domain Routing Protocol Information A.1 Inter-Domain Information Type A.2 Encoding B Encoding of Sequence Number Packets B.1 Level 1 Complete Sequence Numbers PDU B.2 Level 2 Complete Sequence Numbers PDU B.3 Level 1 Partial Sequence Numbers PDU B.4 Level 2 Partial Sequence Numbers PDU C Dijkstra Calculation and Forwarding C.1 SPF Algorithm for IP and Dual Use C.2 Forwarding of IP packets Callon [Page 2] RFC 1195 OSI ISIS for IP and Dual Environments December 1990 D Use of the Authentication Field D.1 Authentication Field in IS-IS packets D.2 Authentication Type 1 - Simple Password E Interaction of the Integrated IS-IS with Brouters E.1 The Problem E.2 Possible Solutions Figures 1 ISO Hierarchical Address Structure 2 An Example 3 Encoding of Variable Length Fields 1 Introduction: Overview of the Protocol The TCP/IP protocol suite has been growing in importance as a multi- vendor communications architecture. With the anticipated emergence of OSI, we expect coexistence of TCP/IP and OSI to continue for an extended period of time. There is a critical need for routers to support both IP traffic and OSI traffic in parallel. There are two main methods that are available for routing protocols to support dual OSI and IP routers. One method, known as "Ships in the Night", makes use of completely independent routing protocols for each of the two protocol suites. This specification presents an alternate approach, which makes use of a single integrated protocol for interior routing (i.e., for calculating routes within a routing domain) for both protocol suites. This integrated protocol design is based on the OSI Intra-domain IS- IS routing protocol [1], with IP-specific functions added. This RFC is considered a companion to the OSI IS-IS Routing spec, and will only describe the required additional features. By supporting both IP and OSI traffic, this integrated protocol design supports traffic to IP hosts, OSI end systems, and dual end systems. This approach is "integrated" in the sense that the IS-IS protocol can be used to support pure-IP environments, pure-OSI environments, and dual environments. In addition, this approach allows interconnection of dual (IP and OSI) routing domains with other dual domains, with IP-only domains, and with OSI-only domains. The protocol specified here is based on the work of the IETF IS-IS working group. 1.1 What the Integrated IS-IS offers The integrated IS-IS provides a single routing protocol which will Callon [Page 3] RFC 1195 OSI ISIS for IP and Dual Environments December 1990 simultaneously provide an efficient routing protocol for TCP/IP, and for OSI. This design makes use of the OSI IS-IS routing protocol, augmented with IP-specific information. This design provides explicit support for IP subnetting, variable subnet masks, TOS-based routing, and external routing. There is provision for authentication information, including the use of passwords or other mechanisms. The precise form of authentication mechanisms (other than passwords) is outside of the scope of this document. Both OSI and IP packets are forwarded "as is" -- i.e., they are transmitted directly over the underlying link layer services without the need for mutual encapsulation. The integrated IS-IS is a dynamic routing protocol, based on the SPF (Dijkstra) routing algorithm. The protocol described in this specification allows for mixing of IP-only, OSI-only, and dual (IP and OSI) routers, as defined below. An IP-only IS-IS router (or "IP-only" router) is defined to be a router which: (i) Uses IS-IS as the routing protocol for IP, as specified in this report; and (ii) Does not otherwise support OSI protocols. For example, such routers would not be able to forward OSI CLNP packets. An OSI-only router is defined to be a router which uses IS-IS as the routing protocol for OSI, as specified in [1]. Generally, OSI-only routers may be expected to conform to OSI standards, and may be implemented independent of this specification. A dual IS-IS router (or "dual" router) is defined to be a router which uses IS-IS as a single integrated routing protocol for both IP and OSI, as specified in this report. This approach does not change the way that IP packets are handled. IP-only and dual routers are required to conform to the requirements of Internet Gateways [4]. The integrated IS-IS protocol described in this report outlines an Interior Gateway Protocol (IGP) which will provide routing within a TCP/IP routing domain (i.e., autonomous system). Other aspects of router functionality (e.g., operation of ICMP, ARP, EGP, etc.) are not affected by this proposal. Similarly, this approach does not change the way that OSI packets are handled. There will be no change at all to the contents nor to the handling of ISO 8473 Data packets and Error Reports, nor to ISO 9542 Redirects and ES Hellos. ISO 9542 IS Hellos transmitted on LANs are similarly unchanged. ISO 9542 IS Hellos transmitted on point-to-point links are unchanged except for the addition of IP-related information. Similarly, other OSI packets (specifically those involved in the IS-IS intra-domain routing protocol) remain unchanged Callon [Page 4] RFC 1195 OSI ISIS for IP and Dual Environments December 1990 except for the addition of IP-related information. This approach makes use of the existing IS-IS packets, with IP- specific fields added. Specifically: (i) authentication information may be added to all IS-IS packets; (ii) the protocols supported by each router, as well as each router's IP addresses, are specified in ISO 9542 IS Hello, IS-IS Hello and Link State Packets; (iii) internally reachable IP addresses are specified in all Link State Packets; and (iv) externally reachable IP addresses, and external routing protocol information, may be specified in level 2 Link State Packets. The detailed encoding and interpretation of this in formation is specified in sections 3, 4, and 5 of this RFC. The protocol described in this report may be used to provide routing in an IP-only routing domain, in which all routers are IP-only. Similarly, this protocol may be used to provide routing in a pure dual domain, in which all routers are dual. Finally, this protocol may be used to provide routing in a mixed domain, in which some routers are IP-only, some routers are OSI-only, and some routers are dual. The specific topological restrictions which apply in this latter case are described in detail in section 1.4 ("Support of Mixed Routing Domains"). The use of IS-IS for support of pure OSI domains is specified in [1]. This protocol specification does not constrain which network management protocol(s) may be used to manage IS-IS-based routers. Management information bases (MIBs) for managing IP-only, OSI-only, and dual routers, compatible with CMIP, CMOT, and/or SNMP, are the subject of a separate, companion document [8]. 1.2 Overview of the ISO IS-IS Protocol The IS-IS Routing Protocol has been developed in ISO to provide routing for pure OSI environments. In particular, IS-IS is designed to work in conjunction with ISO 8473 (The ISO Connectionless Network Layer Protocol [2]), and ISO 9542 (The ISO End System to Intermediate System Protocol [3]). This section briefly describes the manner in which IS-IS is used to support pure OSI environments. Enhancements for support of IP and dual environments are specified elsewhere in this report. In IS-IS, the network is partitioned into "routing domains". The boundaries of routing domains are defined by network management, by setting some links to be "exterior links". If a link is marked as "exterior", no IS-IS routing messages are sent on that link. Currently, ISO does not have a standard for inter-domain routing (i.e., for routing between separate autonomous routing domains). Callon [Page 5] RFC 1195 OSI ISIS for IP and Dual Environments December 1990 Instead, manual configuration is used. The link is statically configured with the set of address prefixes reachable via that link, and with the method by which they can be reached (such as the DTE address to be dialed to reach that address, or the fact that the DTE address should be extracted from the IDP portion of the ISO address). OSI IS-IS routing makes use of two-level hierarchical routing. A routing domain is partitioned into areas. Level 1 routers know the topology in their area, including all routers and end systems in their area. However, level 1 routers do not know the identity of routers or destinations outside of their area. Level 1 routers forward all traffic for destinations outside of their area to a level 2 router in their area. Similarly, level 2 routers know the level 2 topology, and know which addresses are reachable via each level 2 router. However, level 2 routers do not need to know the topology within any level 1 area, except to the extent that a level 2 router may also be a level 1 router within a single area. Only level 2 routers can exchange data packets or routing information directly with external routers located outside of the routing domains. +----------------------+-------------------------------+ | IDP | DSP | +----------------------+-------------------------------+ . . . . . . . . . +-----+----------------+----------+--------------+-----+ | AFI | IDI | HO-DSP | ID | SEL | +-----+----------------+----------+--------------+-----+ Figure 1 - ISO Hierarchical Address Structure As illustrated in figure 1, ISO addresses are subdivided into the Initial Domain Part (IDP), and the Domain Specific Part (DSP). The IDP is the part which is standardized by ISO, and specifies the format and authority responsible for assigning the rest of the address. The DSP is assigned by whatever addressing authority is specified by the IDP. The DSP is further subdivided into a "High Order Part of DSP" (HO-DSP), a system identifier (ID), and an NSAP selector (SEL). The HO-DSP may use any format desired by the authority which is identified by the IDP. Together, the combination of [IDP, HO-DSP] identify both the routing domain and the area within the routing domain. The combination of [IDP,HO-DSP] may therefore be referred to as the "Area Address". Usually, all nodes in an area have the same area address. However, sometimes an area might have multiple addresses. Motivations for Callon [Page 6] RFC 1195 OSI ISIS for IP and Dual Environments December 1990 allowing this are: - It might be desirable to change the address of an area. The most graceful way of changing an area from having address A to having address B is to first allow it to have both addresses A and B, and then after all nodes in the area have been modified to recognize both addresses, then one by one the nodes can be modified to "forget" address A. - It might be desirable to merge areas A and B into one area. The method for accomplishing this is to, one by one, add knowledge of address B into the A partition, and similarly add knowledge of address A into the B partition. - It might be desirable to partition an area C into two areas, A and B (where "A" might equal "C", in which case this example becomes one of removing a portion of an area). This would be accomplished by first introducing knowledge of address A into the appropriate nodes (those destined to become area A), and knowledge of address B into the appropriate nodes, and then one by one removing knowledge of address C. Since OSI addressing explicitly identifies the area, it is very easy for level 1 routers to identify packets going to destinations outside of their area, which need to be