分享
 
 
 

RFC1041 - Telnet 3270 regime option

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

Network Working Group J. Rekhter

Request For Comments: 1041 T.J. Watson Research Center, IBM

January 1988

Telnet 3270 Regime Option

STATUS OF THIS MEMO

This RFCspecifies a proposed standard for the Internet community.

Hosts on the Internet, that want to support 3270 data stream within

the Telnet protocol, are eXPected to adopt and implement this

standard. Distribution of this memo is unlimited.

1. Command Name and Code

3270-REGIME 29

2. Command Meaning

IAC WILL 3270-REGIME

Sender is willing to send list of supported 3270 Regimes in

a subsequent sub-negotiation.

IAC WON'T 3270-REGIME

Sender refuses to send the list of supported 3270 Regimes.

IAC DO 3270-REGIME

Sender is willing to receive a list of supported 3270 Regimes in a

subsequent sub-negotiation.

IAC DON'T 3270-REGIME

Sender refuses to accept the list of supported 3270 Regimes.

IAC SB 3270-REGIME ARE REGIME-LIST IAC SE

Sender sends the list of all possible 3270 Regimes it is able to

support. The code for ARE is 1.

REGIME-LIST is an ASCII string which has meaning to both sides of

the negotiation. This string may be composed of different

terminal type names (as specified in the "Assigned Numbers") which

are separated by space character. Terminal type names which have

imbedded spaces should escape it with backslash character ('\').

Backslash character imbedded into terminal type name should be

escaped with another backslash character.

Empty REGIME-LIST means, that sender is able to support only NVT

ASCII terminal as defined in [4].

IAC SB 3270-REGIME IS REGIME IAC SE

Sender is stating the name of the terminal it is willing to

support. The code for IS is 0.

REGIME is an ASCII string (possibly empty) which is substring of

the received REGIME-LIST string. Empty string means that the

sender is willing to support only NVT ASCII terminal as defined in

[4].

3. Default

WON'T 3270-REGIME

3270 Regime will not be established.

DON'T 3270-REGIME

3270 Regime will not be established.

4. Motivation for the option

This option allows a telnet server running VM or MVS to negotiate

with the telnet client on the type of data stream (3270 or NVT ASCII)

which both sides are willing support.

The main reason for this option is to allow simple and efficient way

to:

o state, that both client and server want to exchange 3270 data

stream,

o switch from 3270 Regime into NVT ASCII Regime and back into 3270

Regime,

o dynamically renegotiate 3270 Regime parameters (like terminal

type).

Support for 3270 data stream requires that both sides:

o be able to exchange binary data,

o be able to put well defined delimiters into inbound/outbound

data stream,

o be able to establish the agreement between client and server on

what type of terminal will be used.

Current implementations requires 3 different options, TERMINALTYPE

[1], BINARY [2] and EOR [3], to be sUCcessfully negotiated between

client and server prior to establishing 3270 Regime. Moreover, it is

unclear at what point in this negotiation process, 3270 regime is

actually established (whether after TERMINALTYPE or after BINARY or

after EOR). Also, order for these negotiations was never specified.

Subnegotiation for the TERMINALTYPE is possible with only single

terminal type at a time.

Once 3270 Regime is established, there is no standard of how to get

out of this regime back into NVT ASCII mode.

Based on the 3270 Regime requirements, which stated above, we feel

that separate negotiation for EOR and BINARY should not be done.

Rather, 3270 Regime establishment should imply that:

o each character in the Telnet data stream should be interpreted

as 8 bits of binary data,

o both sides agreed to use a certain character sequence(Telnet IAC

EOR) as a delimiter in inbound/outbound Telnet data stream,

o both sides agreed on the type of the terminal they are willing

to support.

By providing the list of possible terminals which Telnet client can

support, telnet server could select the type of the terminal it can

support and pass it back to the Telnet client, thus eliminating

multiple TERMINALTYPE negotiations.

As stated in [5], "The purpose of the Telnet Protocol is to provide a

fairly general, bi-directional, eight-bit byte oriented communication

facility." Therefore we feel that such issues as color support,

graphics support, extended data streams mapping, etc., do not belong

logically to the Telnet protocol, but rather should be considered as

a part of a separate protocol which defines 3270 inbound/outbound

data stream (see [5], [6], [7], [8]). The purpose of this memo is

not to describe (or define) protocols which are used in 3270 Regime,

but rather define a new option for the Telnet Protocol, which would

allow both sides to negotiate for the 3270 Regime establishment over

the telnet connection.

While this options does not include direct negotiation for such

things as colors, graphics, structured fields, etc., certain features

(like the ability to support colors) may be negotiated indirectly by

using certain terminal type names specified in 3270-REGIME

subnegotiation.

We also feel that such issues as keyboard mapping, whether to have

one telnet for both ASCII and 3270 mode or two separate programs, one

for ASCII and another for 3270 mode, are implementation dependent and

should be considered as a local matter.

5. Description of the Option

WILL and DO commands are used to oBTain and grant permission for the

subsequent subnegotiation. Both sides must exchange WILL 3270-REGIME

and DO 3270-REGIME prior to subnegotiation. The actual exchange of

information is done within the option subcommand (IAC SB

3270-REGIME).

Either Telnet client or Telnet server can initialize 3270-REGIME

negotiation. However, in order to simplify negotiation, only Telnet

client is allowed to send IAC SB 3270-REGIME ARE... IAC SE command,

and only Telnet server is allowed to reply with IAC SB 3270-REGIME

IS... IAC SE command.

Since this negotiation is asymmetric, each time Telnet client/server

decide to negotiate/renegotiate this option they have to perform

complete negotiation process (DO... WILL... SB 3270-REGIME...).

The following is an example of use of the option:

1. Host A: IAC DO 3270-REGIME

2. Host B: IAC WILL 3270-REGIME

3. Host B: IAC DO 3270-REGIME

4. Host A: IAC WILL 3270-REGIME

5. (At this point side which runs Telnet client can start

subnegotiation.)

6. Host A: IAC SB 3270-REGIME ARE 'ibm3279-3 ibm3279-2 ibm3278-3'

IAC SE

7. Host B: IAC SB 3270-REGIME IS 'ibm3279-2' IAC SE

6. Implementation Suggestions

If the side is able to support more that one terminal type, then

terminal type names are listed in REGIME-LIST from most desirable to

least desirable. Other side upon receive of the REGIME-LIST scans it

from left to right and finds the first terminal type which it is able

to support returns it in REGIME part of the 3270-REGIME IS

subnegotiation.

The side which wants to switch into NVT ASCII mode should send empty

REGIME-LIST. Since empty string is a subset of empty string, the

side which receives empty REGIME-LIST should reply with empty REGIME.

At that point both sides are switched to NVT ASCII mode.

It is possible to renegotiate 3270 Regime parameters (like terminal

type). Certain precaution should be taken to insure that such

renegotiation would not cause switch into NVT ASCII mode. As a

possible measure, the side which wants to renegotiate for another

terminal should include both the current and the new terminal type

names into REGIME-LIST. This way, if the other side is unable to

change 3270 Regime terminal type, it will continue to use current

terminal type.

Since IAC character (255 decimal) is used as a delimiter (together

with EOR) in inbound/outbound data stream, care must be taken to

escape IAC characters which are part of data stream itself with

another IAC character.

To prevent ambiguity in interpreting inbound/outbound data stream

during negotiation process the following rules should be observed:

1. Telnet client should not accept any data from the user as soon

as it enters 3270 Regime negotiation.

2. Telnet client should not send any data to the Telnet server

after it sends "3270-REGIME ARE....".

3. Telnet server should try not to send any data to the telnet

client while negotiation is in progress.

4. Telnet server may reply with "3270-REGIME IS..." to the telnet

client only after all outstanding data have been already sent

to the Telnet client.

5. Telnet server can switch from its previous regime to the new

regime only after it sends "IAC SB 3270-REGIME IS 'regime' IAC

SE" to the telnet client.

6. Telnet client can switch from its previous regime to the new

regime only after it receives "IAC SB 3270-REGIME IS 'regime'

IAC SE".

7. Switch from one regime to another may require flushing of all

outstanding data in both telnet client and telnet server.

7. References

[1] RFC-854, Telnet Terminal Type Option.

[2] RFC-856, Telnet Binary Transmission.

[3] RFC-885, Telnet End Of Record Option.

[4] RFC-854, Telnet Protocol Specification.

[5] IBM 3270 Information Display System. 3274 Control Unit

Description and Programmer's Guide. GA23-0061-1.

[6] IBM 3279 Information Display System: Color and Programmed

Symbols. GA33-3056-1.

[7] IBM 3270 Information Display System. Data Stream Programmer's

Reference. GA23-0059-1.

[8] IBM 3270 Information Display System. Description and

Configuration: APL/Text Feature. GA18-2044-0.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有