TELNET Approximate Message Size Negotiation Option
                                                   NIC 15393 (Aug. 1973)



           TELNET Approximate Message Size Negotiation Option


1. Command name and code.

   NAMS          4

      (Negotiate Approximate Message Size)

2. Command meanings.

   IAC WILL NAMS

      The sender of this command requests, or agrees, to negotiate the
      approximate size for messages of data characters it sends.

   IAC WON'T NAMS 

      The sender of this command refuses to negotiate the approximate
      size for messages of data characters it sends.

   IAC DO NAMS

      The sender of this command requests the receiver of this command
      to negotiate the approximate size for messages of data characters
      transmitted by the command receiver.

   IAC DON'T NAMS

      The sender of this command refuses to negotiate the approximate
      size for messages of data characters transmitted by the command
      receiver.

   IAC SB NAMS DR <16 bit value>

      The sender of this command requests the receiver of this command
      to set its approximate message size for data the command receiver
      transmits to the value specified in the 16 bit parameter, a data
      character count.  The code for DR (Data Receiver) is 0.

   IAC SB NAMS DS <16 bit value>

      The sender of this command requests or agrees to set its
      approximate message size for data it transmits to the value
      specified in the 16 bit parameter, a data character count.  The
      code for DS (Data Sender) is 1.






                                   1

TELNET Approximate Message Size Negotiation Option
NIC 15393 (Aug. 1973)



3. Default

   WON'T NAMS

   DON'T NAMS

      i.e., no attempt will be made to agree on a message size.

4. Motivation for the option.

   The TELNET protocol does not specify how many characters the
   transmitter of data should attempt to pack into messages it sends.
   However, 1) some receivers may prefer received messages to generally
   have some minimum size, for example, to lessen the burden of
   processing input interrupts; 2) some receivers may prefer received
   data messages to generally have some maximum size, for example,
   because the maximum data message size could be used in conjunction
   with the Host/Host protocol message and bit allocates to more
   efficiently utilize input buffer space; 3) some transmitters may have
   maximum sizes for transmitted data messages, information which could
   be used in conjunction with the Host/Host protocol message and bit
   allocates to more efficiently utilize the receiver's input buffer
   space; and 4) some transmitters may desire to transmit some minimum
   size message, for example, to lessen the burden of processing output
   interrupts.

   Therefore, it is desirable to have some mechanism whereby the parties
   involved can attempt to agree on the approximate size of messages
   transmitted over the connection.  (It might be even more powerful to
   be able to negotiate approximate or even exact upper and lower bounds
   on message size.  However, fixed bounds would sometimes be hard to
   manage and sometimes even in conflict with Host/Host protocol
   allocates; and specifying both upper and lower bounds, even
   approximately, seems overly complicated considering the expected
   payoff.)

5. Description of the option.

   With the option which specifies the approximate size of messages
   transmitted over the connection, the transmitter attempts to send
   messages of the specified size unless some other constraint (for
   instance, an end of line) requires the message to be sent sooner, or
   characters for transmission arrive so fast that the message has to be
   bigger than the specified size.  The option is to be used strictly to
   improve the STATISTICS (e.g., timing and buffering) of message
   reception and transmission -- the option does NOT specify any
   absolutes.





                                   2

                   TELNET Approximate Message Size Negotiation Option
                                                NIC 15393 (Aug. 1973)

With this option not in effect, message size is completely (even
statistically) undefined as per the NVT specification.

Once the data transmitter and receiver have agreed to negotiate the
approximate message size, they must actually do this negotiation.
This is done using the DS and DR SB commands.  The transmitter of
data messages may give the SB NAMS DS command and the receiver may
give the SB NAMS DR command.  The rules for negotiation of the actual
approximate message size are as follows:

   a) Either party may at any time send a SB command specifying
      a value less than any previously sent or received and
      immediately assume that that value has been agreed upon.

   b) If either party receives a SB command, the party should
      assume the value specified in the received command is in
      effect if the party has not previously sent a SB command
      specifying a lower value.

   c) Before any SB command is sent, the approximate message
      size is undefined.

   d) At any time either party may quit the whole thing by
      sending a DON'T or WON'T NAMS command which must be
      acknowledged and the approximate message length becomes
      undefined.

   e) An approximate message size value may not be less
      than one.

As the receiver and transmitter may have conflicting requirements for
the approximate message size, neither should be cavalier about
requesting a specified approximate message size, each "bending over
backward" to let the other party (who should be presumed to have a
greater need) specify the approximate message size.

Host/Host protocol allocate considerations, of course, always
dominate negotiated message size considerations.
















                                3