GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:ien:ien92

IEN 92

                                  
                                  
                          Protocol Options
                             Jon Postel
                             2 May 1979
                   Information Sciences Institute
                 University of Southern California
                         4676 Admiralty Way
                 Marina del Rey, California  90291
                                  
                           (213) 822-1511
                                  
                                  

IEN-92 J. Postel

                                                                   ISI
                                                            2 May 1979
                          PROTOCOL OPTIONS
                          ----------------

Introduction


This memo collectes the definition of the various options used in the Internet protocols, in particular the options from Internet Protocol (IN) [1] and Transmission Control Protocol (TCP) [2].

Internet Protocol Options


The option field is variable in length. The format is an option-type octet, an option-length octet, and the actual option-data octets. There are two special case options which have only the option-type octet.

The option-length octet, which follows, includes the option-type octet and the option-length octet in the octet count of the option length.

The option-type octet can be viewed as having 3 fields:

1 bit   reserved, must be zero
2 bits  option class,
5 bits  option number.

The option classes are:

0 = control
1 = internet error
2 = experimental debugging and measurement
3 = reserved for future use

Postel [page 1]

                                                                      
                                                            2 May 1979

Protocol Options IEN 92

The following internet options are defined:

CLASS NUMBER LENGTH DESCRIPTION
----- ------ ------ -----------
  0     0      -    End of Option list.  This option occupies only 1
                    octet; it has no length octet.
  0     1      -    No Operation.  This option occupies only 1 octet;
                    it has no length octet.
  0     2      4    S/P/T.  Used to carry Security, Precedence, and
                    user group (TCC) information compatible with
                    AUTODIN II requirements.
  0     3     var.  Source Routing.  Used to route the internet packet
                    based on information supplied by the source.
  0     4     var.  BCR Open.
  0     5     var.  BCR Close.
  0     6     var.  BCR other.
  0     7     var.  Return Route.  Used to record the route taken by
                    an internet packet.
  1     1     var.  General Error Report.  Used to report errors in
                    internet packet processing.
  2     4      4    Internet Timestamp.  Used to carry timestamping
                    information.
  2     5      4    Satellite Timestamp.  Used as above for
                    special satellite network testing.

Specific Option Definitions

End of Option List
  +--------+
  |00000000|
  +--------+
    Type=0
  This option indicates the end of the option list.  This might not
  coincide with the end of the internet header according to the
  internet header length.  This is used at the end of all options, not
  the end of each option, and need only be used if the end of the
  options would not otherwise coincide with the end of the internet
  header.

[page 2] Postel

2 May 1979 IEN 92 Protocol Options

No Operation
  +--------+
  |00000001|
  +--------+
    Type=1
  This option may be used between options, for example, to align the
  beginning of a subsequent option on a 32 bit boundary.
S/P/T
  This option provides a way for AUTODIN II hosts to send security,
  precedence, and TCC (closed user groups) parameters through networks
  whose transport leader does not contain fields for this information.
  The format for this option is as follows:
    +--------+--------+---------+--------+
    |00000010|00000100|Prec|Sec |  TCC   |
    +--------+--------+---------+--------+
      Type=2  Length=4
  Precedence:  4 bits
    Specifies one of 16 levels of precedence
  Security:  4 bits
    Specifies one of 16 levels of security
  Transmission Control Code:  8 bits
    Provides a means to compartmentalize traffic and define controlled
    communities of interest among subscribers.
  This option might be used between hosts on the AUTODIN II network
  and other networks, such as the EDN at DCEC.

Postel [page 3]

                                                                      
                                                            2 May 1979

Protocol Options IEN 92

Source Route
  +--------+--------+--------+---------//--------+
  |00000011| length |        source route        |
  +--------+--------+--------+---------//--------+
  Option=3
  The source route option provides a means for the source of an
  internet datagram to supply routing information to be used by the
  gateways in forwarding the datagram to the destination.
  The option begins with the option type code.  The second octet is
  the option length which includes the option type code and the length
  octet, as well as length-2 octets of source route data.
  A source route is composed of a series of internet addresses.  Each
  internet address is 32 bits or 4 octets.  The length defaults to
  two, which indicates the source route is empty and the remaining
  routing is to be based on the destination address field.
  If the address in destination address field has been reached and the
  length is not two, the next address in the source route replaces the
  address in the destination address field, and that address is
  deleted from the source route and the length is reduced by four.
Return Route
  +--------+--------+--------+---------//--------+
  |00000111| length |        return route        |
  +--------+--------+--------+---------//--------+
  Option=7
  The return route option provides a means to record the route of an
  internet datagram.
  The option begins with the option type code.  The second octet is
  the option length which includes the option type code and the length
  octet, as well as length-2 octets of return route data.
  A return route is composed of a series of internet addresses.  The
  length defaults to two, which indicates the return route is empty.
  When an internet module routes a datagram it checks to see if the
  return route option is present.  If it is, it inserts its own
  internet address as known in the environment into which this

[page 4] Postel

2 May 1979 IEN 92 Protocol Options

  datagram is being forwarded into the return route at the front of
  the address string and increments the length by four.
BCR Options
  BCR OPEN
  +--------+--------+------
  |00000100| length | data 
  +--------+--------+------
    Type=4
  BCR CLOSE
  +--------+--------+------
  |00000101| length | data 
  +--------+--------+------
    Type=5
  BCR OTHER
  +--------+--------+------
  |00000110| length | data 
  +--------+--------+------
    Type=6
  These options are used with the BCR.
General Error Report
  +--------+--------+--------+--------+--------//--------+
  |00100001| length |err code|   id   |                  |
  +--------+--------+--------+--------+--------//--------+
   Type=33
  The general error report is used to report an error detected in
  processing an internet packet to the originator of that packet.  The
  "err code" indicates the type of error detected and the "id" is
  copied from the identification field of the packet in error,
  additional octets of error information may be present depending on
  the err code.
  ERR CODE:
    0 - Undetermined Error, used when no information is available
    about the type of error or the error does not fit any defined

Postel [page 5]

                                                                      
                                                            2 May 1979

Protocol Options IEN 92

    class.  Following the id should be as much of the datagram as fits
    in the option space.
    No err codes have been defined for specific classes as yet.
Internet Timestamp
  +--------+--------+--------+--------+--------+--------+
  |01000100|00000100|        time in milliseconds       |
  +--------+--------+--------+--------+--------+--------+
   Type=68  Length=4
  The data of the timestamp is a 32 bit time measured in milliseconds.
Satellite Timestamp
  +--------+--------+--------+--------+--------+--------+
  |01000101|00000100|        time in milliseconds       |
  +--------+--------+--------+--------+--------+--------+
   Type=69  Length=4
  The data of the timestamp is a 32 bit time measured in milliseconds.

The options are just that, optional. That is, the presence or absence of an option is the choice of the sender, but each internet module must understand how to process every option.

Transmission Control Protocol Options


Options may occupy space at the end of the TCP header and are a multiple of 8 bits in length. All options are included in the checksum. An option may begin on any octet boundary. All options have the same basic format:

Option kind:  8 bits
Option length:  8 bits
  Length in octets (including the two octets of length and kind
  information)
There are two special cases for options.
  The first is the End-of-Options option.  Only one octet is
  associated with this option, the kind octet itself.

[page 6] Postel

2 May 1979 IEN 92 Protocol Options

  The second is the No-Operation option and is also one octet long.
Note that the list of options may be shorter than the data offset
field might imply.  The content of the header beyond the End-of-Option
option should be header padding (i.e., zero).

Currently defined options include (kind indicated in octal):

Kind     Length    Meaning
----     ------    -------
 0         -       End of option list.
 1         -       No-Operation.
100        -       Reserved.
105        4       Buffer Size.

Specific Option Definitions

End of Option List
  +--------+
  |00000000|
  +--------+
   Kind=0
  This option code indicates the end of the option list.  This might
  not coincide with the end of the TCP header according to the Data
  Offset field.  This is used at the end of all options, not the end
  of each option, and need only be used if the end of the options
  would not otherwise coincide with the end of the TCP header.
No-Operation
  +--------+
  |00000001|
  +--------+
   Kind=1
  This option code may be used between options, for example, to align
  the beginning of a subsequent option on a word boundary.  There is
  no guarantee that senders will use this option, so receivers must be
  prepared to process options even if they do not begin on a word
  boundary.

Postel [page 7]

                                                                      
                                                            2 May 1979

Protocol Options IEN 92

Buffer Size
  +--------+--------+---------+--------+
  |01000101|00000100|    buffer size   |
  +--------+--------+---------+--------+
   Kind=105 Length=4
  Buffer Size Option Data:  16 bits
    If this option is present, then it communicates the receive buffer
    size at the TCP which sends this segment.  This field should only
    be sent in segments with the SYN control bit set.  If this option
    is not used, the default buffer size of one octet is assumed.

[page 8] Postel

2 May 1979 IEN 92 Protocol Options

                                                            References

References


[1] Postel, J., "Internetwork Datagram Protocol – Version 4,"

      IEN 80, USC-Information Sciences Institute, February 1979.

[2] Postel, J., "Transmission Control Protocol – Version 4,"

      IEN 81, USC-Information Sciences Institute, February 1979.

Postel [page 9]

/data/webs/external/dokuwiki/data/pages/rfc/ien/ien92.txt · Last modified: 2001/06/25 18:49 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki