📄 rfc1647.txt
字号:
followed by <device-name>. (See the section entitled "DEVICE-TYPE Negotiation" for more detailed information.) IAC SB TN3270E DEVICE-TYPE IS <device-type> CONNECT <device-name> IAC SE Only the server may send this command. This command is used to accept a client's DEVICE-TYPE REQUEST command and to return the server-defined device-name. IAC SB TN3270E DEVICE-TYPE REJECT REASON <reason-code> IAC SE Only the server may send this command. This command is used to reject a client's DEVICE-TYPE REQUEST command. IAC SB TN3270E FUNCTIONS REQUEST <function-list> IAC SE Either side may send this command. This command is used to suggest a set of 3270 functions that will be supported on this session. It is also sent as an implicit rejection of a previous FUNCTIONS REQUEST command sent by the other side (see the section entitled "FUNCTIONS Negotiation" for more information). Note that when used to reject a FUNCTIONS REQUEST command, the function-list must not be identical to that received in the previous REQUEST command. IAC SB TN3270E FUNCTIONS IS <function-list> IAC SE Either side may send this command. This command is sent as a response to a FUNCTIONS REQUEST command and implies acceptance of the set of functions sent to it in the REQUEST command. Note that the list of functions in the FUNCTIONS IS command must match the list that was received in the previous FUNCTIONS REQUEST command.5. Default Specification WON'T TN3270E DON'T TN3270E i.e., TN3270E will not be used.Kelly [Page 6]RFC 1647 TN3270 Enhancements July 19946. Motivation See the section entitled "Introduction".7. TN3270E Sub-negotiation Rules All TN3270E commands and parameters are NVT ASCII strings in which upper and lower case are considered equivalent. Once it has been agreed that TN3270E will be supported, the first sub-negotiation must concern the DEVICE-TYPE (and possibly DEVICE- NAME) information. Only after that has been successfully negotiated can the client and server exchange FUNCTIONS information. Only after both DEVICE-TYPE and FUNCTIONS have been successfully negotiated can 3270 data stream transmission occur. 7.1 DEVICE-TYPE Negotiation Device-type (and device-name) negotiation begins when the server transmits the DEVICE-TYPE SEND command to the client. The client responds with the DEVICE-TYPE REQUEST command, which must include a device-type and may include a device-name request. Valid device-types are: terminals: IBM-3278-2 IBM-3278-2-E (24 row x 80 col display) IBM-3278-3 IBM-3278-3-E (32 row x 80 col display) IBM-3278-4 IBM-3278-4-E (43 row x 80 col display) IBM-3278-5 IBM-3278-5-E (27 row x 132 col display) IBM-DYNAMIC (no pre-defined display size) printers: IBM-3287-1 Note that the use of '3278' and '3287' is NOT intended to exclude any particular device capabilities; they are used here only because they are commonly known designations for a terminal and a printer member of the 3270 family of devices. The intention is to simplify the device-type negotiation (in comparison to traditional tn3270) by minimizing the number of possible device-types, and by breaking the association of a specific piece of IBM hardware with a related set of data stream capabilities. For example, negotiation of device-type IBM-3278-2-E does NOT in and of itself preclude the use of any of the functions associated with a physical 3279 model S2B. A client's ability to support the more advanced functions of the 3270 data stream will be indicated not by negotiation of an IBM device type and model number, but rather by the combination of Read Partition Query and Query Reply.Kelly [Page 7]RFC 1647 TN3270 Enhancements July 1994 All of the terminal device-types support a "primary" display size of 24 rows by 80 columns. The "-3", "-4" and "-5" types each support an "alternate" display size as noted in the above list. The IBM-DYNAMIC device-type implies no pre-defined alternate display size; this value will be passed from the client to host applications as part of the Query Reply structured field, and it can represent any display size the client and the host application can support. Terminal device-types with the "-E" suffix should only be negotiated by clients that are willing to support some subset of the 3270 "extended data stream". This usually includes at a minimum support for extended colors and highlighting, but may also include a number of other functions, such as graphics capability, alternate character sets, and partitions. Clients that negotiate a terminal device-type with the "-E" suffix or the DYNAMIC type, as well as those that negotiate a printer device-type, must be able to accept and respond to a Read Partition Query command (see the section entitled "3270 Structured Fields"). This allows the client to indicate to host applications which subsets of the 3270 extended data stream the client is willing to support. In a VTAM/SNA environment, negotiation of IBM-DYNAMIC as the device-type should result in a Bind in which the Presentation Services Usage screen field (the eleventh byte in the logmode's PSERVIC field) is set to 0x03, indicating that the alternate screen size will be determined by the Query Reply (Usable Area) 7.1.1 Device Pools An explanation of the CONNECT and ASSOCIATE commands first requires a discussion of the organization of terminal and printer device pools that the server maintains and from which it selects device-names to assign to session requests. (The terms "device-name", "LU name" and "network name" can be considered interchangeable in this document.) Also, for the purposes of this discussion, the term "generic session request" will be used to describe a request for a session by a Telnet client (either traditional or TN3270E) that does not include a request for a specific device-name. The term "specific session request" will be used to describe a request for a session by a TN3270E client that includes a request for a specific device- name (either via CONNECT or ASSOCIATE). As is the case with traditional tn3270, the TN3270E server must maintain a set of terminal device-names. A generic request forKelly [Page 8]RFC 1647 TN3270 Enhancements July 1994 a terminal session would result in the server selecting any available device-name from this pool. The server, however, may also maintain a separate pool of terminal device-names which can only be used to satisfy specific terminal session requests. This is to ensure that a terminal device that has some significance to host applications (and is therefore likely to be the target of a specific session request) is not "accidentally" assigned to a generic request and winds up associated with a client that has no use for it. Note that the reverse situation is allowed. That is, a specific terminal session request could ask for a device-name that happens to be in the "generic terminal pool". For each terminal device (in both the "generic" and the "specific" pools), the TN3270E server could also have defined a "partner" or "paired" printer device. There should be a unique, one-to-one mapping between a terminal and its associated printer. The reasoning behind such a configuration is to allow for those host applications that produce printed output bound for a printer whose device-name is determined by the device-name of the terminal that initiated the print request. These printer devices can only be assigned to specific printer session requests that use the ASSOCIATE command (see below). In addition, the TN3270E server may also maintain a pool of printer device-names that are not associated with any terminal. These printer devices can only be assigned to specific printer session requests that use the CONNECT command (see below). This allows for those host applications that generate printed output bound for a printer whose device-name is determined by something other than the device-name of the terminal that initiated the print request (for example, when the userid of the person signed on to a terminal determines the print destination). Finally, it is possible that a pool of printer device-names could be maintained and used only to satisfy generic requests for printers. 7.1.2 CONNECT Command CONNECT is used by the client to request that the server assign a specific device-name to this Telnet session; it may be used when requesting either a terminal or a printer session. The specified device-name must not conflict with the device-type; e.g., if the client requests DEVICE-TYPE IBM-3287-1 (a printer) and specifies CONNECT T1000001, but T1000001 is defined at theKelly [Page 9]RFC 1647 TN3270 Enhancements July 1994 host as a terminal, then the server should deny the request. Further, if the requested device-name is already associated with some other Telnet session, or if it is not defined to the server, the server should deny the request. 7.1.3 ASSOCIATE Command ASSOCIATE can be used by the client only when requesting a DEVICE-TYPE that represents a printer. The ASSOCIATE command requests that this session be assigned the device-name of the printer that is paired with the terminal named in the request. If the device-type does not represent a printer, or if the device-name is not that of a terminal, then the server should deny the request. It is anticipated that the device-name specified in this request would be one returned by the server when accepting a previous terminal session request (see the IS command below). Since no means of authentication has been provided for, it is possible that the printer paired with the terminal specified in the ASSOCIATE command has already been assigned to some other Telnet session; in this case, the server should deny the request. 7.1.4 Device Selection Rules To summarize, assume a TN3270E server has the following device pools defined to it (device-names that begin with a "T" are terminal devices; those that begin with a "P" are printers): Generic Terminal Pool Specific Terminal Pool --------------------- ---------------------- TG000001 <--> PTG00001 TS000001 <--> PTS00001 TG000002 <--> PTG00002 TS000002 <--> PTS00002 TG000003 <--> PTG00003 TS000003 <--> PTS00003 Generic Printer Pool Specific Printer Pool -------------------- ---------------------- PG000001 PS000001 PG000002 PS000002 PG000003 PS000003 Note that the only pool that absolutely must be defined to the server is the generic terminal pool. The absence of other pools (or of partner printers for a terminal pool) simply means that the server is unable to satisfy as wide a variety of requests as would be possible if all pools were defined to it. Given the above configuration, the following rules apply:Kelly [Page 10]RFC 1647 TN3270 Enhancements July 1994 - a generic terminal request can only be satisfied from the generic terminal pool (device-names TG000001 - TG000003). - a specific terminal request (allowable only via the CONNECT command) can be satisfied from either the generic or the specific terminal pool, although it is anticipated that the majority of such requests would ask for terminals in the specific terminal pool (TS000001 - TS000003). - a generic printer request can only be satisfied from the generic printer pool (device-names PG000001 - PG000003). - a specific printer request may come in one of two forms: via ASSOCIATE: the request can only be satisfied using the partner of the specified terminal, which
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -