diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc452.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc452.txt')
-rw-r--r-- | doc/rfc/rfc452.txt | 787 |
1 files changed, 787 insertions, 0 deletions
diff --git a/doc/rfc/rfc452.txt b/doc/rfc/rfc452.txt new file mode 100644 index 0000000..e82281a --- /dev/null +++ b/doc/rfc/rfc452.txt @@ -0,0 +1,787 @@ + + + + + + +Network Working Group J. Winett +Request for Comments: 452 JMW +NIC: 14136 8 February 1973 + + + TELNET Command at Host LL + + The attached writeup documents the use of the TELNET command at Host + LL for uses under the CP/CMS time-sharing system. This command + provides for use in a HALF DUPLEX or FULL DUPLEX mode and can be used + with ASCII codes or with EBCDIC codes (i.e., transparent mode). The + keyboard conventions allow for entering all ASCII codes using a + CONTROL character followed by another character for the codes not + present on an IBM 2741 terminal. In addition a number of local + TELNET control commands have been defined which allows the mode of + operation to be changed, the redefinition of special characters, the + sending of TELNET control codes, as well as for obtaining input from + a file instead of from the terminal. These later features provide + for a rudimentary file transfer facility. + + This material has not been reviewed for public release and is + intended only for use with the ARPA network. It should not be quoted + or cited in any publication not related to the ARPA network. + + TELNET + + Purpose: + + To access another terminal oriented system on the ARPA network. + + Format: + + TELNET host <tag> RESUME EBCDIC HALFDUP + 1 OPEN ASCII FULLDUP + + host - either the hexadecimal code for a foreign network service + site or a standard mnemonic for a foreign site. See + Figure 1. + + tag - the identifier for the local connections to the network. + The tag is used together with the address of the virtual + machine descriptor table (UTABLE) to form local socket + numbers which are used in the network protocol. + + RESUME - used to reactivate communications with a foreign site + after having previously left the TELNET command leaving + the connections open. + + + + +Winett [Page 1] + +RFC 452 TELNET Command at Host LL February 1973 + + + EBCDIC - to communicate with EBCDIC codes. The default is network + ASCII. + + HALFDUP - to operate under a half duplex protocol, i.e. with a + locked keyboard. + + The EBCDIC HALFDUP the protocol assumes that the TELNET + break code (circle C) will be received to indicate when + the keyboard should be locked for input. + + In ASCII HALFDUP the keyboard will lock after a line of + input and will unlock after one or more lines have been + received for output. An external interrupt will also + unlock a locked keyboard. + + The default is full duplex where the keyboard is always + unlocked for input. A null line is required to + temporarily lock the keyboard in order to receive output. + + Usage: + + A number of hosts on the ARPA network provide TELNET service. A + Network Virtual Terminal (NVT) has been specified so that using + sites can write one TELNET program which maps a local terminal + into the NVT to access any serving site on the network. Once + communication has been established between a using site and a + serving site, keyed input is sent to the serving system and output + from the serving site, when received, is typed on the local + terminal. + + The NVT protocol requires that the keyboard be capable of entering + all of the 128 ASCII codes together with a number of the TELNET + control codes. To support an NVT with an IBM 2741 terminal, it is + necessary to adapt a control convention for entering codes which + are not associated with single keys on the keyboard. In addition, + since CP/CMS processes input from a 2741 on a line at a time + terminated with a newline, a means must be establish for entering + a sequence of characters for transmission which is not terminated + with a newline code. + + When TELNET is initiated the message + + ENTER CONTROL CHARACTER + + is typed. A non-blank character should then be entered which + defines the character which, in combination with another + character, will be used to enter codes not associated with single + + + + +Winett [Page 2] + +RFC 452 TELNET Command at Host LL February 1973 + + + keys. The control character is also used for other special + control functions as described below. + + Codes: + + The NVT usually requires that characters be transmitted in an + eight bit ASCII code. Since the TELNET command is written to + process EBCDIC codes ASCII codes received are translated into + ASCII before being sent to a serving site. Figure 2 gives the + complete definition of EBCDIC indicating the EBCDIC controls and + EBCDIC graphics. Figure 3 gives the codes for the ASCII controls + and graphics. The complete mapping between 8-bit EBCDIC codes and + 8-bit network ASCII codes is shown in Figure 4. The EBCDIC + newline code (NL) is mapped into the ASCII codes for the pair of + characters CR-IF. + + The following ASCII/EBCDIC mapping is used for the non-EBCDIC + graphics: + + ASCII EBCDIC + + TILDE (7E) = (A1) NOT + BAR (7C) = (6A) OR + BACK SLASH (5C) = (EO) + CARAT (5E) = (71) + GRAVE (6O) = (79) + LEFT BRACE (7B) = (8B) + RIGHT BRACE (7D) = (9B) + LEFT BRACKET (5B) = (AD) + RIGHT BRACKET (5D) = (BD) + + The ASCII control DC3 (X' 13') maps to the EBCDIC control TM + (X'13'). The ASCII control NUL (X' oo') is sent to the terminal + as the EBCDIC code for NULL (X' oo') and is not mapped into an + IDLE (X'17'). + + The TELNET control hide-your-input is mapped into the EBCDIC code + for bypass (print suppress) and the TELNET control noecho is + mapped into the EBCDIC code for restore (print restore). If the + TELNET control for echo is received, a message is printed and it + is mapped into an IDLE. Similarly, if the TELNET control for + break is received, a message is printed and it is mapped into an + IDLE unless operation is in EBCDIC HALFDUP mode in which case the + break is used to indicate that any received characters should be + printed and the keyboard unlocked for input. If a data mark or an + interrupt is received, no action is taken except to print a + message to notify the user of this occurrence. + + + + +Winett [Page 3] + +RFC 452 TELNET Command at Host LL February 1973 + + + Input: + + When the control character is entered, the following character is + mapped into a different code than that which it is normally mapped + into, except when the following character is a space or a + character not defined to have a meaning when preceded by the + control character. Figure 5 gives the mapping of the characters + on a 2741 keyboard when preceded by a control character. The + following 2741 keyboard characters do not have a different meaning + when preceded by the control character. + + $ # * % & + + - = _ + . , : ; + ! | ? (cent sign) + SPACE + BACKSPACE + TAB + + When a character is mapped into its control code, the control + character is mapped into the code for IDLE. If the control + character is entered as the last character before the newline key + is entered, the sequence of characters entered is transmitted + without the newline code. That is, the newline code is not + transmitted when it is preceded by the control character. + + When the 2741 keyboard is unlocked for input, characters received + cannot be typed until the keyboard is locked again. After a line + is entered, received characters can then be typed. When operating + in full duplex or ASCII half duplex, a null line entered will + allow received characters to be typed but will not cause the new + line code to be transmitted. To cause a null line, i.e., just the + new line code to be transmitted, the control character should be + entered as the only character in the input line. In EBCDIC + HALFDUP a null line entered will cause a null line to be + transmitted. + + Output: + + ASCII output received from the NVT is converted into EBCDIC with + the sequences CR-LF converted into IDLE-NL. The EBCDIC characters + are then sent to the terminal. Note that not all 128 ASCII codes + when converted to EBCDIC will print on a 2741. Of the 95 ASCII + graphics and the 8 ASCII controls which are defined for the NVT + printer, the following are not visible or audible: + + + + + + +Winett [Page 4] + +RFC 452 TELNET Command at Host LL February 1973 + + + CARAT + GRAVE + BACK SLASH + LEFT BRACE + RIGHT BRACE + LEFT BRACKET + RIGHT BRACKET + ASCII CONTROL BELL (BEL) + ASCII CONTROL VERTICAL TAB (HT) + ASCII CONTROL FORM FEED (FF) + ASCII CONTROL CARRIAGE RETURN (CR) + + Figure 6 shows how the EBCDIC codes from X' 40' through X' FF' + will appear on a 2741 terminal. Figure 7 shows how the EBCDIC + codes will appear when printed with a PN train on the offline + printer and Figure 8 shows how these codes appear when printed + with a TN train. + + Controls: + + If the first character in an input line is the control character + and the next character is a space, the rest of the line is + interpreted as a TELNET control command. A control command + consists of a control word and parameters separated by spaces. + Controls are defined which permit TELNET controls to be + transmitted to the serving site, allow input to come from a file + or output to go to a file, allow CMS functions or transient + commands to be issued, redefine the control character or TELNET + mode, close connections or leave the TELNET command with + connections still open, as well as controls to support a reader, + punch, and printer with RJS operation. The controls are described + below. + + CONTROL x + + Where x is the new control character + + CLOSE + + To close all connections and quit + + QUIT + + To leave TELNET + + EBCDIC + + To go into transparent mode, i.e., no translation + + + +Winett [Page 5] + +RFC 452 TELNET Command at Host LL February 1973 + + + ASCII + + To translate input and output to network ASCII + + Break + + To send the TELNET break code + + SYNC + + To send the TELNET data mark code and an interrupt + + AATN + + To send a TELNET break and a SYNC + + HIDE-YOUR-INPUT + + To send the TELNET hide you input code + + NOECHO + + To send the TELNET noecho code + + ECHO + + To send the TELNET echo code + + CMS command arg1...argN + + To issue CMS core resident function or transient command. + + INPUT fn ft + * TERMIN + * * + + To get input from a file If fn is defaulted, input is reset to + come from the terminal. If fn is * file input resumes after the + last line read. After an EOF, the next line read will be the + first line of the file. + + An external interrupt while input is coming from a file will cause + the line number of the next line to be read from the file to be + typed and input to be reset to come from the terminal. + + + + + + + +Winett [Page 6] + +RFC 452 TELNET Command at Host LL February 1973 + + + OUTPUT fn OFF TERM INPUT INOUT + * ON NOTERM NOINPUT OUTPUT + + To write output to the file "fn TERMOUT". If fn is defaulted, + output is reset to go to the terminal. If fn is *, file OUTPUT is + resumed with the same options as were last used. + + For Output to the Terminal: + + If the last character is a CR, a line with just the control + character is typed on the next line (with a NL) + + If the last character is not a NL or a CR, the line is typed + without a NL (i.e., with TYPE). + + For Output to a File: + + If just a NL is in the line, just the control character is sent to + the file. + + If the last CHAR is not NL or CR, the control character is added + after the last character, except if 130 characters must be sent to + the file. + + If the last CHAR is a CR, it is included in the file. + + OFF causes all output to be discarded. + + ON is the default, and causes output to the terminal. + + TERM causes output to also go to the terminal. + + NOTERM is the default, and causes output to go the file but not to + the terminal. + + OUTPUT is the default and causes just terminal output to be put to + the file "FN termout". + + + INPUT causes both terminal input but not output to be put to the + output file. + + NOINPUT is defaulted and causes input to not go to the file. + + PURGE + + To purge all output currently received by the NCP. + *****NOT YET IMPLEMENTED***** + + + +Winett [Page 7] + +RFC 452 TELNET Command at Host LL February 1973 + + + READER fn ft + * READER + + To send a job to the RJS system at UCLA's CCN. + + If fn and ft are defaulted, input will come from the card reader. + + PRINTER fn ft + * PRINTER + + To receive printer output from the RJS system at UCLA's CCN. + + To receive punch output from the RJS system at UCLA's CCN. + + If fn and ft are defaulted, output goes to the printer. + + PUNCH fn ft + * PUNCH + + If fn and ft are defaulted, output goes to the punch. + + HOST SITE MACHINE SYSTEM HOST NUMBER + DEC OCT HEX + + NMC UCLA SIGNA-7 SEX 1 1 01 + ARC SRI PDP-10 NIC 2 2 02 + UCSB UCSB 360/75 OS/MVT 3 3 03 + UTAH UTAH PDP-10 TENEX 4 4 04 + MULTICS MIT H-645 MULTICS 6 6 06 + SDC SDC 370/155 ADEPT 8 10 08 + HARV HARVARD PDP-10 4S72 9 11 09 + LL LL 360/67 CP/CMS 10 12 0A + CASE CASE PDP-10 10/50 13 15 0D + CMU CMU PDP-10 TOPS-10 14 16 0E + ILLIAC AMES 360/67 TTS/360 16 18 10 + AMES AMES B-6500 ? 15 17 0F + CCN UCLA 360/91 OS/MVT 65 101 41 + SRI SRI-AI PDP-10 TENEX 66 102 42 + BBNA BBN PDP-10 TENEX 69 105 45 + DMCG MIT PDP-10 ITS 70 106 46 + RAND RAND-RCC PDP-10 TENEX 71 107 47 + TX2 LL TX-2 APEX 74 112 4A + BBNB BBN PDP-10 TENEX 133 205 85 + MIATI MIT PDP-10 ITS 134 206 86 + + Serving Hosts on the APRA Network + Figure 1 + + + + +Winett [Page 8] + +RFC 452 TELNET Command at Host LL February 1973 + + + [[See Figure 2 in PDF file.]] + Extended Binary-Coded Decimal Interchange Code (EBCDIC) + FIGURE 2 + + and + + [[See Figure 3 in PDF file.]] + USA Standard Code for Information Interchange (USASCII) + FIGURE 3 + + + ASCII ASCII ASCII SYMBOLS EBCDIC EBCDIC + DEC OCT HEX HEX DEC + + 0 0 (00) NUL (00) 00 + 1 1 (01) SOH (01) 01 + 2 2 (02) STX (02) 02 + 3 3 (03) ETX (03) 03 + 4 4 (04) EOT (37) 55 + 5 5 (05) ENQ (2D) 45 + 6 6 (06) ACK (2E) 46 + 7 7 (07) BEL (2F) 47 + 8 10 (08) BS (16) 22 + 9 11 (09) HT (05) 05 + 10 12 (0A) LF (25) 37 + 11 13 (0B) VT (0B) 11 + 12 14 (0C) FF (0C) 12 + 13 15 (0D) CR (0D) 13 + 14 16 (0E) SO (0E) 14 + 15 17 (0F) SI (0F) 15 + 16 20 (10) DLE (10) 16 + 17 21 (11) DC1 (11) 17 + 18 22 (12) DC2 (12) 18 + 19 23 (13) DC3 (13) 19 + 20 24 (14) DC4 (3C) 60 + 21 25 (15) NAK (3D) 61 + 22 26 (16) SYN (32) 50 + 23 27 (17) ETB (26) 38 + 24 30 (18) CAN (18) 24 + 25 31 (19) EM (19) 25 + 26 32 (1A) SUB (3F) 63 + 27 33 (1B) CTL (27) 39 + 28 34 (1C) FS (1C) 28 + 29 35 (1D) GS (1D) 29 + 30 36 (1E) RS (1E) 30 + 31 37 (1F) US (1F) 31 + 32 40 (20) SP (40) 64 + 33 41 (21) ! (5A) 90 + + + +Winett [Page 9] + +RFC 452 TELNET Command at Host LL February 1973 + + + 34 42 (22) " (7F) 127 + 35 43 (23) # (7B) 123 + 36 44 (24) $ (5B) 91 + 37 45 (25) % (6C) 108 + 38 46 (26) & (50) 80 + 39 47 (27) ' (7D) 124 + 40 50 (28) ( (4D) 77 + 41 51 (29) ) (5D) 93 + 42 52 (2A) * (5C) 92 + 43 53 (2B) + (4E) 78 + 44 54 (2C) , (6D) 109 + 45 55 (2D) - (60) 96 + 46 56 (2E) . (4B) 75 + 47 57 (2F) / (61) 97 + 48 60 (30) 0 (F0) 240 + 49 61 (31) 1 (F1) 241 + 50 62 (32) 2 (F2) 242 + 51 63 (33) 3 (F3) 243 + 52 64 (34) 4 (F4) 244 + 53 65 (35) 5 (F5) 245 + 54 66 (36) 6 (F6) 246 + 55 67 (37) 7 (F7) 247 + 56 70 (38) 8 (F8) 248 + 57 71 (39) 9 (F9) 249 + 58 72 (3A) : (7A) 122 + 59 73 (3B) ; (5E) 94 + 60 74 (3C) < (4C) 76 + 61 75 (3D) = (7E) 126 + 62 76 (3E) > (6E) 110 + 63 77 (3F) ? (6F) 111 + 64 100 (40) @ (7C) 124 + 65 101 (41) A (C1) 193 + 66 102 (42) B (C2) 194 + 67 103 (43) C (C3) 195 + 68 104 (44) D (C4) 196 + 69 105 (45) E (C5) 197 + 70 106 (46) F (C6) 198 + 71 107 (47) G (C7) 199 + 72 110 (48) H (C8) 200 + 73 111 (49) I (C9) 201 + 74 112 (4A) J (D1) 209 + 75 113 (4B) K (D2) 210 + 76 114 (4C) L (D3) 211 + 77 115 (4D) M (D4) 212 + 78 116 (4E) N (D5) 213 + 79 117 (4F) O (D6) 214 + 80 120 (50) P (D7) 215 + 81 121 (51) Q (D8) 216 + + + +Winett [Page 10] + +RFC 452 TELNET Command at Host LL February 1973 + + + 82 122 (52) R (D9) 217 + 83 123 (53) S (E2) 226 + 84 124 (54) T (E3) 227 + 85 125 (55) U (E4) 228 + 86 126 (56) V (E5) 229 + 87 127 (57) W (E6) 230 + 88 130 (58) 8 (E7) 231 + 89 131 (59) Y (E8) 232 + 90 132 (5A) Z (E9) 233 + 91 133 (5B) [ (AD) 173 + 92 134 (5C) (cent sign) (4A) 74 (BACK-SLASH) + 93 135 (5D) ] (BD) 189 + 94 136 (5E) (71) 113 (CARAT) + 95 137 (5F) _ (6D) 109 + 96 140 (60) (79) 121 (GRAVE) + 97 141 (61) a (81) 129 + 98 142 (62) b (82) 130 + 99 143 (63) c (83) 131 + 100 144 (64) d (84) 132 + 101 145 (65) e (85) 133 + 102 146 (66) f (86) 134 + 103 147 (67) g (87) 135 + 104 150 (68) h (88) 136 + 105 151 (69) i (89) 137 + 106 152 (6A) j (91) 145 + 107 153 (6B) k (92) 146 + 108 154 (6C) l (93) 147 + 109 155 (6D) m (94) 148 + 110 156 (6E) n (95) 149 + 111 157 (6F) o (96) 150 + 112 160 (70) p (97) 151 + 113 161 (71) q (98) 152 + 114 162 (72) r (99) 153 + 115 163 (73) s (A2) 162 + 116 164 (74) t (A3) 163 + 117 165 (75) u (A4) 164 + 118 166 (76) v (A5) 165 + 119 167 (77) w (A6) 166 + 120 170 (78) x (A7) 167 + 121 171 (79) y (A8) 168 + 122 172 (7A) z (A9) 169 + 123 173 (7B) { (8B) 139 + 124 174 (7C) | (4F) 79 (BAR/OR) + 125 175 (7D) } (9B) 155 + 126 176 (7E) (broken bar) (5F) 95 (TILDE/NOT) + 127 177 (7F) DEL (07) 7 + + + + + +Winett [Page 11] + +RFC 452 TELNET Command at Host LL February 1973 + + + ASCII ASCII ASCII TELNET EBCDIC EBCDIC + DEC OCT HEX CONTROLS HEX DEC + + 128 100 (80) DATA-MARK (80) 128 + 129 101 (81) BREAK (38) 56 + 130 102 (82) NOP (17) 23 IDLE + 131 103 (83) NOECHO (14) 20 RESTORE + 132 104 (84) ECHO (23) 35 + 133 105 (85) HIDE-YOUR INPUT (24) 36 BYPASS + + ASCII/EBCDIC Code Mappings + FIGURE 4 + + EBCDIC EBCDIC ASCII + + CENT (4A) = ESC (27) (1B) + + CTL < (4C) = LEFT BRACKET (AD) (5B) + CTL > (6E) = RIGHT BRACKET (BD) (5D) + CTL ( (4D) = LEFT BRACE (8B) (7B) + CTL ) (5D) = RIGHT BRACE (9B) (7D) + CTL / (61) = BACK SLASH (4A) (5C) + CTL " (7F) = CARAT (71) (5E) + CTL ' (7D) = GRAVE (79) (60) + + CTL 6 (F6) = FS (1C) (1C) + CTL 7 (F7) = GS (1D) (1D) + CTL 8 (F8) = RS (1E) (1E) + CTL 9 (F9) = US (1F) (1F) + CTL _ (6D) = US (1F) (1F) + + CTL (broken bar) (5F) = DEL (07) (7F) + + CTL @ (7C) = NUL (00) (00) + CTL A (C1) = SOH (01) (01) + CTL B (C2) = STX (02) (02) + CTL C (C3) = ETX (03) (03) + CTL D (C4) = EOT (37) (04) + CTL E (C5) = ENQ (2D) (05) + CTL F (C6) = ACK (2E) (06) + CTL G (C7) = BEL (2F) (07) + CTL H (C8) = BS (16) (08) + CTL I (C9) = HT (05) (09) + CTL J (D1) = LF (25) (0A) + CTL K (D2) = VT (0B) (0B) + CTL L (D3) = FF (0C) (0C) + CTL M (D4) = CR (0D) (0D) + + + + +Winett [Page 12] + +RFC 452 TELNET Command at Host LL February 1973 + + + CTL N (D5) = SO (0E) (0E) + CTL O (D6) = SI (0F) (0F) + + CTL P (D7) = DLE (10) (10) + CTL Q (D8) = DC1 (11) (11) + CTL R (D9) = DC2 (12) (12) + CTL S (E2) = DC3 (13) (13) + CTL T (E3) = DC4 (3C) (14) + CTL U (E4) = NAK (3D) (15) + CTL V (E5) = SYN (32) (16) + CTL W (E6) = ETB (26) (17) + CTL X (E7) = CAN (18) (18) + CTL Y (E8) = EM (19) (19) + CTL Z (E9) = SUB (3F) (1A) + + EBCDIC EBCDIC ASCII + + CTL 1 (F1) = BREAK (38) (81) - CIRCLE C + CTL 2 (F2) = NOP (17) (82) - IDLE + CTL 3 (F3) = NO ECHO (14) (83) - RESTORE + CTL 4 (F4) = ECHO (23) (84) + CTL 5 (F5) = HIDE YOU INPUT (24) (85) - BYPASS + + DATA MARK (80) CANNOT BE ENTERED FROM THE KEYBOARD + + THE FOLLOWING 2741 KEYBOARD CHARACTERS DO NOT + HAVE A MEANING AS A CONTROL: + + $ # * % & + + - = _ + . , : + ! | ? (cent sign) + SPACE + BACKSPACE + TAB + + Keyboard Control Character Mappings + FIGURE 5 (CONTINUED) + + + + + + + + + + + + + +Winett [Page 13] + +RFC 452 TELNET Command at Host LL February 1973 + + + [[See Figure in PDF file.]] + Hex Code X'xy' for Characters on a 2741 Terminal + + [[See Figure in PDF file.]] + Decimal Code D 'xxy" for Characters on a 2741 terminal + + HT X'05' = D'005' Horizontal Tab + LC X'06' = D'006' Lower Case + RES X'14' = D'020' Print Restore + NL X'15' = D'021' New Line + BS X'16' = D'022' Back Space + IL X'17' = D'023' Idle + BYP X'24' = D'036' Print Bypass + LF X'25' = D'037' Line Feed + UC X'36' = D'054' Upper Case + + Hex Code X'xy' and Decimal Code D'xxy' for 2741 Control Codes + + [[See Figure in PDF file.]] + Hex Code X'xy' for Characters on the PN train + + [[See Figure in PDF file.]] + Decimal Code D'xxy' for characters on the PN train + + [[See Figure in PDF file.]] + Hex Code X'xy' for Characters on th TN train + + [[See Figure in PDF file.]] + Decimal Code D'xxy' for Characters on the TN train + + [This RFC was put into machine readable form for entry] + [into the online RFC archives by Helene Morin, Via Genie,12/1999] + + + + + + + + + + + + + + + + + + + +Winett [Page 14] + |