⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1647.txt

📁 <VC++网络游戏建摸与实现>源代码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
Network Working Group                                          B. KellyRequest for Comments: 1647                            Auburn UniversityCategory: Standards Track                                     July 1994                          TN3270 EnhancementsStatus of this Memo   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.Abstract   This document describes a protocol that more fully supports 3270   devices than do the existing tn3270 practices.  Specifically, it   defines a method of emulating both the terminal and printer members   of the 3270 family of devices via Telnet; it provides for the ability   of a Telnet client to request that it be assigned a specific device-   name (also referred to as "LU name" or "network name"); finally, it   adds support for a variety of functions such as the ATTN key, the   SYSREQ key, and SNA response handling.   This protocol would be negotiated and implemented under a new Telnet   Option and would be unrelated to the Telnet 3270 Regime Option as   defined in RFC 1041 [1].TABLE OF CONTENTS   1.  Introduction ...............................................  2   2.  TN3270E OVERVIEW ...........................................  3   3.  COMMAND NAMES AND CODES ....................................  4   4.  COMMAND MEANINGS ...........................................  5   5.  DEFAULT SPECIFICATION ......................................  6   6.  MOTIVATION .................................................  7   7.  TN3270E SUB-NEGOTIATION RULES ..............................  7      7.1  DEVICE-TYPE Negotiation ................................  7          7.1.1 Device Pools ......................................  8          7.1.2 CONNECT Command ...................................  9          7.1.3 ASSOCIATE Command ................................. 10          7.1.4 Device Selection Rules ............................ 10          7.1.5 Accepting a Request ............................... 11          7.1.6 REJECT Command .................................... 12      7.2  FUNCTIONS Negotiation .................................. 13          7.2.1 Commands .......................................... 13Kelly                                                           [Page 1]RFC 1647                  TN3270 Enhancements                  July 1994          7.2.2 List of TN3270E Functions ......................... 14   8.  TN3270E DATA MESSAGES ...................................... 15      8.1  The TN3270E Message Header ............................. 16          8.1.1 DATA-TYPE Field ................................... 16          8.1.2 REQUEST-FLAG Field ................................ 17          8.1.3 RESPONSE-FLAG Field ............................... 17          8.1.4 SEQ-NUMBER Field .................................. 18   9.  BASIC TN3270E .............................................. 18      9.1  3270 Mode and NVT Mode ................................. 19   10. DETAILS OF PROCESSING TN3270E FUNCTIONS .................... 20      10.1 The SCS-CTL-CODES Function ............................. 20      10.2 The DATA-STREAM-CTL Function ........................... 20      10.3 The BIND-IMAGE Function ................................ 21      10.4 The RESPONSES Function ................................. 22         10.4.1 Response Messages ................................. 23      10.5 The SYSREQ Function .................................... 26         10.5.1 Background ........................................ 26         10.5.2 TN3270E Implementation of SYSREQ .................. 27   11. THE 3270 ATTN KEY .......................................... 28   12. 3270 STRUCTURED FIELDS ..................................... 29   13. IMPLEMENTATION GUIDELINES .................................. 29      13.1 3270 Data Stream Notes ................................. 29      13.2 Negotiation of the TN3270E Telnet Option ............... 30      13.3 A "Keep-alive" Mechanism ............................... 30      13.4 Examples ............................................... 31   14. SECURITY CONSIDERATIONS .................................... 33   15. REFERENCES ................................................. 33   16. AUTHOR'S NOTE .............................................. 34   17. AUTHOR'S ADDRESS ........................................... 341.  Introduction   Currently, support for 3270 terminal emulation over Telnet is   accomplished by the de facto standard of negotiating three separate   Telnet Options - Terminal-Type [2], Binary Transmission [3], and End   of Record [4].  Note that there is no RFC that specifies this   negotiation as a standard.  RFC 1041 attempted to standardize the   method of negotiating 3270 terminal support by defining the 3270   Regime Telnet Option.  Very few developers and vendors ever   implemented RFC 1041.   This document will refer to the existing practice of negotiating   these three Telnet Options before exchanging the 3270 data stream as   "traditional tn3270".   NOTE: Except where otherwise stated, this document does not   distinguish between Telnet servers that represent SNA devices and   those that represent non-SNA 3270 devices.Kelly                                                           [Page 2]RFC 1647                  TN3270 Enhancements                  July 1994   All references in this document to the 3270 data stream, 3270 data   stream commands, orders, structured fields and the like rely on [5].   References to SNA Request and Response Units rely on [6].  References   to SNA versus non-SNA operation rely on [7].   There are several shortcomings in traditional tn3270; among them are   the following:    - It provides no capability for Telnet clients to emulate the 328x      class of printers.    - There is no mechanism by which a Telnet client can request that      a connection be associated with a given 3270 device-name.  This      can be of importance when a terminal session is being      established, since many host applications behave differently      depending on the network name of the terminal.  In the case of      printer emulation, this capability is an absolute necessity      because a large number of host applications have some method of      pre-defining printer destinations.    - The 3270 ATTN and SYSREQ keys are not universally supported.    - There is no support for the SNA positive/negative response      process.  This is particularly important if printer emulation is      to function properly, but is also useful for some terminal      applications.  A positive response is used to indicate that      the previously received data has been successfully processed.      A negative response indicates some sort of error has occurred      while processing the previously received data; this could be      caused by the host application building a 3270 data stream that      contains an invalid command, or by a mechanical error at the      client side, among other things.    - There is no mechanism by which the client can access the SNA      Bind information.  The Bind image contains a detailed      description of the session between the Telnet server and the      host application.    - There is no mechanism by which the server can determine whether      a client supports 3270 structured fields, or a client can      request that it receive them.2.  TN3270E Overview   In order to address these issues, this document proposes a new Telnet   Option - TN3270E.  Telnet clients and servers would be free to   negotiate support of the TN3270E option or not. If either side does   not support TN3270E, traditional tn3270 can be used; otherwise, aKelly                                                           [Page 3]RFC 1647                  TN3270 Enhancements                  July 1994   sub-negotiation will occur to determine what subset of TN3270E will   be used on the session.  It is anticipated that a client or server   capable of both types of 3270 emulation would attempt to negotiate   TN3270E first, and only negotiate traditional tn3270 if the other   side refuses TN3270E.   Once a client and server have agreed to use TN3270E, negotiation of   the TN3270E suboptions can begin.  The two major elements of TN3270E   sub-negotiation are:    - a device-type negotiation that is similar to, but somewhat      more complicated than, the existing Telnet Terminal-Type Option.    - the negotiation of a set of supported 3270 functions, such as      printer data stream type (3270 data stream or SNA Character      Stream), positive/negative response exchanges, device status      information, and the passing of BIND information from server to      client.   Successful negotiation of these two suboptions signals the beginning   of 3270 data stream transmission. In order to support several of the   new functions in TN3270E, each data message must be prefixed by a   header.  This header will contain flags and indicators that convey   such things as positive and negative responses and what type of data   follows the header (for example, 3270 data stream, SNA Character   Stream, or device status information).3.  Command Names and Codes       TN3270E            40         ASSOCIATE          00         CONNECT            01         DEVICE-TYPE        02         FUNCTIONS          03         IS                 04         REASON             05         REJECT             06         REQUEST            07         SEND               08       Reason-codes         CONN-PARTNER       00         DEVICE-IN-USE      01         INV-ASSOCIATE      02         INV-DEVICE-NAME    03         INV-DEVICE-TYPE    04         TYPE-NAME-ERROR    05         UNKNOWN-ERROR      06Kelly                                                           [Page 4]RFC 1647                  TN3270 Enhancements                  July 1994         UNSUPPORTED-REQ    07       Function Names         BIND-IMAGE         00         DATA-STREAM-CTL    01         RESPONSES          02         SCS-CTL-CODES      03         SYSREQ             044.  Command Meanings   IAC WILL TN3270E      The sender of this command is willing to send TN3270E      information in subsequent sub-negotiations.   IAC WON'T TN3270E      The sender of this command refuses to send TN3270E information.   IAC DO TN3270E      The sender of this command is willing to receive TN3270E      information in subsequent sub-negotiations.   IAC DON'T TN3270E      The sender of this command refuses to receive TN3270E      information.   Note that while they are not explicitly negotiated, the equivalent of   the Telnet Binary Transmission Option [3] and the Telnet End of   Record Option [4] is implied in the negotiation of the TN3270E   Option.  That is, a party to the negotiation that agrees to support   TN3270E is automatically required to support bi-directional binary   and EOR transmissions.   IAC SB TN3270E SEND DEVICE-TYPE IAC SE      Only the server may send this command.  This command is used to      request that the client transmit a device-type and, optionally,      device-name information.   IAC SB TN3270E DEVICE-TYPE REQUEST <device-type>          [CONNECT | ASSOCIATE <device-name>] IAC SE      Only the client may send this command.  It is used in response      to the server's SEND DEVICE-TYPE command, as well as to suggestKelly                                                           [Page 5]RFC 1647                  TN3270 Enhancements                  July 1994      another device-type after the server has sent a DEVICE-TYPE      REJECT command (see below).  This command requests emulation of      a specific 3270 device type and model.  The REQUEST command may      optionally include either the CONNECT or the ASSOCIATE command      (but not both).  If present, CONNECT and ASSOCIATE must both be

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -