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

  1. Network Working Group                                          J. Postel Request for Comments: 855                                    J. Reynolds                                                                      ISI Obsoletes: NIC 18640                                            May 1983 
  2.  
  3.                       TELNET OPTION SPECIFICATIONS 
  4.  
  5.  This RFC specifies a standard for the ARPA Internet community.  Hosts on the ARPA Internet are expected to adopt and implement this standard. 
  6.  
  7. The intent of providing for options in the TELNET Protocol is to permit hosts to obtain more elegant solutions to the problems of communication between dissimilar devices than is possible within the framework provided by the Network Virtual Terminal (NVT).  It should be possible for hosts to invent, test, or discard options at will.  Nevertheless, it is envisioned that options which prove to be generally useful will eventually be supported by many hosts; therefore it is desirable that options should be carefully documented and well publicized.  In addition, it is necessary to insure that a single option code is not used for several different options. 
  8.  
  9. This document specifies a method of option code assignment and standards for documentation of options.  The individual responsible for assignment of option codes may waive the requirement for complete documentation for some cases of experimentation, but in general documentation will be required prior to code assignment.  Options will be publicized by publishing their documentation as RFCs; inventors of options may, of course, publicize them in other ways as well. 
  10.  
  11.    Option codes will be assigned by: 
  12.  
  13.       Jonathan B. Postel       University of Southern California       Information Sciences Institute (USC-ISI)       4676 Admiralty Way       Marina Del Rey, California 90291       (213) 822-1511 
  14.  
  15.       Mailbox = POSTEL@USC-ISIF 
  16.  
  17. Documentation of options should contain at least the following sections: 
  18.  
  19.    Section 1 - Command Name and Option Code 
  20.  
  21.    Section 2 - Command Meanings 
  22.  
  23.       The meaning of each possible TELNET command relevant to this       option should be described.  Note that for complex options, where 
  24.  
  25.  
  26.  
  27.  Postel & Reynolds                                               [Page 1] 
  28.  
  29.  
  30.  RFC 855                                                         May 1983 
  31.  
  32.        "subnegotiation" is required, there may be a larger number of       possible commands.  The concept of "subnegotiation" is described       in more detail below. 
  33.  
  34.    Section 3 - Default Specification 
  35.  
  36.       The default assumptions for hosts which do not implement, or use,       the option must be described. 
  37.  
  38.    Section 4 - Motivation 
  39.  
  40.       A detailed explanation of the motivation for inventing a       particular option, or for choosing a particular form for the       option, is extremely helpful to those who are not faced (or don't       realize that they are faced) by the problem that the option is       designed to solve. 
  41.  
  42.    Section 5 - Description (or Implementation Rules) 
  43.  
  44.       Merely defining the command meanings and providing a statement of       motivation are not always sufficient to insure that two       implementations of an option will be able to communicate.       Therefore, a more complete description should be furnished in most       cases.  This description might take the form of text, a sample       implementation, hints to implementers, etc. 
  45.  
  46. A Note on "Subnegotiation" 
  47.  
  48.    Some options will require more information to be passed between hosts    than a single option code.  For example, any option which requires a    parameter is such a case.  The strategy to be used consists of two    steps:  first, both parties agree to "discuss" the parameter(s) and,    second, the "discussion" takes place. 
  49.  
  50.    The first step, agreeing to discuss the parameters, takes place in    the normal manner; one party proposes use of the option by sending a    DO (or WILL) followed by the option code, and the other party accepts    by returning a WILL (or DO) followed by the option code.  Once both    parties have agreed to use the option, subnegotiation takes place by    using the command SB, followed by the option code, followed by the    parameter(s), followed by the command SE.  Each party is presumed to    be able to parse the parameter(s), since each has indicated that the    option is supported (via the initial exchange of WILL and DO).  On    the other hand, the receiver may locate the end of a parameter string    by searching for the SE command (i.e., the string IAC SE), even if    the receiver is unable to parse the parameters.  Of course, either    party may refuse to pursue further subnegotiation at any time by    sending a WON'T or DON'T to the other party. 
  51.  
  52.  Postel & Reynolds                                               [Page 2] 
  53.  
  54.  
  55.  RFC 855                                                         May 1983 
  56.  
  57.     Thus, for option "ABC", which requires subnegotiation, the formats of    the TELNET commands are: 
  58.  
  59.       IAC WILL ABC 
  60.  
  61.          Offer to use option ABC (or favorable acknowledgment of other          party's request) 
  62.  
  63.       IAC DO ABC 
  64.  
  65.          Request for other party to use option ABC (or favorable          acknowledgment of other party's offer) 
  66.  
  67.       IAC SB ABC <parameters> IAC SE 
  68.  
  69.          One step of subnegotiation, used by either party. 
  70.  
  71.    Designers of options requiring "subnegotiation" must take great care    to avoid unending loops in the subnegotiation process.  For example,    if each party can accept any value of a parameter, and both parties    suggest parameters with different values, then one is likely to have    an infinite oscillation of "acknowledgments" (where each receiver    believes it is only acknowledging the new proposals of the other).    Finally, if parameters in an option "subnegotiation" include a byte    with a value of 255, it is necessary to double this byte in    accordance the general TELNET rules. 
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  Postel & Reynolds                                               [Page 3] 
  96.  
  97.