📄 rfc1647.txt
字号:
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
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 1994
6. 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 for
Kelly [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 the
Kelly [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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -