RFC856 - Telnet Binary Transmission

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

Network Working Group J. Postel

Request for Comments: 856 J. Reynolds

ISI

Obsoletes: NIC 15389 May 1983

TELNET BINARY TRANSMISSION

This RFCspecifies a standard for the ARPA Internet community. Hosts on

the ARPA Internet are eXPected to adopt and implement this standard.

1. Command Name and Code

TRANSMIT-BINARY 0

2. Command Meanings

IAC WILL TRANSMIT-BINARY

The sender of this command REQUESTS permission to begin

transmitting, or confirms that it will now begin transmitting

characters which are to be interpreted as 8 bits of binary data by

the receiver of the data.

IAC WON'T TRANSMIT-BINARY

If the connection is already being operated in binary transmission

mode, the sender of this command DEMANDS to begin transmitting

data characters which are to be interpreted as standard NVT ASCII

characters by the receiver of the data. If the connection is not

already being operated in binary transmission mode, the sender of

this command REFUSES to begin transmitting characters which are to

be interpreted as binary characters by the receiver of the data

(i.e., the sender of the data demands to continue transmitting

characters in its present mode).

A connection is being operated in binary transmission mode only

when one party has requested it and the other has acknowledged it.

IAC DO TRANSMIT-BINARY

The sender of this command REQUESTS that the sender of the data

start transmitting, or confirms that the sender of data is

expected to transmit, characters which are to be interpreted as 8

bits of binary data (i.e., by the party sending this command).

IAC DON'T TRANSMIT-BINARY

If the connection is already being operated in binary transmission

mode, the sender of this command DEMANDS that the sender of the

data start transmitting characters which are to be interpreted as

RFC856 May 1983

standard NVT ASCII characters by the receiver of the data (i.e.,

the party sending this command). If the connection is not already

being operated in binary transmission mode, the sender of this

command DEMANDS that the sender of data continue transmitting

characters which are to be interpreted in the present mode.

A connection is being operated in binary transmission mode only

when one party has requested it and the other has acknowledged it.

3. Default

WON'T TRANSMIT-BINARY

DON'T TRANSMIT-BINARY

The connection is not operated in binary mode.

4. Motivation for the Option

It is sometimes useful to have available a binary transmission path

within TELNET without having to utilize one of the more efficient,

higher level protocols providing binary transmission (sUCh as the

File Transfer Protocol). The use of the IAC prefix within the basic

TELNET protocol provides the option of binary transmission in a

natural way, requiring only the addition of a mechanism by which the

parties involved can agree to INTERPRET the characters transmitted

over a TELNET connection as binary data.

5. Description of the Option

With the binary transmission option in effect, the receiver should

interpret characters received from the transmitter which are not

preceded with IAC as 8 bit binary data, with the exception of IAC

followed by IAC which stands for the 8 bit binary data with the

decimal value 255. IAC followed by an effective TELNET command (plus

any additional characters required to complete the command) is still

the command even with the binary transmission option in effect. IAC

followed by a character which is not a defined TELNET command has the

same meaning as IAC followed by NOP, although an IAC followed by an

undefined command should not normally be sent in this mode.

6. Implementation Suggestions

It is foreseen that implementations of the binary transmission option

will choose to refuse some other options (such as the EBCDIC

transmission option) while the binary transmission option is in

RFC856 May 1983

effect. However, if a pair of hosts can understand being in binary

transmission mode simultaneous with being in, for example, echo mode,

then it is all right if they negotiate that combination.

It should be mentioned that the meanings of WON'T and DON'T are

dependent upon whether the connection is presently being operated in

binary mode or not. Consider a connection operating in, say, EBCDIC

mode which involves a system which has chosen not to implement any

knowledge of the binary command. If this system were to receive a DO

TRANSMIT-BINARY, it would not recognize the TRANSMIT-BINARY option

and therefore would return a WON'T TRANSMIT-BINARY. If the default

for the WON'T TRANSMIT-BINARY were always NVT ASCII, the sender of

the DO TRANSMIT-BINARY would expect the recipient to have switched to

NVT ASCII, whereas the receiver of the DO TRANSMIT-BINARY would not

make this interpretation.

Thus, we have the rule that when a connection is not presently

operating in binary mode, the default (i.e., the interpretation of

WON'T and DON'T) is to continue operating in the current mode,

whether that is NVT ASCII, EBCDIC, or some other mode. This rule,

however, is not applied once a connection is operating in a binary

mode (as agreed to by both ends); this would require each end of the

connection to maintain a stack, containing all of the encoding-method

transitions which had previously occurred on the connection, in order

to properly interpret a WON'T or DON'T. Thus, a WON'T or DON'T

received after the connection is operating in binary mode causes the

encoding method to revert to NVT ASCII.

It should be remembered that a TELNET connection is a two way

communication channel. The binary transmission mode must be

negotiated separately for each direction of data flow, if that is

desired.

Implementation of the binary transmission option, as is the case with

implementations of all other TELNET options, must follow the loop

preventing rules given in the General Considerations section of the

TELNET Protocol Specification.

Consider now some issues of binary transmission both to and from

both a process and a terminal:

a. Binary transmission from a terminal.

The implementer of the binary transmission option should

consider how (or whether) a terminal transmitting over a TELNET

connection with binary transmission in effect is allowed to

generate all eight bit characters, ignoring parity

considerations, etc., on input from the terminal.

RFC856 May 1983

b. Binary transmission to a process.

The implementer of the binary transmission option should

consider how (or whether) all characters are passed to a

process receiving over a connection with binary transmission in

effect. As an example of the possible problem, TOPS-20

intercepts certain characters (e.g., ETX, the terminal

control-C) at monitor level and does not pass them to the

process.

c. Binary transmission from a process.

The implementer of the binary transmission option should

consider how (or whether) a process transmitting over a

connection with binary transmission in effect is allowed to

send all eight bit characters with no characters intercepted by

the monitor and changed to other characters. An example of

such a conversion may be found in the TOPS-20 system where

certain non-printing characters are normally converted to a

Circumflex (up-arrow) followed by a printing character.

d. Binary transmission to a terminal.

The implementer of the binary transmission option should

consider how (or whether) all characters received over a

connection with binary transmission in effect are sent to a

local terminal. At issue may be the addition of timing

characters normally inserted locally, parity calculations, and

any normal code conversion.

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