📄 rfc726.txt
字号:
NWG/RFC# 726 JBP DHC 8-MAR-77 08:29 39237 Remote Controlled Transmission & Echoing Telnet Option Network Working Group Jon Postel & Dave Crocker Request for Comments: 726 SRI-ARC UC Irvine NIC: 39237 8 March 1977 Remote Controlled Transmssion and Echoing Telnet Option 1 1. Command name and code: 2 RCTE 7 2a 2. Command meanings: 3 IAC WILL RCTE 3a The sender of this command REQUESTS or AGREES to use the RCTE option, and will send instructions for controlling the other side's terminal printer. 3a1 IAC WON'T RCTE 3b The sender of this option REFUSES to send instructions for controlling the other side's terminal printer. 3b1 IAC DO RCTE 3c The sender REQUEST or AGREES to have the other side (sender of WILL RCTE) issue commands which will control his (sender of the DO) output to the terminal printer. 3c1 IAC DON'T RCTE 3d The sender of this command REFUSES to allow the other side to control his (sender of DON'T) terminal printer. 3d1 IAC SB RCTE <cmd> [BC1 BC2] [TC1 TC2] IAC SE 3e where: 3e1 <cmd> is one 8-bit byte having the following flags (bits are counted from the right): 3e1a [page 1] NWG/RFC# 726 JBP DHC 8-MAR-77 08:29 39237 Remote Controlled Transmission & Echoing Telnet Option Bit Meaning 3e1b 0 0 = Ignore all other bits in this byte and repeat the last <cmd> that was sent. Equals a 'continue what you have been doing'. 1 = Perform actions as indicated by other bits in this byte. 3e1c 1 0 = Print (echo) break character 1 = Skip (don't echo) break character 3e1d 2 0 = Print (echo) text up to break character 1 = Skip (don't echo) text up to break character 3e1e 3 0 = Continue using same classes of break characters. 1 = The two 8-bit bytes following this byte contain flags for the new break classes. 3e1f 4 0 = Continue using same classes of transmit characters. 1 = Reset transmit classes according to the two bytes following 1) the break classes bytes, if the break classes are also being reset, or 2) this byte, if the break classes are NOT also being reset. 3e1g Value (decimal) of the <cmd> byte and its meaning: 3e1h 0 = Continue what you have been doing 3e1i Even numbers greater than zero (i.e. numbers with the right most bit off) are in error and should be interpreted as equal to zero. When the <cmd> is an even number greater than zero, classes bytes TC1 & TC2 and/or BC1 & BC2 must not be sent. 3e1j 1 = Print (echo) up to AND INCLUDING break character 3e1k 3 = Print up to break character and SKIP (don't echo) break character 3e1l 5 = Skip text (don't echo) up to break character, but PRINT break character 3e1m 7 = Skip up to and including break character 3e1n Add one of the previous non-zero values to one of the following values, to get the total decimal value for [page 2] NWG/RFC# 726 JBP DHC 8-MAR-77 08:29 39237 Remote Controlled Transmission & Echoing Telnet Option the byte (Note that classes may not be reset without also resetting the printing action; so an odd number is guaranteed): 3e1o 8 = Set break classes (using the next two bytes [BC1 BC2]) 3e1p 16 = Set transmission classes (using the next two bytes [TC1 TC2]) 3e1q 24 = Set break classes (using the next two bytes [BC1 BC2]) and the transmission classes (using the two bytes after that [TC1 TC2]). 3e1r Sub-commands (IAC SB RCTE...) are only sent by the controlling host and, in addition to other functions, functionally replace the Go-Ahead (IAC GA) Telnet feature. RCTE also functionally replaces the Echo (IAC ECHO) Telnet option. That is the Suppress Go-Ahead option should be in force and the Echo option should not be in force while the RCTE option is in use. The echo mode on terminating use of the RCTE option should be the default state, that is DON'T ECHO, WON'T ECHO. 3e2 Classes for break and transmission (the right-most bit of the second byte (TC2 or BC2) represents class 1; the left-most bit of the first byte (TC1 or BC1) represents the currently undefined class 16: 3e3 1: Upper-Case Letter (A-Z) 3e3a 2: Lower-case Letters (a-z) 3e3b 3: Numbers (0-9) 3e3c 4: Format Effectors (<BS> <CR> <LF> <FF> <HT> <VT>) 3e3d The sequence <cr><lf> counts as one character when processed as the Telnet end of line, and is a single break character when class 4 is set. The sequence <cr><nul> counts as one character and is a break character if and only if <cr> is a break character (i.e. class 4 is set). 5: Non-format Effector Control Characters including <DEL> and <ESC> 3e3e 6: . , ; : ? ! 3e3f [page 3] NWG/RFC# 726 JBP DHC 8-MAR-77 08:29 39237 Remote Controlled Transmission & Echoing Telnet Option 7: { [ ( < > ) ] } 3e3g 8: ' " / \ % @ $ & # + - * = ^ _ | ~ 3e3h 9: <Space> 3e3i And Telnet commands (IAC . . .) sent by the user are always to have the effect of a break character. That is, every instance of an IAC is to be treated as a break character, except the sequence IAC IAC. 3e3j The representation to be displayed when printing is called for is the obvious one for the visible characters (classes 1, 2, 3, 6, 7, and 8). Space (class 9) is represented by a blank space. The format effectors (class 4) by their format effect. The non-format effector controls (class 5) print nothing (no space). 3e4 Initially no break classes or transmission classes are in effect. 3e5 Please note that if all the bits are set in a Telnet subcommand argument byte such as TC2 or BC2 then that byte must be preceeded by an <IAC> flag byte. This is the common convention of doubling the escape character to use its value as data. 3e6 Sub-commands (IAC SB RCTE...) are refered to as "break reset commands". 3e7 3. Default: 4 WON'T RCTE -- DON'T RCTE 4a Neither host asserts special control over the other host's terminal printer. 4a1 4. Motivation for the option: 5 RFC's 1, 5 and 51 discuss Network and process efficiency and smoothness. 5a RFC 357, by John Davidson, introduces the problem of echoing delay that occurs when a remote user accesses a full-duplex host, thru a satellite link. In order to save the many thousands of miles of transit time for each echoed character, while still permitting full server responsiveness and clean terminal output, an echo control [page 4] NWG/RFC# 726 JBP DHC 8-MAR-77 08:29 39237 Remote Controlled Transmission & Echoing Telnet Option similar to that used by some time-sharing systems is suggested for the entire Network. 5b In effect, the option described in this document involves making a using host carefully regulate the local terminal printer according to explicit instructions from the remote (serving) host. 5b1 An important additional issue is efficient Network transmission. Implementation of the Davidson Echoing Scheme will eliminate almost all server-to-user echoing. 5c The option described in this document also requests using hosts to buffer a terminal's input to the serving host until it forms a useful unit (with "useful unit" delimited by break or transmission characters as described below). Therefore, fewer messages are sent on the user-to-server path. 5c1 N.B.: This option is only intended for use with full-duplex hosts. The Go-Ahead Telnet feature is completely adequate for half-duplex server hosts. Also, RCTE should be used in place of the ECHO Telnet option. That is the Suppress Go-Ahead option should be in force and the Echo option should not be in force while the RCTE option is in use. 5d [page 5] NWG/RFC# 726 JBP DHC 8-MAR-77 08:29 39237 Remote Controlled Transmission & Echoing Telnet Option 5. Explicit description of control mechanism: 6 User Terminal Printing Action & Control Procedure 6a Negotiate the use of the RCTE option. Once the option is in force the user Telnet follows the following procedure. 6a1 1) Read an item from the network. 6a2 If the item is data, then print it and go to 1. 6a2a If the item is a command, then set the classes and go to 2. 6a2b
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -