An Echo Function for ISO 8473
          
          
          Network Working Group                     IETF-NOOP Working Group
          INTERNET DRAFT                            R. Hagens  January 1990
                                                    Revised C. Wittbrodt
          
          
          
          1.  Status of this Memo
          
          This memo 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  defines  an  echo  function  for  the
          connection-less  network  layer  protocol.  This memo is not
          intended to compete with an ISO standard.  This  is  a  Pro-
          posed  Elective  Standard for the Internet.  Distribution of
          this memo is unlimited.
          
          
          2.  Abstract
          
          This memo defines an echo function for  the  connection-less
          network  layer  protocol.  The mechanism that is recommended
          here is in the final process of being standardized by ISO as
          "Amendment X: Addition of an Echo function to ISO 8473" This
          document is intended to mirror the ISO work and provide easy
          access to that information to the Internet community
          
          
          3.  Table of Contents
          
          
          
          
          
          
          
          
          
          
          
          
          
          November 10, 1992  Expires   May 10, 1992             Page 1
          
          
          
          
          
          
          
                         An Echo Function for ISO 8473
          
          
          Section 1 Status of this Memo .........................    1
          Section 2 Abstract ....................................    1
          Section 3 Table of Contents............................    1
          Section 4 Introduction ................................    2
          Section 5 The Generic Echo Function ...................    3
          Section 5.1 The Echo Request ..........................    3
          Section 5.2 The Echo Reply ............................    3
          Section 6 The Implementation Mechanism ................    4
          Section 6.1 The Echo Request ..........................    4
          Section 6.2 The Echo Reply ............................    4
          Section 7 Implementation Notes ........................    4
          Section 7.1 Discarding PDUs ...........................    4
          Section 7.2 Error Report Flag .........................    4
          Section 7.3 Use of the Lifetime Field .................    5
          Section 7.4 Echo request function .....................    5
          Section 7.5 Echo response function ....................    7
          Section 7.6 Use of the Priority Option ................    8
          Section 7.7 Use of the Source Route Option ............    8
          Section 7.8 Transmission of Multiple Echo Requests ....    8
          Section 8 Security Considerations .....................    9
          
          
          4.  Introduction
          
          The OSI Connection-less network layer  protocol  (ISO  8473)
          defines a means for transmitting and relaying data and error
          report PDUs through an  OSI  internet.   Unfortunately,  the
          world that these packets travel through is imperfect.  Gate-
          ways and links may fail.  This memo defines an echo function
          to  be  used in the debugging and testing of the OSI network
          layer.
          
          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 net-
          work management.
          
          The code-path consideration  requires  that  the  echo  path
          through  a  system  is 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.
          
          Although backward compatibility is an  important  considera-
          tion  whenever  a  change  is made to a protocol, it is more
          important at this point that the echo mechanisms used on the
          
          
          November 10, 1992  Expires   May 10, 1992             Page 2
          
          
          
          
          
          
          
                         An Echo Function for ISO 8473
          
          
          Internet  interoperate.  For  this reason, this memo defines
          one implementation mechanism.
          
          
          5.  The Generic Echo Function
          
          The following section will describe 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 PDU, perform some processing, and gen-
          erate an echo-reply PDU.  The  echo  implementation  may  be
          thought  of  as  an  entity  that  coexists with the network
          layer.  Subsequent sections will detail  the  implementation
          mechanism.
          
          For the purposes of this memo, the term "ping" shall be used
          to  mean  the  act  of transmitting an echo-request PDU to a
          remote system (with the expectation that an  echo-reply  PDU
          will be sent back to the transmitter).
          
          
          5.1.  The Echo Request
          
          When a system decides to ping  a  remote  system,  an  echo-
          request is built.  All fields of the PDU 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 seg-
          mentation  defined  for  a  DT  PDU  also apply to the echo-
          request PDU.
          
          The echo-request is switched through the network toward  its
          destination.   Upon reaching the destination system, the PDU
          is processed according to normal processing rules.   At  the
          end  of  the  input  processing,  the  echo-request  PDU  is
          delivered to the echo- request entity.
          
          The echo-request entity will build and  dispatch  the  echo-
          reply  PDU.  This is a new PDU.  Except as noted below, this
          second PDU is  built  using  the  normal  construction  pro-
          cedures.   The  destination address of the echo-reply PDU is
          taken from the source address of the echo-request PDU.  Most
          options  present in the echo-request PDU are copied into the
          echo-reply PDU (see implementation notes for  more  informa-
          tion).
          
          
          5.2.  The Echo Reply
          
          The entire echo-request PDU is included in the data  portion
          of  the  echo-reply PDU.  This includes the echo-request PDU
          header as well as the any data that  accompanies  the  echo-
          request PDU.  The entire echo-request PDU is included in the
          
          
          November 10, 1992  Expires May 10, 1992             Page 3
          
          
          
          
          
          
          
                         An Echo Function for ISO 8473
          
          
          echo-reply so that fields such as the echo-request  lifetime
          may  be  examined  when  the  reply  is received.  After the
          echo-reply PDU is built, it is transmitted  toward  the  new
          destination (the original source of the echo- request).  The
          rules of segmentation defined for a DT PDU also apply to the
          echo-reply PDU.
          
          The echo-reply PDU is relayed through the network toward its
          destination.  Upon reaching its destination, it is processed
          by the PDU input function and delivered to the  entity  that
          created the echo-request.
          
          
          
          6.  The Implementation Mechanism
          
          The implementation mechanism will define two  new  8473  PDU
          types:  ERQ  (echo-request)  and ERP (echo-reply).  With the
          exception of a new type code, these PDUs will  be  identical
          to the DT PDU in every respect.
          
          
          6.1.  The Echo Request
          
          The type code for the ERQ PDU is decimal 30.
          
          
          6.2.  The Echo Reply
          
          The type code for the ERP PDU is decimal 31.
          
          
          7.  Implementation Notes
          
          The following notes are an integral part  of  memo.   It  is
          important that implementors take heed of these points.
          
          
          7.1.  Discarding PDUs
          
          The rules used for discarding a DT PDU (8473, sec 6.9 -  sec
          6.10) are applied when an echo-request or echo-reply is dis-
          carded.
          
          
          7.2.  Error Report Flag
          
          The error report flag may be set on  the  echo-request  PDU,
          the  echo-reply  PDU,  or  both.  If an echo-request is dis-
          carded, the associated ER PDU will  be  sent  to  the  echo-
          request  source  address  on the originating machine.  If an
          echo-reply is discarded, the associated ER PDU will be  sent
          to  the echo-reply source address.  In general, this will be
          
          
          November 10, 1992  Expires   May 10, 1992             Page 4
          
          
          
          
          
          
          
                         An Echo Function for ISO 8473
          
          
          the address of the echo-request entity.  It should be  noted
          that  the  echo-request  entity  and  the  originator of the
          echo-request PDU are not required to process ER PDUs.
          
          
          7.3.  Use of the Lifetime Field
          
          The lifetime field of the echo-request  and  echo-reply  PDU
          should  be  set  to  the  value  normally used for a DT PDU.
          Note: although this memo does not prohibit the generation of
          a  PDU  with a smaller-than-normal lifetime field, this memo
          explicitly does not attempt to define a mechanism for  vary-
          ing the lifetime field set in the echo-reply PDU.  This memo
          recommends that the normal DT lifetime value should  be  set
          in the echo-request and echo-reply PDU.
          
          
          7.4.  Echo request function
          
          "Extracted from ISO 8473/PDAMx Addition of an Echo  function
          to ISO 8473"
          
          Section 6.19 from ISO 8473
          
          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)  PDU
          to  be  created.   The ERQ PDU shall be constructed and pro-
          cessed by ISO  8473  network-entities  in  end  systems  and
          intermediate  systems in exactly the same way as the DT PDU,
          with the following caveats:
          
          a) Since the Echo request  function  is  invoked  by  system
          management,  rather than by a N-UNITDATA request, the infor-
          mation available to the PDU composition function  (ISO  8473
          clause  6.1)  consists  of current state, local information,
          and information supplied by system  management;  the  refer-
          ences  in  ISO  8473 clause 6.1 to information obtained from
          parameters of the N-UNITDATA request do  not  apply  to  the
          composition of an ERQ PDU.
          
          b) The source and destination address fields of the ERQ  PDU
          shall  contain,  respectively, a Network entity title 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,
          
          
          November 10, 1992  Expires   May 10, 1992             Page 5
          
          
          
          
          
          
          
                         An Echo Function for ISO 8473
          
          
          is relevant only to the operation of the  PDU  decomposition
          function  in  a destination end system, and therefore is not
          needed for the processing of an ERQ PDU (from  which  no  N-
          UNITDATA  indication  is  ever produced).  The fact that the
          source and destination address fields of the ERQ PDU contain
          NETs  rather  than  NSAP addresses therefore does not affect
          the processing of an ERQ PDU by any network-entity.
          
          c) When an ERQ PDU has reached its  destination,  as  deter-
          mined  by  the  Header  format  analysis  function (ISO 8473
          clause 6.3), the Echo response  function  (ISO  8473  clause
          6.20),  rather than the PDU decomposition function (ISO 8473
          clause 6.2), shall be invoked.  It is a local matter whether
          or  not this involves an interaction with system management.
          NOTE:  Since the Echo response function is a type 2 function
          (see  ISO  8473 clause 6.21), the destination network-entity
          may or may not  perform  the  Echo  response  function  upon
          receiving an ERQ PDU.  System management must therefore con-
          sider, when the Echo request function is invoked, that  non-
          receipt  of  a corresponding Echo response PDU may be due to
          non-support of the Echo response function by the destination
          network-entity.
          
          d) The maximum length of the ERQ PDU is equal to the maximum
          length  of the Echo response PDU minus the maximum length of
          the Echo response PDU header.  This ensures that the  entire
          ERQ  PDU  can be contained within the data field of the Echo
          response PDU (see ISO 8473 clause 6.20).
          
          e) The data part of the ERQ PDU may, as a local matter, con-
          tain  zero  or  more  octets with any values (subject to the
          overall maximum length of  the  ERQ  PDU  specified  in  (d)
          above).   If  the  first octet of the data part contains the
          binary value 1000 0001 (the NLPID for ISO  8473),  then  the
          first n octets of the data part (where n is the value of the
          second octet of the data part) shall contain an entire  Echo
          response  PDU header, in which every field in the fixed part
          and address part, except the  segment  length  and  checksum
          fields,  must  contain  a  valid value.  The "more segments"
          flag shall have the value zero.  If and only if the "segmen-
          tation  permitted"  flag  is set to 1, the segmentation part
          shall be present.  The options part, if present, may contain
          any  of the options described in ISO 8473 clause 7.5.  NOTE:
          This ERP PDU header, if present in the data part of  an  ERQ
          PDU,  may be, but is not required to be, used in whole or in
          part by the destination network-entity to compose an ERP PDU
          (see ISO 8473 clause 6.20 (d)).
          
          NOTE:  If this information is not present in the  data  part
          of the ERQ PDU, it may not be possible for the Echo response
          function of the  destination  network-entity  to  select  an
          appropriate value for the lifetime field of the ERP PDU.
          
          
          
          November 10, 1992  Expires   May 10, 1992             Page 6
          
          
          
          
          
          
          
                         An Echo Function for ISO 8473
          
          
          7.5.  Echo response function
          
          "Extracted from ISO 8473/PDAMx Addition of an Echo  function
          to ISO 8473"
          
          Section 6.20 from ISO 8473
          
          This function is performed by a network-entity when  it  has
          received  an  ERQ  PDU  that has reached its destination, as
          determined by the Header format analysis function (ISO  8473
          clause  6.3)  Q  that  is, an ERQ PDU which contains, in its
          destination address field, a Network entity title that iden-
          tifies  the network-entity.  When invoked, the Echo response
          function causes an Echo response (ERP) PDU  to  be  created.
          The  ERQ  PDU shall be constructed and processed by ISO 8473
          network-entities in end systems and intermediate systems  in
          exactly  the  same  way  as  the  DT PDU, with the following
          caveats:
          
          a) Since the Echo response function is not invoked by  a  N-
          UNITDATA  request, the information available to the PDU com-
          position function (ISO 8473 clause 6.1) consists of  current
          state,  local  information, and information contained in the
          corresponding ERQ PDU;  the references in  ISO  8473  clause
          6.1  to  information  obtained  from  parameters  of  the N-
          UNITDATA request do not apply to the composition of  an  ERP
          PDU.
          
          b) The source address field of the ERP PDU shall contain the
          value  of the destination address field of the corresponding
          ERQ PDU.  The destination address field of the ERP PDU shall
          contain  the  value  of  the  source  address  field  of the
          corresponding ERQ PDU.  NOTE:  The observation contained  in
          the  NOTE following ISO 8473 clause 6.19 (b) applies also to
          the ERP PDU.
          
          c) The ERQ PDU, in its entirety, shall be  placed  into  the
          data  part  of  the  ERP  PDU.  The data part of the ERP PDU
          shall contain only the corresponding ERQ PDU.
          
          d) If the data part of the  ERQ  PDU  contains  an  ERP  PDU
          header  (see  ISO 8473 clause 6.19 (e)), the PDU 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 ERP PDU header.  In this  case,  however,  the
          value  of the lifetime field contained in the ERP PDU header
          in the ERQ PDU data part must be used as the  value  of  the
          lifetime  field  in  the ERP PDU.  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 ERP PDU header in the data part of the ERQ PDU.
          
          e) The options part of the ERP PDU may contain any (or none)
          
          
          November 10, 1992  Expires   May 10, 1992             Page 7
          
          
          
          
          
          
          
                         An Echo Function for ISO 8473
          
          
          of the options described in ISO 8473 clause 7.5.  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  ERQ  PDU and/or the ERP PDU
          header contained in  the  data  part  of  the  ERQ  PDU  (if
          present).   The  source  routing option in the ERP PDU shall
          not be identical to (copied from) the source routing  option
          in  the ERQ PDU header.  If the recording of route option in
          the ERP PDU is identical to (copied from) the  recording  of
          route  option in the ERQ PDU header, the second octet of the
          parameter value field shall be set to the value 3.
          
          f) It is a local  matter  whether  or  not  the  destination
          network-entity  performs the lifetime control function on an
          ERQ PDU 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  DT
          PDU in accordance with ISO 8473 clause 6.4.
          
          
          7.6.  Use of the Priority Option
          
          If the priority option is included, it will normally be  set
          to  value 0 (default priority).  This memo allows for prior-
          ity values higher than 0 to be set in  the  echo-request  or
          echo-reply header, but cautions against this practice.
          
          
          7.7.  Use of the Source Route Option
          
          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-reply PDU.  If the source
          route option is used to specify the  route  that  the  echo-
          request PDU takes toward its destination, this memo does not
          recommend the use of an automatically generated source route
          on the echo-reply PDU.
          
          
          7.8.  Transmission of Multiple Echo Requests
          
          The echo function may be utilized by more than  one  process
          on  any individual machine.  The mechanism by which multiple
          echo-requests and echo-replies are correlated between multi-
          ple  processes on a single machine is a local matter and not
          defined by this memo.
          
          
          
          
          
          
          
          November 10, 1992  Expires   May 10, 1992             Page 8
          
          
          
          
          
          
          
                         An Echo Function for ISO 8473
          
          
          8.  Security Considerations
          
          Security issues are not addressed in this memo.
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          November 10, 1992  Expires   May 10, 1992             Page 9