Rfc | 1142 |
---|---|
Title | OSI IS-IS Intra-domain Routing Protocol |
Author | D. Oran, Ed. |
Date | February 1990 |
Format: | TXT, PS, PDF, HTML |
Obsoleted by | RFC7142 |
Status: | HISTORIC |
Network Working Group D. Oran, Editor Request for Comments: 1142 Digital Equipment Corp. February 1990
OSI IS-IS Intra-domain Routing Protocol Status of this Memo
This RFC is a republication of ISO DP 10589 as a service to the Internet community. This is not an Internet standard. Distribution of this memo is unlimited.
NOTE: This is a bad ASCII version of this document. The official document is the PostScript file, which has the diagrams in place. Please use the PostScript version of this memo.
ISO/IEC DIS 10589 Information technology Telecommunications and information exchange between systems Interme diate system to Intermediate system Intra-Domain routeing exchange protocol for use in Conjunction with the Protocol for providing the Connectionless- mode Network Service (ISO 8473) Technologies de l'information Communication de donnies et ichange d'information entre systhmes Protocole intra-domain de routage d'un systhme intermediare ` un systhme intermediare ` utiliser conjointement avec le protocole fournissant le service de riseau en mode sans connexion (ISO 8473) UDC 00000.000 : 000.0000000000 Descriptors: Contents Introduction iv 1 Scope and Field of Application 1 2 References 1 3 Definitions 2 4 Symbols and Abbreviations 3 5 Typographical Conventions 4 6 Overview of the Protocol 4 7 Subnetwork Independent Functions 9 8 Subnetwork Dependent Functions 35 9 Structure and Encoding of PDUs 47 10 System Environment 65 11 System Management 67 12 Conformance 95 Annex A PICS Proforma 99 Annex B Supporting Technical Material 105 Annex C Implementation Guidelines and Examples 109 Annex D Congestion Control and Avoidance 115 Introduction
This Protocol is one of a set of International Standards produced to facilitate the interconnection of open systems. The set of standards covers the services and protocols re quired to achieve such interconnection. This Protocol is positioned with respect to other related standards by the layers defined in the ISO 7498 and by the structure defined in the ISO 8648. In particular, it is a protocol of the Network Layer. This protocol permits Intermediate Systems within a routeing Domain to exchange configuration and routeing information to facilitate the operation of the route ing and relaying functions of the Network Layer. The protocol is designed to operate in close conjunction with ISO 9542 and ISO 8473. ISO 9542 is used to establish connectivity and reachability between End Systems and Inter mediate Systems on individual Subnetworks. Data is carried by ISO 8473. The related algo rithms for route calculation and maintenance are also described. The intra-domain ISIS routeing protocol is intended to support large routeing domains consisting of combinations of many types of subnetworks. This includes point-to-point links, multipoint links, X.25 subnetworks, and broadcast subnetworks such as ISO 8802 LANs. In order to support large routeing domains, provision is made for Intra-domain routeing to be organised hierarchically. A large domain may be administratively divided into areas. Each system resides in exactly one area. Routeing within an area is referred to as Level 1 routeing. Routeing between areas is referred to as Level 2 routeing. Level 2 Intermediate systems keep track of the paths to destination areas. Level 1 Intermediate systems keep track of the routeing within their own area. For an NPDU destined to another area, a Level 1 Intermediate system sends the NPDU to the nearest level 2 IS in its own area, re gardless of what the destination area is. Then the NPDU travels via level 2 routeing to the destination area, where it again travels via level 1 routeing to the destination End System. Information technology
Telecommunications and information exchange between systems Intermediate system to Intermediate system Intra-Domain routeing exchange protocol for use in Conjunction with the Protocol for providing the Connectionless-mode Network Service (ISO 8473) 1 Scope and Field of Application
This International Standard specifies a protocol which is used by Network Layer entities operating ISO 8473 in In termediate Systems to maintain routeing information for the purpose of routeing within a single routeing domain. The protocol herein described relies upon the provision of a connectionless-mode underlying service.11See ISO 8473 and its Addendum 3 for the mechanisms necessary to realise this service on subnetworks based on ISO 8208, ISO 8802, and the OSI Data Link Service. This Standard specifies:
a)procedures for the transmission of configuration and routeing information between network entities resid ing in Intermediate Systems within a single routeing domain;
b)the encoding of the protocol data units used for the transmission of the configuration and routeing infor mation;
c)procedures for the correct interpretation of protocol control information; and
d)the functional requirements for implementations claiming conformance to this Standard.
The procedures are defined in terms of:
a)the interactions between Intermediate system Network entities through the exchange of protocol data units; and
b)the interactions between a Network entity and an un derlying service provider through the exchange of subnetwork service primitives.
c)the constraints on route determination which must be observed by each Intermediate system when each has a routeing information base which is consistent with the others. 2 References
2.1 Normative References
The following standards contain provisions which, through reference in this text, constitute provisions of this Interna tional Standard. At the time of publication, the editions in dicated were valid. All standards are subject to revision, and parties to agreements based on this International Stan dard are encouraged to investigate the possibility of apply ing the most recent editions of the standards listed below. Members of IEC and ISO maintain registers of currently valid International Standards. ISO 7498:1984, Information processing systems Open Systems Interconnection Basic Reference Model. ISO 7498/Add.1:1984, Information processing systems Open Systems Interconnection Basic Reference Model Addendum 1: Connectionless-mode Transmission. ISO 7498-3:1989, Information processing systems Open Systems Interconnection Basic Reference Model Part 3: Naming and Addressing. ISO 7498-4:1989, Information processing systems Open Systems Interconnection Basic Reference Model Part 4: Management Framework. ISO 8348:1987, Information processing systems Data communications Network Service Definition. ISO 8348/Add.1:1987, Information processing systems Data communications Network Service Definition Addendum 1: Connectionless-mode transmission. ISO 8348/Add.2:1988, Information processing systems Data communications Network Service Definition Addendum 2: Network layer addressing. ISO 8473:1988, Information processing systems Data communications Protocol for providing the connectionless-mode network service. ISO 8473/Add.3:1989, Information processing systems Telecommunications and information exchange between systems Protocol for providing the connectionless- mode network service Addendum 3: Provision of the underlying service assumed by ISO 8473 over subnetworks which provide the OSI data link service. ISO 8648:1988, Information processing systems Open Systems Interconnection Internal organisation of the Network Layer. ISO 9542:1988, Information processing systems Tele communications and information exchange between sys tems End system to Intermediate system Routeing ex change protocol for use in conjunction with the protocol for providing the connectionless -mode network service (ISO 8473). ISO 8208:1984, Information processing systems Data communications X.25 packet level protocol for Data terminal equipment ISO 8802:1988, Information processing systems Tele communications and information exchange between sys tems Local area networks. ISO/TR 9575:1989, Information technology Telecom munications and information exchange between systems OSI Routeing Framework. ISO/TR 9577:1990, Information technology Telecom munications and information exchange between systems Protocol Identification in the Network Layer. ISO/IEC DIS 10165-4:, Information technology Open systems interconnection Management Information Serv ices Structure of Management Information Part 4: Guidelines for the Definition of Managed Objects. ISO/IEC 10039:1990, IPS-T&IEBS MAC Service Defini tion.
2.2 Other References
The following references are helpful in describing some of the routeing algorithms:
McQuillan, J. et. al., The New Routeing Algorithm for the ARPANET, IEEE Transactions on Communications, May 1980.
Perlman, Radia, Fault-Tolerant Broadcast of Routeing In formation, Computer Networks, Dec. 1983. Also in IEEE INFOCOM 83, April 1983.
Aho, Hopcroft, and Ullman, Data Structures and Algo rithms, P204208 Dijkstra algorithm. 3 Definitions
3.1 Reference Model definitions
This International Standard makes use of the following terms defined in ISO 7498:
a)Network Layer b)Network Service access point c)Network Service access point address d)Network entity e)Routeing f)Network protocol g)Network relay h)Network protocol data unit
3.2 Network Layer architecture definitions
This International Standard makes use of the following terms defined in ISO 8648:
a)Subnetwork b)End system c)Intermediate system d)Subnetwork service e)Subnetwork Access Protocol f)Subnetwork Dependent Convergence Protocol g)Subnetwork Independent Convergence Protocol
3.3 Network Layer addressing definitions
This International Standard makes use of the following terms defined in ISO 8348/Add.2:
a)Subnetwork address b)Subnetwork point of attachment c)Network Entity Title 3.4 Local Area Network Definitions This International Standard makes use of the following terms defined in ISO 8802: a)Multi-destination address b)Media access control c)Broadcast medium 3.5 Routeing Framework Definitions This document makes use of the following terms defined in ISO/TR 9575: a)Administrative Domain b)Routeing Domain c)Hop d)Black hole 3.6 Additional Definitions For the purposes of this International Standard, the follow ing definitions apply: 3.6.1 Area: A routeing subdomain which maintains de tailed routeing information about its own internal composition, and also maintains routeing informa tion which allows it to reach other routeing subdo mains. It corresponds to the Level 1 subdomain. 3.6.2 Neighbour: An adjacent system reachable by tra versal of a single subnetwork by a PDU. 3.6.3 Adjacency: A portion of the local routeing infor mation which pertains to the reachability of a sin gle neighbour ES or IS over a single circuit. Adjacencies are used as input to the Decision Proc ess for forming paths through the routeing domain. A separate adjacency is created for each neighbour on a circuit, and for each level of routeing (i.e. level 1 and level 2) on a broadcast circuit. 3.6.4 Circuit: The subset of the local routeing informa tion base pertinent to a single local SNPA. 3.6.5 Link: The communication path between two neighbours. A Link is up when communication is possible between the two SNPAs. 3.6.6 Designated IS: The Intermediate system on a LAN which is designated to perform additional du ties. In particular it generates Link State PDUs on behalf of the LAN, treating the LAN as a pseudonode. 3.6.7 Pseudonode: Where a broadcast subnetwork has n connected Intermediate systems, the broadcast subnetwork itself is considered to be a pseudonode. The pseudonode has links to each of the n Interme diate systems and each of the ISs has a single link to the pseudonode (rather than n-1 links to each of the other Intermediate systems). Link State PDUs are generated on behalf of the pseudonode by the Designated IS. This is depicted below in figure 1. 3.6.8 Broadcast subnetwork: A subnetwork which sup ports an arbitrary number of End systems and In termediate systems and additionally is capable of transmitting a single SNPDU to a subset of these systems in response to a single SN_UNITDATA request. 3.6.9 General topology subnetwork: A subnetwork which supports an arbitrary number of End sys tems and Intermediate systems, but does not sup port a convenient multi-destination connectionless trans
Splits, then remove excess adja cencies, as described in 7.2.7. 3)If x < dist(P,N), do nothing. 4)If x > dist(P,N), remove aN,x,{Adj(N)}q from TENT and add aN,dist(P,N),{Adj(P)}q. e)If no triple aN, x,{Adj(N)}q is in TENT, then add aN, dist(P,N),{P}q to TENT. Step 2: If TENT is empty, stop, else: a)Find the element aP,x,{Adj(P)}q, with minimal x as follows: 1)If an element a*,tentlength,*q remains in TENT in the list for tentlength, choose that element. If there are more than one elements in the list for tentlength, choose one of the elements (if any) for a system which is a pseudonode in preference to one for a non-pseudonode. If there are no more elements in the list for tentlength increment ten tlength and repeat Step 2. 2)Remove aP,tentlength,{Adj(P)}q from TENT. 3)Add aP,d(P),{Adj(P)}q to PATHS. 4)If this is the Level 2 Decision Process running, and the system just added to PATHS listed itself as Partition Designated Level 2 Intermediate system, then additionally add aAREA.P, d(P), {adj(P)}q to PATHS, where AREA.P is the Network Entity Title of the other end of the Virtual Link, obtained by taking the first AREA listed in P's Level 2 LSP and appending P's ID. 5)If the system just added to PATHS was an End system, go to Step 2, Else go to Step 1. NOTE - In the Level 2 context, the End systems are the set of Reachable Address Prefixes and the set of area ad dresses with zero cost. C.3 Forwarding Process C.3.1 Example pseudo-code for the forwarding procedure described in 7.4.3 This procedure chooses, from the Level 1 forwarding data base if level is level1, or from the Level 2 forwarding database if level is level2, an adjacency on which to for ward PDUs for destination dest. A pointer to the adjacency is returned in adj, and the procedure returns the value True. If no suitable adjacency exists the procedure returns the value False, in which case a call should be made to Drop(Destination Address Unreachable, octetNumber). If queue length values are available to the forwarding proc ess, the minimal queue length of all candidate circuits is chosen, otherwise, they are used in round robin fashion. PROCEDURE Forward( level: (level1, level2), dest: NetworkLayerAddress, VAR adj: POINTER TO adjacency) : BOOLEAN VAR adjArray: ARRAY OF ForwardingDatabaseRecords; temp, index, minQueue: CARDINAL; BEGIN (*Set adjArray to appropriate database} *) IF level = level1 THEN adjArray := level1ForwardingDatabase ELSE adjArray := level2ForwardingDatabase END; (*Perform appropriate hashing function to obtain an index into the database *) IF Hash(level, dest, index) THEN IF adjArray[index].splits > 0 THEN (*Find minimum queue size for all equal cost paths *) minQueue := MaxUnsigned; temp := adjArray[index].lastChosen + 1; (*start off after last time *) FOR i := 1 TO adjArray[index].splits DO (*for all equal cost paths to dest *) IF temp > adjArray[index].splits THEN (*after end of valid entries, wrap to first *) temp := 1 ELSE temp := temp + 1 END; IF QueueSize(adjArray[index].nextHop[temp]) < minQueue THEN minQueue := QueueSize(adjArray[index].nextHop[tem p]); adj := adjArray[index].nextHop[temp]; adjArray[index].lastChosen := temp; END; Forward := true END; ELSE Forward := false (*There must be at least one valid output adjacency *) END ELSE Forward := false (*Hash returned destination unknown *) END END forward; Annex D Congestion Control and Avoidance (This annex is informative) D.1 Congestion Control The transmit management subroutine handles congestion control. Transmit management consists of the following components: Square root limiter. Reduces buffer occupancy time per PDU by using a square root limiter algo rithm. The square root limiter also queues PDUs for an output circuit, and prevents buffer deadlock by discarding PDUs when the buffer pool is exhausted. Clause D.1.1 specifies the Square Root Limiter Process. Originating PDU limiter. Limits originating NPDU traffic when necessary to ensure that transit NPDUs are not rejected. An originating NPDU is an NPDU resulting from an NSDU from the Transport at this ES. A transit NPDU is an NPDU from another sys tem to be relayed to another destination ES. Flusher. Flushes PDUs queued for an adjacency that has gone down. Information for higher layer (Transport) congestion control procedures is provided by the setting of the congestion ex perienced bit in the forwarded data NPDUs. D.1.1 Square Root Limiter The square root limiter discards a data NPDU by calling the ISO 8473 discard PDU function with the reason PDU Discarded due to Congestion when the number of data NPDUs on the circuit output queue exceeds the discard threshold, Ud. Ud is given as follows:= where: Nb = Number of Routeing Layer buffers (maximumBuffers) for all output circuits. Nc = Number of active output circuits (i.e. Circuits in state On). The output queue is a queue of buffers containing data NPDUs which have been output to that circuit by the for warding process, and which have not yet been transmitted by the circuit. It does not include NPDUs which are held by the data link layer for the purpose of retransmission. Where a data NPDU is to be fragmented by this Intermedi ate system over this circuit, each fragment shall occupy a separate buffer and shall be counted as such in the queue length. If the addition of all the buffers required for the fragmentation of a single input data NPDU would cause the discard threshold for that queue to be exceeded, it is recom mended that all those fragments (including those which could be added without causing the threshold to be ex ceeded) be discarded. D.1.2 Originating PDU Limiter TEMPORARY NOTE - Strictly this function is an End Sys tem function. However it is closely coupled to the routeing function, particularly in the case of real systems which are performing the functions of both an Intermediate System and an End System (i.e. systems which can both initiate and terminate data NPDUs and perform relaying functions). Therefore, until a more appropriate location for this infor mation can be determined, this function is described here. The originating PDU limiter first distinguishes between originating NPDUs and transit NPDUs. It then imposes a limit on the number of buffers that originating NPDUs can occupy on a per circuit basis. In times of heavy load, origi nating NPDUs may be rejected while transit NPDUs con tinue to be routed. This is done because originating NPDUs have a relatively short wait, whereas transit NPDUs, if re jected, have a long wait a transport retransmission period. The originating PDU limiter accepts as input: -An NSDU received from Transport Layer -A transmit complete signal from the circuit for an ISO 8473 Data PDU. The originating PDU limiter produces the following as out put: -PDU accepted -PDU rejected -Modifications to originating PDU counter There is a counter, N, and an originating PDU limit, originatingQueueLimit, for each active output circuit. Each N is initialised to 0. The originatingQueueLimit is set by management to the number of buffers necessary to prevent the circuit from idling. D.1.3 Flusher The flusher ensures that no NPDU is queued on a circuit whose state is not ON, or on a non-existent adjacency, or one whose state is not Up. D.2 Congestion Avoidance D.2.1 Buffer Management The Forwarding Process supplies and manages the buffers necessary for relaying. PDUs shall be discarded if buffer thresholds are exceeded. If the average queue length on the input circuit or the forwarding processor or the output cir cuit exceeds QueueThreshold, the congestion experi enced bit shall be set in the QoS maintenance option of the forwarded data PDU (provided the QoS maintenance option is present).
Security Considerations
Security issues are not discussed in this memo.
Author's Address
David R. Oran Digital Equipment Corporation LKG 1-2/a 19 550 King Street Littleton, MA 01460
Email: Oran@Oran.enet.dec.com
Phone: (508) 4866-7377