home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1575.txt < prev    next >
Text File  |  1996-05-07  |  23KB  |  231 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                           S. Hares Request for Comments: 1575                                  Merit/NSFNET Obsoletes: 1139                                             C. Wittbrodt Category: Standards Track                    Stanford University/BARRNet                                                            February 1994 
  8.  
  9.                    An Echo Function for CLNP (ISO 8473) 
  10.  
  11. Status of this Memo 
  12.  
  13.    This document specifies an Internet standards track protocol for the    Internet community, and requests discussion and suggestions for    improvements.  Please refer to the current edition of the "Internet    Official Protocol Standards" (STD 1) for the standardization state    and status of this protocol.  Distribution of this memo is unlimited. 
  14.  
  15. Abstract 
  16.  
  17.    This memo defines an echo function for the connection-less network    layer protocol.  The mechanism that is mandated here is in the final    process of being standardized by ISO as "Amendment X: Addition of an    Echo function to ISO 8473" an integral part of Version 2 of ISO 8473. 
  18.  
  19. Table of Contents 
  20.  
  21.    Section 1. Conventions .................................    2    Section 2. Introduction ................................    2    Section 3. The Generic Echo Function ...................    3    Section 3.1 The Echo-Request ...........................    3    Section 3.2 The Echo-Response ..........................    3    Section 4. The Implementation Mechanism ................    4    Section 4.1 The Echo-Request ...........................    4    Section 4.2 The Echo-Response ..........................    4    Section 5. Implementation Notes ........................    4    Section 5.1 Discarding Packets .........................    4    Section 5.2 Error Report Flag ..........................    4    Section 5.3 Use of the Lifetime Field ..................    5    Section 5.4 Echo-request function ......................    5    Section 5.5 Echo-response function .....................    6    Section 5.6 Use of the Priority Option .................    8    Section 5.7 Use of the Source Route Option .............    8    Section 5.8 Transmission of Multiple Echo-Requests .....    9    Section 6. Security Considerations .....................    9    Section 7. Authors' Addresses ..........................    9    Section 8. References ..................................    9 
  22.  
  23.  
  24.  
  25.  
  26.  
  27. Hares & Wittbrodt                                               [Page 1] 
  28.  RFC 1575          An Echo Function for CLNP (ISO 8473)     February 1994 
  29.  
  30.  1.  Conventions 
  31.  
  32.    The following language conventions are used in the items of    specification in this document: 
  33.  
  34.       o MUST, SHALL, or MANDATORY -- the item is an absolute         requirement of the specification. 
  35.  
  36.       o SHOULD or RECOMMENDED -- the item should generally be followed         for all but exceptional circumstances. 
  37.  
  38.       o MAY or OPTIONAL -- the item is truly optional and may be         followed or ignored according to the needs of the implementor. 
  39.  
  40. 2.  Introduction 
  41.  
  42.    The OSI Connection-less network layer protocol (ISO 8473) defines a    means for transmitting and relaying data and error protocol data    units, (PDUs) or preferably, packets through an OSI internet.    Unfortunately, the world that these packets travel through is    imperfect.  Gateways and links may fail.  This memo defines an echo    function to be used in the debugging and testing of the OSI network    layer.  Hosts and routers which support the OSI network layer MUST be    able to originate an echo packet as well as respond when an echo is    received. 
  43.  
  44.    Network management protocols can be used to determine the state of a    gateway or link.  However, since these protocols themselves utilize a    protocol that may experience packet loss, it cannot be guaranteed    that the network management applications can be utilized.  A simple    mechanism in the network layer is required so that systems can be    probed to determine if the lowest levels of the networking software    are operating correctly.  This mechanism is not intended to compete    with or replace network management; rather it should be viewed as an    addition to the facilities offered by network management. 
  45.  
  46.    The code-path consideration requires that the echo path through a    system be identical (or very close) to the path used by normal data.    An echo path must succeed and fail in unison with the normal data    path or else it will not provide a useful diagnostic tool. 
  47.  
  48.    Previous drafts describing an echo function for CLNP offered two    implementation alternatives (see RFC 1139).  Although backward    compatibility is an important consideration whenever a change is made    to a protocol, it is more important at this point that the echo    mechanisms used on the Internet interoperate.  For this reason, this    memo defines one implementation mechanism (consistent with one of the    previous drafts). 
  49.  
  50.  
  51.  
  52. Hares & Wittbrodt                                               [Page 2] 
  53.  RFC 1575          An Echo Function for CLNP (ISO 8473)     February 1994 
  54.  
  55.  3.  The Generic Echo Function 
  56.  
  57.    The following section describes the echo function in a generic    fashion.  This memo defines an echo-request entity.  The function of    the echo-request entity is to accept an incoming echo-request packet,    perform some processing, and generate an echo-response packet.  The    echo implementation may be thought of as an entity that coexists with    the network layer.  Subsequent sections will detail the    implementation mechanism. 
  58.  
  59.    For the purposes of this memo, the term "ping" shall be used to mean    the act of transmitting an echo-request packet to a remote system    (with the expectation that an echo-response packet will be sent back    to the transmitter). 
  60.  
  61. 3.1.  The Echo-Request 
  62.  
  63.    When a system decides to ping a remote system, an echo-request is    built.  All fields of the packet header are assigned normal values    (see implementation specific sections for more information).  The    address of the system to be pinged is inserted as the destination    NSAP address.  The rules of segmentation defined for a data (DT)    packet also apply to the echo-request packet. 
  64.  
  65.    The echo-request is switched through the network toward its    destination.  (An echo packet must follow the same path as CLNP data    packet with the same options in the CLNP header.)  Upon reaching the    destination system, the packet is processed according to normal    processing rules.  At the end of the input processing, the echo-    request packet is delivered to the echo-request entity. 
  66.  
  67.    The echo-request entity will build and dispatch the echo-response    packet.  This is a new packet.  Except as noted below, this second    packet is built using the normal construction procedures.  The    destination address of the echo-response packet is taken from the    source address of the echo-request packet.  Most options present in    the echo-request packet are copied into the echo-response packet (see    implementation notes for more information). 
  68.  
  69. 3.2.  The Echo-Response 
  70.  
  71.    The entire echo-request packet is included in the data portion of the    echo-response packet.  This includes the echo-request packet header    as well as any data that accompanies the echo-request packet.  The    entire echo-request packet is included in the echo-response so that    fields such as the echo-request lifetime may be examined when the    response is received.  After the echo-response packet is built, it is    transmitted toward the new destination (the original source of the 
  72.  
  73.  
  74.  
  75. Hares & Wittbrodt                                               [Page 3] 
  76.  RFC 1575          An Echo Function for CLNP (ISO 8473)     February 1994 
  77.  
  78.     echo-request).  The rules of segmentation defined for a data packet    also apply to the echo-response packet. 
  79.  
  80.    The echo-response packet is relayed through the network toward its    destination. (A echo response packet must follow the same path as a    CLNP data packet with the same options in the CLNP header.)  Upon    reaching its destination, it is processed by the packet input    function and delivered to the entity that created the echo-request. 
  81.  
  82. 4.  The Implementation Mechanism 
  83.  
  84.    The implementation mechanism defines two new 8473 packet types: ERQ    (echo-request) and ERP (echo-response).  With the exception of a new    type code, these packets will be identical to the date packet in    every respect. 
  85.  
  86. 4.1.  The Echo-Request 
  87.  
  88.    The type code for the echo-request packet is decimal 30. 
  89.  
  90. 4.2.  The Echo-Response 
  91.  
  92.    The type code for the echo-response packet is decimal 31. 
  93.  
  94. 5.  Implementation Notes 
  95.  
  96.    The following notes are an integral part of memo.  It is important    that implementors take heed of these points. 
  97.  
  98. 5.1.  Discarding Packets 
  99.  
  100.    The rules used for discarding a data packet (ISO 8473, Section 6.9 -    Section 6.10) are applied when an echo-request or echo-response is    discarded. 
  101.  
  102. 5.2.  Error Report Flag 
  103.  
  104.    The error report flag may be set on the echo-request packet, the    echo-response packet, or both.  If an echo-request is discarded, the    associated error-report (ER) packet will be sent to the echo-request    source address on the originating machine.  If an echo-response is    discarded, the associated error-report packet will be sent to the    echo-response source address.  In general, this will be the    destination address of the echo-request entity.  It should be noted    that the echo-request entity and the originator of the echo-request    packet are not required to process error-report packets. 
  105.  
  106.  
  107.  
  108.  
  109.  
  110. Hares & Wittbrodt                                               [Page 4] 
  111.  RFC 1575          An Echo Function for CLNP (ISO 8473)     February 1994 
  112.  
  113.  5.3.  Use of the Lifetime Field 
  114.  
  115.    The lifetime field of the echo-request and echo-response packets    should be set to the value normally used for a data packet.  Note:    although this memo does not prohibit the generation of a packet with    a smaller-than-normal lifetime field, this memo explicitly does not    attempt to define a mechanism for varying the lifetime field set in    the echo-response packet.  This memo recommends the lifetime value    that would under normal circumstances by used when sending a data    packet. 
  116.  
  117. 5.4.  Echo-request function 
  118.  
  119.    This function is invoked by system management to obtain information    about the dynamic state of the Network layer with respect to (a) the    reachability of specific network-entities, and (b) the    characteristics of the path or paths that can be created between    network-entities through the operation of Network layer routing    functions.  When invoked, the echo-request function causes an echo-    request (ERQ) packet to be created.  The echo-request packet shall be    constructed and processed by ISO 8473 network-entities in end systems    and intermediate systems in exactly the same way as the data packet,    with the following caveats: 
  120.  
  121.       a) The information available to the packet composition function       (ISO 8473) consists of current state, local information, and       information supplied by system management. 
  122.  
  123.       b) The source and destination address fields of the echo-request       packet shall contain, respectively, a Network entity title (NET)       of the originating network-entity and a Network entity title of       the destination network-entity (which may be in either an end       system or an intermediate system).  NOTE: A Network entity title       is syntactically indistinguishable from an NSAP address.  The       additional information in an NSAP address, if any, beyond that       which is present in a Network entity title, is relevant only to       the operation of the packet decomposition function in a       destination end system, and therefore is not needed for the       processing of an echo-request packet (from which no N-UNITDATA       indication is ever produced).  The fact that the source and       destination address fields of the echo-request packet contain NETs       rather than NSAP addresses therefore does not affect the       processing of an echo-request packet by any network-entity. 
  124.  
  125.       c) When an echo-request packet has reached its destination, as       determined by the Header processing (call HEADER FORMAT Analysis       function in ISO 8473), the echo-response function shall handle       this Network Protocol Data Units (NPDU) instead of the packet 
  126.  
  127.  
  128.  
  129. Hares & Wittbrodt                                               [Page 5] 
  130.  RFC 1575          An Echo Function for CLNP (ISO 8473)     February 1994 
  131.  
  132.        decomposition function.  In ISO 8473, the packet decomposition       function is like a decomposing fish on the sea shore - it takes a       packet down to its bare bones and processes it. 
  133.  
  134.       Also, it is up to each individual system whether or not handling       echo-request packets involves system management.  One example of       involving system management is the reporting reception of the echo       packets as some systems do with the ping packet.  Some systems       find this of value if they are being pinged to death. 
  135.  
  136.       d) The maximum length of the echo-request packet is equal to the       maximum length of the echo-response packet minus the maximum       length of the echo-response packet header.  This ensures that the       entire echo-request packet can be contained within the data field       of the echo-response packet (see ISO 8473). 
  137.  
  138.       e) The data part of the echo-request packet may, as a local       matter, contain zero or more octets with any values that fit       within the echo-request packet. (see (d) above for maximum length       of the echo-request packet). If the first octet of data is binary       1000 0001, then an echo-response header is contained in the echo-       request packet.  The existence of this header insures that a       router can formulate a standard echo-response packet. 
  139.  
  140.    Normally, the "more segmentation" flag in the encapsulated echo-    response packet header shall be zero, and the segmentation portion of    the encapsulated packet shall not be included.  The segmentation    length in the echo-response packet header shall be zero. 
  141.  
  142.    If the "more segmentation" flag is set in the encapsulated echo-    response packet header, then a segmentation length shall be filled in    and the segmentation part of the echo-response packet header will be    present in the echo-response header.  This same segmentation function    shall be present in the echo-response sent by the router. 
  143.  
  144.    NOTE: However, this formulated echo-response is not required between    any two systems.  With a common format for an echo-request packet    used in an environment such as the Internet, the echo-response header    may not be needed, and may in fact be unnecessary overhead. 
  145.  
  146. 5.5.  Echo-response function 
  147.  
  148.    This function is performed by a network-entity when it has received    an echo-request packet that has reached its destination, as    determined by the Header format analysis function (ISO 8473 clause    6.3) that is, an echo-request packet which contains, in its    destination address field, a Network entity title that identifies the    network-entity.  When invoked, the echo-response function causes an 
  149.  
  150.  
  151.  
  152. Hares & Wittbrodt                                               [Page 6] 
  153.  RFC 1575          An Echo Function for CLNP (ISO 8473)     February 1994 
  154.  
  155.     echo-response (ERP) packet to be created.  The echo-response packet    shall be constructed and processed by ISO 8473 network-entities in    end systems and intermediate systems in exactly the same way as the    data packet, with the following caveats: 
  156.  
  157.       a) The information available to the packet composition function       consists of current state, local information, and information       contained in the corresponding echo-request packet. 
  158.  
  159.       b) The source address field of the echo-response packet shall       contain the value of the destination address field of the       corresponding echo-request packet.  The destination address field       of the echo-response packet shall contain the value of the source       address field of the corresponding echo-request packet. 
  160.  
  161.       c) The echo-request packet, in its entirety, shall be placed into       the data part of the echo-response packet.  The data part of the       echo-response packet shall contain only the corresponding echo-       request packet. 
  162.  
  163.       d) If the data part of the echo-request packet contains an echo-       response header, the packet composition function may, but is not       required to, use some or all of the information contained therein       to select values for the fields of the echo-response packet       header.  In this case, however, the value of the lifetime field       contained in the echo-response packet header in the echo-request       packet data part must be used as the value of the lifetime field       in the echo-response packet.  The values of the segment length and       checksum fields shall be computed by the network-entity regardless       of the contents of those fields in the echo-response packet header       in the data part of the echo-request packet. 
  164.  
  165.       e) The options part of the echo-response packet may contain any       (or none) of the options described in ISO 8473 (but see Section       5.7 of this RFC).  The values for these options, if present, are       determined by the network-entity as a local matter.  They may be,       but are not required to be, either identical to or derived from       the corresponding options in the echo-request packet and/or the       echo-response packet header contained in the data part of the       echo-request packet (if present).  The source routing option in       the echo-response packet shall not be identical to (copied from)       the source routing option in the echo-request packet header.  If       the recording of route option in the echo-response packet is       identical to (copied from) the recording of route option in the       echo-request packet header, the second octet of the parameter       value field shall be set to the value 3. 
  166.  
  167.  
  168.  
  169.  
  170.  
  171. Hares & Wittbrodt                                               [Page 7] 
  172.  RFC 1575          An Echo Function for CLNP (ISO 8473)     February 1994 
  173.  
  174.        f) It is a local matter whether or not the destination network-       entity performs the lifetime control function on an echo-request       packet before performing the echo-response function.  The       destination network-entity shall make the same decision in this       regard that it would make, as a local matter, for a data packet in       accordance with ISO 8473. 
  175.  
  176. 5.6.  Use of the Priority Option 
  177.  
  178.       The 8473 priority function indicates the relative priority of       packet.  0 is normal and 14 is the highest.  Packets with higher       values will be transmitted before lower values.  The specific       action upon receiving a 8473 packet with the priority field set is       a "LOCAL MATTER".  These means, any two systems could do it       differently. 
  179.  
  180.       Hopefully, in the future, Internet routers will handle this as a       priority queueing function.  Some implementors consider the       priority queueing function to be a cap.  For example, if a router       is congested, all those packets with priorities higher than 20,       will be allowed through, and those with priority less than 20 will       be dropped. 
  181.  
  182.       In short, the basic function of priority has wide latitude in the       ISO specification.  This wide latitude of implementation needs to       be narrowed for implementations within a common network       environment such as the Internet.  The 8473 priority function is       rarely implemented in today's Internet.  The transmission of an       echo-request packet with a priority set may provided unexcepted       results until a more wide spread deployment of the priority       feature in 8473 capable routers and end systems. 
  183.  
  184.       However, if the priority function must be used it is the safest       value may be the value 0 - which indicates Normal priority.  It       most likely this value will follow the 8473 pathways. 
  185.  
  186.       In the future, as the implementation of the priority function       further Internet documents will need to deal with its expected       use. 
  187.  
  188. 5.7.  Use of the Source Route Option 
  189.  
  190.       Use of the source route option in ISO 8473 may cause packets to       loop until their lifetime expires.  For this reason, this memo       recommends against the use of the source route option in either an       echo-request or echo-response packets.  If the source route option       is used to specify the route that the echo-request packet takes       toward its destination, this memo does not recommend the use of an 
  191.  
  192.  
  193.  
  194. Hares & Wittbrodt                                               [Page 8] 
  195.  RFC 1575          An Echo Function for CLNP (ISO 8473)     February 1994 
  196.  
  197.        automatically generated source route on the echo-response packet. 
  198.  
  199. 5.8.  Transmission of Multiple Echo-Requests 
  200.  
  201.       The echo function may be utilized by more than one process on any       individual machine.  The mechanism by which multiple echo-requests       and echo-responses are correlated between multiple processes on a       single machine is a local matter and not defined by this memo. 
  202.  
  203. 6.  Security Considerations 
  204.  
  205.       Security issues are not discussed in this memo. 
  206.  
  207. 7.  Authors' Addresses 
  208.  
  209.       Susan K. Hares       MERIT/NSFNET       Internet Engineering       1075 Beal Avenue       Ann Arbor, MI 48109-2112 
  210.  
  211.       Phone: (313) 936-3000       EMail: skh@merit.edu 
  212.  
  213.        Cathy J. Wittbrodt       Stanford University/BARRNet       Networking Systems       Pine Hall 115       Stanford, CA 94305 
  214.  
  215.       Phone: (415) 725-5481       EMail: cjw@magnolia.Stanford.EDU 
  216.  
  217. 8.  References 
  218.  
  219.    [1] ISO/IEC.  Protocol for Providing the Connectionless-mode Network        Service.  International Standard 8473, ISO/IEC JTC 1,        Switzerland, 1986. 
  220.  
  221.    [2] Hagens, R., "An Echo Function for ISO 8473", RFC 1139, IETF-OSI        Working Group, January 1990. 
  222.  
  223.    [3] ISO 8473-1993 Protocol for providing the connectionless-mode        network service, edition 2 (IS under preparation). 
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  Hares & Wittbrodt                                               [Page 9] 
  230.  
  231.