DRAFT - Tools RFC S. Hares and C. Wittbrodt November 10, 1992 Draft - TOOLS RFC November 10, 1992 1. Status This document is an Internet Draft. Internet Drafts are working documents of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute working documents as Internet Drafts. Internet Drafts are draft documents valid for a maximum of six months. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet Drafts as reference material or to cite them other than as a "working draft" or "work in progress." Please check the I-D abstract listing contained in each Internet Draft directory to learn the current status of this or any other Internet Draft. This Internet Draft specifies tools which are necessary to debug problems in the deployment and maintenance of networks using ISO 8473[1], the connectionless network layer protocol (CLNP). This document will be submitted to the RFC editor as a proposed standard for the OSI Internet. To support some of the needed tools (ping and traceroute) this draft specifies the mechanism specified in RFC1139 [2]. RFC 1139 is intended to mirror the work that is currently going on within the ISO community. ISO work is progressing on an ISO echo function, but not completed yet and at this time, there is no estimated date of completion. A revised RFC 1139 reflects the current RFC's work [3]. 2. Abstract This draft specifies the following three necessary tools to debug problems in the deployment and maintenance of networks using ISO 8473 (CLNP): - ping or ISO Echo function - traceroute function which uses the ISO Echo function - routing table dump function Expires May 10, 1993 Page 2 Draft - TOOLS RFC November 10, 1992 3. Table of Contents 1 Status ...................................... 2 2 Abstract .................................... 2 3 Table of Contents ........................... 3 4 Introduction ................................ 3 5 Specification ............................... 4 5.1 Ping ...................................... 4 5.1.1 Protocol Support ........................ 4 5.1.2 Functions supported by the ping utility . 5 5.2 Traceroute ................................ 5 5.2.1 Basic Traceroute ........................ 5 5.2.2 Use of Partial Source route in traceroute 7 5.2.3 Information needed from a Traceroute utility ................................... 7 5.3 OSI routing table dump .................... 8 5.3.1 SNMP .................................... 8 5.3.1.1 RFC XXXX Integrated IS-IS MIB [6] ..... 9 5.3.1.2 RFC XXXX IDRP MIB [7] ................. 9 5.3.2 CMIP agent .............................. 9 5.3.2.1 ISO 10733 (Network Layer Management info) [8] ................................. 9 5.3.2.2 ISO 10589 (IS-IS Management info) [9] ................................. 10 5.3.2.3 ISO 10747 (IDRP Management info) [4] ........................................... 10 6 References .................................. 11 4. Introduction Currently in the Internet, OSI protocols are being used more and more. As the network managers of an Internet once predominantly a TCP/IP network began deploying parts of the emerging OSI Internet, it became apparent that network layer ISO network debugging tools were almost nonexistant. When such tools existed, different implementations didn't work together. As stated in RFC 1139 a simple network layer mechanism is necessary to allow systems to be probed to test network layer integrity. RFC 1139 goes on to describe two different ping capabilities, one a long term solution, and one a short term solution. The problem becoming more and more prevalent in the OSI Internet is that some vendors imple- mented the short term solution and some implemented the long term one. The two solutions do not work together, i.e., a ping from a host with the short term version to one with the long term version will not work, and visa versa. Also, some hosts and routers have not implemented a ping at all. The two solutions provided to simplify the situation, have Expires May 10, 1993 Page 3 Draft - TOOLS RFC November 10, 1992 instead complicated it. The revised version of RFC 1139 specifies only the long term solution. Certain wording in the error handling section have been revised to match the current ISO work. 5. Specification This document's purpose is to specify a standard ping, tra- ceroute, and OSI routing table dumping mechanisms for use for the ISO 8473 (CLNP) protocol in the OSI Internet. A detailed description of the specified mechanisms is below. These mechanism should be available on every router (inter- mediate system) or host (end system) that provides OSI ser- vice for the Internet. These three functions are the basic tool set for the OSI network layer for the Internet. 5.1. Ping 5.1.1. Protocol Support The long term echo mechanism, as described in RFC1139, requires the use of two new type values in the packet header of the ISO 8473 Network Protocol Data Units(NPDUs). The two values are: 1E(hex) - for the Echo Request Selector and, 1F(hex) - for the Echo Reply Selector. Nodes which support ISO8473 but do not support these two new values (for the type code option field in the header of an ISO 8473 (NPDU) will send back an error packet IF the ERROR report flag is set in the NPDU. To support a ping function for ISO 8473, all end systems (hosts) and intermediate systems (routers) must support the "long term" echo function as defined by RFC 1139-Revised AND also set the ERROR report flag in the 8473 header. The setting of the ERROR report flag is required because this allows a way for a compliant host or router to ping a non-compliant host or router. When a non-complaint host or router receives a "ping" NPDU with the new type function (Echo Request Selector), it will send back an ISO 8473 ER NPDU to the originating host, thus showing reachability. Expires May 10, 1993 Page 4 Draft - TOOLS RFC November 10, 1992 5.1.2. Functions supported by the ping utility A ping utility should able to provide the Round trip time of each packet, plus the average minimum and maximum RTT over several ping packets. When an ER NPDU is received by the node, the ping utility should report the error code to the user. 5.2. Traceroute The CLNP trace is similar to the ping utility except that it utilizes the "Lifetime" field in the ISO 8473 NPDU. The "Lifetime" field serves the same function as the Time To Live (TTL) field does in an IP packet. A node (router or host) cannot forward ISO 8473 NPDU with a value for the Lifetime of zero. If the ERROR REPORT flag is set in the ISO 8473 PDU, an ER (error) NPDU will be returned to the originator of the packet. 5.2.1. Basic Traceroute If a ISO 8473 PDU with a type code of Echo-request is sent with "Lifetime" field value of 1, the first hop node (router or end system) will either return an ER NPDU to the originator the NPDU. If the first hop node supports the "Echo-Request" type field the error code will be either: A0 (hex) - Lifetime Expired while Data Unit in Transit A1 (hex) - Lifetime Expired during Re-assembly If the first hop node does not support "Echo-Request" type field, the Error code will be: B0 (hex) - Unsupported Option not Specified. When trying to trace a route to a remote node, the destina- tion address in the Echo-Request PDU sent should be this remote destination. By using increasing values in the "Lifetime" field a route can be traced through the network to the remote node. This traceroute function should be implemented on each system (host or router) to allow a user to trace a network path to a remote host or router. The error message is used as evidence of the reachablity and identity of the first hop. The originator then sends a packet with a "lifetime" field value of 2. The first hop decrements the "Lifetime" and because the "Lifetime" is Expires May 10, 1993 Page 5 Draft - TOOLS RFC November 10, 1992 still greater than 0, it forwards it on. The second hop decrements the "Lifetime" field value and sends an Error PDU (ER NPDU) with one of the two "Lifetime Expired" error codes listed above to the originator. This sequence is repeated until either: - the remote host is reached an either an Echo-Reply PDU is sent back or (for nodes that do not have the required Echo support) an ER PDU is sent back, or - the an ER PDU is received with error code (B0) indicating that a node will not pass the Echo-Reply packet, or - an ER NPDU is received with one of the following errors: 80(hex) - Destination Address Unreachable 81(hex) - Destination Address Unknown. If any of the following Error codes are received in an ER PDU, a second PDU should be sent by the originating node: CodeReason from 8473 ----------------------------- 00(hex) - Reason not specified 01(hex) - Protocol procedure error 02(hex) - Incorrect checksum 03(hex) - PDU Discarded due to Congestion 04(hex) - Header Syntax Error (cannot be parsed) 05(hex) - Segmentation needed but not permitted 06(hex) - Incomplete PDU received 07(hex) - Duplicate Option B1(hex) - Unsupported Protocol Version B2(hex) - Unsupported Security Option B3(hex) - Unsupported Source Routeing Option B4(hex) - Unsupported Recording of Route Option C0(hex) - Reassembly Interface If one of these error is detected, an error value should be returned to the user. More than one Echo NPDU, may be sent at a "Lifetime" value. The number of additional echo NPDUs is left up to the implementation of this traceroute function. If one of the following errors is received, AND "partial source route" is not specified in the Echo-Request NPDU, send a second Echo-Request NPDU to the destination at a "Lifetime" value: Expires May 10, 1993 Page 6 Draft - TOOLS RFC November 10, 1992 Code Reason from 8473 -------------------------------- 90(hex) Unspecified Source Routeing Error 91(hex) Syntax Error in Source Routeing Field 92(hex) Unknown Address in Source Routeing Field 93(hex) Path not Acceptable (The Echo-request NPDU may have been damaged in shipping through the network.) 5.2.2. Use of Partial Source route in traceroute The current IP traceroute has a 3rd party or "loose source route" function. The ISO 8473 protocol also supports a "partial source routeing" function. However, if a node (router or host) does not support the "partial source route- ing" function an ISO 8473 NPDU gets passed along the path "exactly as though the function has not been selected. The PDU shall not be discarded for this reason."[2] A partial source route function in the ISO Traceroute will set in the option fields the "source routeing" option, and the "partial source routeing" parameter within that option. To support a 3rd party or "loose source route" traceroute function, a node will send the Echo-Request NPDU with the "loose source routeing" field set. The functioning of the 3rd party/"loose source route" traceroute is the same except the following error cause the traceroute to be terminated: Code Reason from ISO 8473 -------------------------------------------------- 92 Unknown Address in Source Routeing Field 93 Path not Acceptable These errors may indicate a problem with the "loose source route" listed in the Echo-Request NPDU for this destination. Additional NPDUs with the same lifetime will only repeat this error. These errors should be reported to the user of the traceroute function. 5.2.3. Information needed from a Traceroute utility A traceroute utility should provide the following informa- tion to the user: Expires May 10, 1993 Page 7 Draft - TOOLS RFC November 10, 1992 - NET of systems the pathway goes through, - ping times (in Round trip times) for each hop in the path, - error codes from ER PDU received as a response to the an Echo-Request packet, and - any other error conditions encountered by traceroute. 5.3. OSI routing table dump Each OSI host (end system) or router (intermediate system) needs to be able to dump any of its routing tables. Routing tables may come from the: a.) the ES-IS information b.) static c.) IS-IS d.) IDRP or any other source. Each system must be able to dump the routing table entries via some out of band mechinism. A method must exist to pro- vide these. It is suggested that a show osi routes command be created with the following options: - a for all routes - esis for es-is routes - isis for is-is routes - idrp for idrp routes - static for static routes - other for routes from other sources. In addition, it is optional but highly recommended that the routing tables be available via of the following network protocols: 5.3.1. SNMP Expires May 10, 1993 Page 8 Draft - TOOLS RFC November 10, 1992 Internet MIBs RFC 1238 CLNS MIB [5] NET of this router ES adjacencies, ES Connection Timer, ES hold timer IS Adjacencies 5.3.1.1. RFC XXXX Integrated IS-IS MIB [6] IS Reachability information IS L1 Adjacencies IS L2 ADjacencies 5.3.1.2. RFC XXXX IDRP MIB [7] per BIS router: InternalBIS, IntraIS, ExternalBISNeighbor, Internal Systems, LocalRDI, RDC-Config, Local-SNPA, MultiExit, RouteServer holdTime, CloseWaitDelay Local RIB Local FIB per BIS neighbor: BIS NET BIS RDI BIS RDC Adj-RIB information 5.3.2. CMIP agent 5.3.2.1. ISO 10733 (Network Layer Management info) [8] Expires May 10, 1993 Page 9 Draft - TOOLS RFC November 10, 1992 Network Entity Managed Object networkEntityTitles linkage-ISO9542ES-P HoldingTimerMultipler manualISSNPAAddress defaultESConfigTimer activeESConfigTimer isReachabilityChanges linkage-ISO9542IS-P holdingTimerMultiplier isConfigurationTimer suggestedESConfigurationTimer redirectHoldingTimer eSReachabilityChanges 5.3.2.2. ISO 10589 (IS-IS Management info) [9] IS Reachability information IS L1 Adjacencies IS L2 ADjacencies 5.3.2.3. ISO 10747 (IDRP Management info) [4] per BIS router: InternalBIS, IntraIS, ExternalBISNeighbor, Internal Systems, LocalRDI, RDC-Config, Local-SNPA, MultiExit, RouteServer holdTime, CloseWaitDelay Local FIB Local RIB per BIS neighbor: BIS NET BIS RDI BIS RDC Adj-RIB information Expires May 10, 1993 Page 10 Draft - TOOLS RFC November 10, 1992 6. References [1] ISO/IEC 8473, Information Processing Systems, "Protocol for Providing the Connectionless-mode Network Service and Provision of Underlying Service". May, 1987. [2] R. Hagens, "An Echo Function for ISO 8473", Request For Comment #1139, January 1990. DDN Network Information Center, SRI International. [3] R. Hagens and C.Wittbrodt, "An Echo Function for ISO 8473", Request For Comment #1139-Revised, October 1992. DDN Network Information Center, SRI International. [4] ISO/IEC DIS 10747 Information Processing Sys- tems - Telecommunications and Information Exchange between Systems - Protocol for Exchange of Inter-domain Routeing Information among Intermediate Systems to Support Forwarding of ISO 8473 PDUs. [5] RFC 1238 CLNS MIB (Greg Satz) - for use with Connec- tionless Network Protocol (ISO 8473) and End system to Intermediate System Protocol (ISO 9452) [6] RFC xxx Integrated IS-IS MIB - (Chris Gunner) [7] RFC xxxx IDRP MIB (Hares) [8] ISO/IEC 10733 - Information Technology - Telecommuni- cations and Information Exchange between Systems - Elements of Management Information Relating to OSI Network Layer Standards [9] ISO/IEC 10589 - Information Processing Sys- tems - Telecommunications and Information Exchange between Systems - Protocol for Exchange of Intra-Domain Routeing Information among Intermediate Systems. Expires May 10, 1993 Page 11