分享
 
 
 

RFC1091 - Telnet terminal-type option

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Network Working Group J. VanBokkelen

Request for Comments: 1091 FTP Software, Inc.

Obsoletes: RFC930 February 1989

Telnet Terminal-Type Option

Status of This Memo

This RFCspecifies a standard for the Internet community. Hosts on

the Internet that exchange terminal type information within the

Telnet protocol are eXPected to adopt and implement this standard.

This standard supersedes RFC930. A change is made to permit cycling

through a list of possible terminal types and selecting the most

appropriate.

Distribution of this memo is unlimited.

1. Command Name and Code

TERMINAL-TYPE 24

2. Command Meanings

IAC WILL TERMINAL-TYPE

Sender is willing to send terminal type information in a

subsequent sub-negotiation.

IAC WON'T TERMINAL-TYPE

Sender refuses to send terminal type information.

IAC DO TERMINAL-TYPE

Sender is willing to receive terminal type information in a

subsequent sub-negotiation.

IAC DON'T TERMINAL-TYPE

Sender refuses to accept terminal type information.

IAC SB TERMINAL-TYPE SEND IAC SE

Server requests client to transmit his (the client's) next

terminal type, and switch emulation modes (if more than one

terminal type is supported). The code for SEND is 1. (See

below.)

IAC SB TERMINAL-TYPE IS ... IAC SE

Client is stating the name of his current (or only) terminal

type. The code for IS is 0. (See below.)

3. Default

WON'T TERMINAL-TYPE

Terminal type information will not be exchanged.

DON'T TERMINAL-TYPE

Terminal type information will not be exchanged.

4. Motivation for the Option

On most machines with bit-mapped displays (e.g., PCs and graphics

workstations) a client terminal emulation program is used to simulate

a conventional ASCII terminal. Most of these programs have multiple

emulation modes, frequently with widely varying characteristics.

Likewise, modern host system software and applications can deal with

a variety of terminal types. What is needed is a means for the

client to present a list of available terminal emulation modes to the

server, from which the server can select the one it prefers (for

arbitrary reasons). There is also need for a mechanism to change

emulation modes during the course of a session, perhaps according to

the needs of applications programs.

Existing terminal-type passing mechanisms within Telnet were not

designed with multiple emulation modes in mind. While multiple names

are allowed, they are assumed to be synonyms. Emulation mode changes

are not defined, and the list of modes can only be scanned once.

This document defines a simple extension to the existing mechanisms,

which meets both of the above criteria. It makes one assumption

about the behaviour of implementations coded to the previous standard

in order to oBTain full backwards-compatibility.

5. Description of the Option

Willingness to exchange terminal-type information is agreed upon via

conventional Telnet option negotiation. WILL and DO are used only to

obtain and grant permission for future discussion. The actual

exchange of status information occurs within option subcommands (IAC

SB TERMINAL-TYPE...).

Once the two hosts have exchanged a WILL and a DO, the sender of the

DO TERMINAL-TYPE (the server) is free to request type information.

Only the server may send requests (IAC SB TERMINAL-TYPE SEND IAC SE)

and only the client may transmit actual type information (within an

IAC SB TERMINAL-TYPE IS ... IAC SE command). Terminal type

information may not be sent spontaneously, but only in response to a

request.

The terminal type information is an NVT ASCII string. Within this

string, upper and lower case are considered equivalent. The complete

list of valid terminal type names can be found in the latest

"Assigned Numbers" RFC[4].

The transmission of terminal type information by the Telnet client in

response to a query from the Telnet server implies that the client

must simultaneously change emulation mode, unless the terminal type

sent is a synonym of the preceding terminal type, or there are other

prerequisites for entering the new regime (e.g., having agreed upon

the Telnet binary option). The receipt of sUCh information by the

Telnet server does not imply any immediate change of processing.

However, the information may be passed to a process, which may alter

the data it sends to suit the particular characteristics of the

terminal. For example, some operating systems have a terminal driver

that accepts a code indicating the type of terminal being driven.

Using the TERMINAL TYPE and BINARY options, a telnet server program

on such a system could arrange to have terminals driven as if they

were directly connected, including special functions not available to

a standard Network Virtual Terminal.

Note that this specification is deliberately asymmetric. It is

assumed that server operating systems and applications in general

cannot change terminal types at arbitrary points in a session. Thus,

the client may only send a new type (and potentially change emulation

modes) when the server requests that it do so.

6. Implementation Issues

The "terminal type" information may be any NVT ASCII string

meaningful to both ends of the negotiation. The list of terminal

type names in "Assigned Numbers" is intended to minimize confusion

caused by alternative "spellings" of the terminal type. For example,

confusion would arise if one party were to call a terminal "IBM3278-

2" while the other called it "IBM-3278/2". There is no negative

acknowledgement for a terminal type that is not understood, but

certain other options (such as switching to BINARY mode) may be

refused if a valid terminal type name has not been specified.

In some cases, either a particular terminal may be known by more than

one name, for example a specific type and a more generic type, or the

client may be a workstation with integrated display capable of

emulating more than one kind of terminal. In such cases, the sender

of the TERMINAL-TYPE IS command should reply to successive TERMINAL-

TYPE SEND commands with the various names. In this way, a telnet

server that does not understand the first response can prompt for

alternatives. If different terminal emulations are supported by the

client, the mode of the emulator must be changed to match the last

type sent, unless the particular emulation has other Telnet options

(e.g., BINARY) as prerequisites (in which case, the emulation will

switch to the last type sent when the prerequisite is fulfilled).

When types are synonyms, they should be sent in order from most to

least specific.

When the server (the receiver of the TERMINAL-TYPE IS) receives the

same response two consecutive times, this indicates the end of the

list of available types. Similarly, the client should indicate it

has sent all available names by repeating the last one sent. If an

additional request is received, this indicates that the server (the

sender of the IS) wishes to return to the top of the list of

available types (probably to select the least of N evils).

Server implementations conforming to the previous standard will cease

sending TERMINAL-TYPE SEND commands after receiving the same response

two consecutive times, which will work according to the old standard.

It is assumed that client implementations conforming to the previous

standard will send the last type on the list in response to a third

query (as well as the second). New-style servers must recognize this

and not send more queries.

The type "UNKNOWN" should be used if the type of the terminal is

unknown or unlikely to be recognized by the other party.

The complete and up-to-date list of terminal type names will be

maintained in the "Assigned Numbers". The maximum length of a

terminal type name is 40 characters.

7. User Interfaces

Telnet clients and servers conforming to this specification should

provide the following functions in their user interfaces:

Clients supporting multiple emulation modes should allow the user to

specify which of the modes is preferred (which name is sent first),

prior to connection establishment. The order of the names sent

cannot be changed after the negotiation has begun. This initial mode

will also become the default with servers which do not support

TERMINAL TYPE.

Servers should store the current terminal type name and the list of

available names in a manner such that they are Accessible to both the

user (via a keyboard command) and any applications which need the

information. In addition, there should be a corresponding mechanism

to request a change of terminal types, by initiating a series of

SEND/IS sub-negotiations.

8. Examples

In this example, the server finds the first type acceptable.

Server: IAC DO TERMINAL-TYPE

Client: IAC WILL TERMINAL-TYPE

(Server may now request a terminal type at any time.)

Server: IAC SB TERMINAL-TYPE SEND IAC SE

Client: IAC SB TERMINAL-TYPE IS IBM-3278-2 IAC SE

In this example, the server requests additional terminal types, and

accepts the second (and last on the client's list) type sent (RFC930

compatible):

Server: IAC DO TERMINAL-TYPE

Client: IAC WILL TERMINAL-TYPE

(Server may now request a terminal type at any time.)

Server: IAC SB TERMINAL-TYPE SEND IAC SE

Client: IAC SB TERMINAL-TYPE IS ZENITH-H19 IAC SE

Server: IAC SB TERMINAL-TYPE SEND IAC SE

Client: IAC SB TERMINAL-TYPE IS UNKNOWN IAC SE

Server: IAC SB TERMINAL-TYPE SEND IAC SE

Client: IAC SB TERMINAL-TYPE IS UNKNOWN IAC SE

In this example, the server requests additional terminal types, and

proceeds beyond the end-of-list, to select the first type offered by

the client (new-type client and server):

Server: IAC DO TERMINAL-TYPE

Client: IAC WILL TERMINAL-TYPE

(Server may now request a terminal type at any time.)

Server: IAC SB TERMINAL-TYPE SEND IAC SE

Client: IAC SB TERMINAL-TYPE IS DEC-VT220 IAC SE

Server: IAC SB TERMINAL-TYPE SEND IAC SE

Client: IAC SB TERMINAL-TYPE IS DEC-VT100 IAC SE

Server: IAC SB TERMINAL-TYPE SEND IAC SE

Client: IAC SB TERMINAL-TYPE IS DEC-VT52 IAC SE

Server: IAC SB TERMINAL-TYPE SEND IAC SE

Client: IAC SB TERMINAL-TYPE IS DEC-VT52 IAC SE

Server: IAC SB TERMINAL-TYPE SEND IAC SE

Client: IAC SB TERMINAL-TYPE IS DEC-VT220 IAC SE

9. References:

[1] Postel, J., and J. Reynolds, "Telnet Protocol Specification",

RFC854, USC Information Sciences Institute, May 1983.

[2] Postel, J., and J. Reynolds, "Telnet Option Specification",

RFC855, USC Information Sciences Institute, May 1983.

[3] Solomon, M., and E. Wimmers, "Telnet Terminal Type Option",

RFC930, University of Wisconsin - Madison, January 1985.

[4] Reynolds, J., and J. Postel, "Assigned Numbers", RFC1010,

USC Information Sciences Institute, May 1987.

Reviser's note:

I owe much of this text to RFCs 884 and 930, by Marvin Solomon and

Edward Wimmers of the University of Wisconsin - Madison, and I owe

the idea of the extension to discussions on the "tn3270" mailing list

in the Summer of 1987.

Author's Address

James VanBokkelen

FTP Software, Inc.

26 Princess Street

Wakefield, MA 01880-3004

Phone: (617) 246-0900

Email: jbvb@ftp.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有