diff options
Diffstat (limited to 'doc/rfc/rfc206.txt')
-rw-r--r-- | doc/rfc/rfc206.txt | 787 |
1 files changed, 787 insertions, 0 deletions
diff --git a/doc/rfc/rfc206.txt b/doc/rfc/rfc206.txt new file mode 100644 index 0000000..694350b --- /dev/null +++ b/doc/rfc/rfc206.txt @@ -0,0 +1,787 @@ + + + + + + +Network Working Group J. White +Request for Comments: 206 Computer Research Lab, UCSB +NIC: 7176 9 August 1971 + + + A User TELNET + Description of an Initial Implementation + +PREFACE + + The User TELNET described in this document has been implemented + within UCSB's Online System by Mark Krilanovich and makes teletype- + compatible time-sharing systems in the Net accessible to Online + System users. + +Contents + + Page + I. Function................................................... 1 + II. Invoking TELNET............................................ 2 + III. The Virtual Teletype....................................... 5 + IV. Returning to TELNET........................................ 11 + V. Breaking TELNET Connections................................ 12 + VI. Abnormal Network Conditions................................ 12 + +FIGURES + + Page + Figure 1. Network Sites........................................ 4 + Figure 2. TELNET Character Set................................. 6 + Figure 3. Connect Error Codes.................................. 13 + Figure 4. Input Error Codes.................................... 13 + Figure 5. Output Error Codes................................... 14 + +I. Function + + This document describes a program whose function is to make an Online + System terminal _appear_ to any teletype-compatible, time-sharing + system in the Network _as if it were directly connected to that + system_. By invoking this program from his terminal, an OLS user can + effectively dial up a system at another site and use it as if he were + a local user of that system. The program performs the following + major functions: + + 1) it resolves keyboard and display device incompatibilities + + 2) performs character set transformations, and + + + + +White [Page 1] + +RFC 206 A User TELNET August 1971 + + + 3) makes its presence and that of the Network transparent to the + user. + + The program which performs these functions is called a _User TELNET_. + It operates in conjunction with another program called a _Server + TELNET_ executing at the site whose system is being used. A Server + TELNET exists at each site whose system is accessible from the Net. + Similarly, a User TELNET must exist at a site before users at that + site have access to remote systems. + + User and Server TELNETs access the Net through their respective NCPs, + and operate under a Network-standard protocol which specifies the + hand-shaking procedure by which the two parties connect themselves to + one another, as well as the format of data sent over a pair of + Network connections established between them. A User TELNET makes + such protocol considerations transparent to its users. + + The TELNET protocol is based upon the notion of a virtual teletype, + employing a 7-bit ASCII character set. The primary function of a + User TELNET, then, is to provide the means by which its users can + 'hit' all the keys on that virtual teletype. If the user's keyboard + happens in fact to actually be a teletype, then the mapping procedure + is a very simple one. However, in UCSB's case, where a user's input + device is an OLS keyboard (a device very different from a teletype), + the mapping is more complex. + + The primary function of a Server TELNET is to map the keys on the + virtual teletype into that set of keys _its_ local users can push on + _their_ keyboards. Again, if those keyboards are teletypes, the + mapping done by the Server TELNET is straightforward. In other + cases, the task may be very complex. + + A similar set of mappings transforms ouput generated by the remote + system into a form displayable on the user's output device (in UCSB's + case, this device is normally a storage scope). + +II. Invoking TELNET + + This and succeeding sections describe a preliminary version of a User + TELNET (hereafter referred to simply as TELNET) currently implemented + within the Online System. This initial implementation does not + provide all of the services that a final version must provide, nor + does it provide all the conveniences that the next version will + offer. It's a first pass which will be upgraded in the near future. + + + + + + + +White [Page 2] + +RFC 206 A User TELNET August 1971 + + + TELNET is accessible from NET, a subsystem (like MOLSF and COL) of + OLS. A user is by default prohibited from loading NET. To have + access to NET enabled fro his user number, a user need only contact + the Computer Center. Assuming the foregoing, Net can be loaded with + the key sequence: + + KEYBOARD ENTRY OLS QUERY/RESPONSE + SYST WORK AREAS UPDATED + LOAD NET LOAD NET + RETURN FILE LOADED + + or by specifying the system name 'NET' at login. + + Once in NET, TELNET is invoked by going to Level II Real and hitting + _LOG_. TELNET responds with a query for site number. The user + should enter in decimal the number of the site (as indicated in + Figure 1) to which he desires access, followed by _RETURN_. TELNET + will then query the user for the Server TELNET's socket_number. By + convention, this number is normally 1, but in certain cases some + other socket may be appropriate. In any case, the user should enter + the socket number in decimal and hit _RETURN_. The dialogue, then, + goes like this: + + KEYBOARD ENTRY OLS QUERY/RESPONSE + II LOG FOREIGN SITE NO. = (site number) + site number RETURN FOREIGN SCK NO. = 1 + 1 RETURN + + When the second RETURN is depressed, TELNET will attempt to contact + the designated Server TELNET and establish a duplex connection for + the user. Once the connection has been established, TELNET will + erase the tube and position the carriage to the upper left-hand + corner of the screen. From this point on, the user is effectively + connected to the remote system. TELNET enters a mode in which keys + pushed by the user are mapped into their virtual-teletype equivalents + and incoming text similarly transformed and displayed on the scope. + If the remote system to which the user is connected normally issues a + login message, that message will be the first to be displayed. In + any case, the user should proceed by logging in to the remote system + according to the conventions appropriate to that system. + + + + + + + + + + + +White [Page 3] + +RFC 206 A User TELNET August 1971 + + + Figure 1. + + Network Sites + +Institution Location Computer Site Site # Site # + Name (HEX) (DEC) +------------------------------------------------------------------------ +UCLA Los Angeles Sigma-7 UCLA 01 1 + +UCLA Los Angeles IBM 360/91 UCL1 41 65 + +Stanford Research +Institute Menlo Park PDP-10 SRI0 02 2 + +Stanford Research +Institute Menlo Park PDP-15 SRI1 42 66 + +UCSB Santa Barbara IBM 360/75 UCSB 03 3 + +University of Salt Lake City, +Utah Utah PDP-10 UTAH 04 4 + +Bolt, Beranek, Cambridge, +and Newman Mass. PDP-10 BBN0 05 5 + +Bolt, Beranek, Cambridge, +and Newman Mass. DDP-516 BBN1 45 69 + +MIT Cambridge, + Mass. GE 645 MIT0 06 6 + +MIT Cambridge, + Mass. PDP-10 MIT1 46 70 + +Rand +Corporation Santa Monica IBM 1800 RAND 07 7 + (IBM 360/65) + +System Development +Corporation Santa Monica DDP-516 SDC 08 8 + (IBM 360/67) + +Harvard Cambridge, +University Mass. PDP-10 HRV0 09 9 + +Harvard Cambridge, +University Mass. PDP-1 HRV1 49 73 + + + + +White [Page 4] + +RFC 206 A User TELNET August 1971 + + +Lincoln Lexington, +Laboratory (MIT)Mass. IBM 360/67 LINO 0A 10 + +Lincoln Lexington, +Laboratory (MIT)Mass. TX2 LIN1 4A 74 + +Stanford +University Stanford PDP-10 STAN 0B 11 + +University of Urbana, Ill. PDP-11 ILl 0C 12 +Illinois + +Case Western +Resevrve Cleveland, +University Ohio PDP-10 CASE 0D 13 + +Carnegie-Mellon Pittsburgh, +University Pa. PDP-10 CARN 0E 14 + +Burroughs Paoli, Pa. B-6500 BURR 0F 15 + (Illiac IV) + +III. The Virtual Teletype + + The algorithm by which TELNET maps the OLS keyboard into the virtual + teletype's character set, and by which it maps that same character + set into the set of characters which can be displayed on the user's + storage scope is defined in Figure 2. A line of that figure reads as + follows: + + For line 11: + + The key labeled 'LF' (meaning 'Line Feed') on the virtual + teletype, sometimes referred to as 'control-J', is struck by + pressing either _SUB_, _CASE J_, or [1] on an OLS keyboard. + TELNET sends to the remote system an 8-bit character with the + value X'0A'. Whenever 'LF' is received from the foreign system, + TELNET displays it by rolling the carriage down one line. + + As indicated in the figure, _CASE_ substitutes for the CNTRL key on a + teletype. Hence, for example, 'control-C' is represented by the key + pair 'CASE C'. Note, however, that _CASE_ and 'C' are hit in + sequence, whereas on a teletype the CNTRL key is held down while 'C' + is struck. 'CASE A' - 'CASE Z' each have an equivalent on the upper + keyboard, and the position of that key on the upper keyboard + corresponds to that of its counterpart on the lower keyboard. Hence, + LS equivalent to CASE A. + + + + +White [Page 5] + +RFC 206 A User TELNET August 1971 + + + Although TELNET provides the user with the means for transmitting + both upper- and lower-case alphabetics (hitting 'A' sends a lower- + case 'A'; holding down _SHIFT_ and hitting 'A' sends upper-case 'A'), + there is no provision in OLS for displaying lower-case characters on + the storage scope. Hence, TELNET maps lower-case alphabetics into + upper-case before displaying them. + + The four virtual teltype keys 'ENQ', 'ACK', 'BEL', and 'NAK' are + displayed by TELNET in a special manner. Two lines are reserved for + these characters at the top of the display area, and whenever TELNET + receives such a character from the remote system, it displays it in + its assigned position within the two-line field. TELNET always + positions those four characters at the top of the display area, + regardless of the user's current position on the scope, then returns + to it. + + A storage scope has both positive and negative attributes relative to + a teletype. Display is much quieter on a scope than on a teletype. + However, the noise made by the return of a teletype carriage is often + a valuable cue to the user, frequently signifying that the previous + line of input from the user has been accepted by the system. As a + substitute for this particular cue, TELNET displays an underline + ('_') at the left edge on the next line whenever it receives a + carriage return (CR) from the remote system. + + Figure 2. TELNET Character Set + +To | | Also |Push | Or |Code Sent |Upon receipt +Send| (Explanation)| Known as |Either| |is (in hex)|Displayed as +----+--------------+----------+------+---------+-----------+------------ +NUL |NULL | ^@ | [2] | | 00 | + | | | | | | +SOH |Start of | [3]^A | LS |[4]CASE A| 01 | + | Heading | | | | | + | | | | | | +STX |Start of Text | ^B | ATAN | CASE B | 02 | + | | | | | | +ETX |End of Text | ^C | LOG | CASE C | 03 | + | | | | | | +EOT |End of | | | | | + | Transmission| ^D | REFL | CASE D | 04 | + | | | | | | +ENQ |Enquiry | ^E | [4] | CASE E | 05 | [5] <ENQ> + | | | | | | +ACK |Acknowledge | ^F | UP | CASE F | 06 | <ACK> + | | | | | | +BEL |Bell | ^G | DOWN | CASE G | 07 | <BELL> + + + + +White [Page 6] + +RFC 206 A User TELNET August 1971 + + +BS |Backspace | ^H | EVAL | CASE H | 08 | + | | | | | | +HT |Horizontal | | | | | + |Tab. | ^I | INV | CASE I, | 09 | + | | | | TAB | | + | | | | | | +LF |Line Feed | ^J | SUB | CASE J, | 0A | Carriage + | | | | [1] | | rolled down + | | | | | | +VT |Vertical Tab. | ^K | MAX | CASE K | 0B | + | | | | | | +FF |Form Feed | ^L | MOD | CASE L | 0C | + | | | | | | +CR |Carriage | | | | | + | Return | ^M | DEL | CASE M, | 0D |[6]Carriage + | | | | RETURN| | returned + | | | | | | +SO |Shift Out | ^N | ARG | CASE N | 0E | + | | | | | | +SI |Shift In | ^O | DIFF | CASE O | 0F | + | | | | | | +DLE |Data Link | | | | | + | Escape | ^P | SUM | CASE P | 10 | + | | | | | | +DC1 |Device | | | | | + | Control 1 | ^Q | [7] | CASE Q | 11 | + | | | | | | +DC2 |Device | | | | | + | Control 2 | ^R | [8] | CASE R | 12 | + | | | | | | +DC3 |Device | | | | | + | Control 3 | ^S | RS | CASE S | 13 | + | | | | | | +DC4 |Device | | | | | + | Control 4 | ^T | SQ | CASE T | 14 | + | | | | | | +NAK |Negative | | | | | + | Acknowledge | ^U | CONJ | CASE U | 15 | <NAK> + | | | | | | +SYN |Synchronous | | | | | + | Idle | ^V | EXP | CASE V | 16 | + | | | | | | +ETB |End of | | | | | + | Transmission| | | | | + | Block | ^W | [9] | CASE W | 17 | + | | | | | | +CAN |Cancel | ^X | COS | CASE X | 18 | + + + + +White [Page 7] + +RFC 206 A User TELNET August 1971 + + +EM |End of Medium | ^Y | SQRT | CASE Y | 19 | + | | | | | | +SUB | Substitute | ^Z | SIN | CASE Z | 1A | + | | | | | | +ESC | Escape |Alt Mode, | NEG | | 1B | + | | ^[ | | | | + | | | | | | +FS | File | ^ | PROD | | 1C | + | Separator | | | | | + | | | | | | +GS | Group | ^] | SORT | | 1D | + | Separator | | | | | + | | | | | | +RS | Record | ^^ | CONV | | 1E | + | Separator | | | | | + | | | | | | +US | Unit | ^<- | PWR | | 1F | + | Separator | | | | | + | | | | | | +SP | Space | |SPACE | | 20 |blank + | | | | | | +! | Exclamation | | ! | | 21 | ! + | Point | | | | | + | | | | | | +" | Quotation |Diaeresis | " | | 22 | " + | Marks | | | | | + | | | | | | +# | Number Sign | | # | | 23 | # + | | | | | | +$ | Dollar Sign | | $ | | 24 | $ + | | | | | | +% | Percent | | % | | 25 | % + | | | | | | +& | Ampersand | | & | | 26 | & + | | | | | | +' | Apostrophe |Acute | ' | | 27 | ' + | | Accent, | | | | + | | Closing | | | | + | | Single | | | | + | | Quote | | | | + | | | | | | +( | Opening | | | | 28 | ( + | Parenthesis| | ( | | | + | | | | | | +) | Closing | | | | 29 | ( + | Parenthesis| | ( | | | + | | | | | | +* | Asterick | | * | | 2A | * + + + +White [Page 8] + +RFC 206 A User TELNET August 1971 + + ++ | Plus | | + | | 2B | + + | | | | | | +, | Comma |Cedilla | , | | 2C | , + | | | | | | +- | Hyphen |Minus | - | | 2D | - + | | | | | | +. | Period |Decimal | . | | 2E | . + | | Point | | | | + | | | | | | +/ | Slant | | / | | 2F | / + | | | | | | +: | Colon | | : | | 3A | : + | | | | | | +; | Semicolon | | ; | | 3B | ; + | | | | | | +< | Less than | | < | | 3C | < + | | | | | | += | Equals | | = | | 3D | = + | | | | | | +> | Greater than | | > | | 3E | > + | | | | | | +? | Question Mark| | ? | | 3F | ? + | | | | | | +@ | Commercial At| | @ | | 40 | @ + | | | | | | +[ | Opening | | [ | | 5B | [ + | Bracket | | | | | + | | | | | | +\ | Reverse Slant| |CASE /| | 5C | \ + | | | | | | +] | Closing | | ] | | 5D | ] + | Bracket | | | | | + | | | | | | +^ | Circumflex | | ^ | ^ | 5E | ^ + | | | | | | +_ | Underline | | <- | _ | 5F | _ + | | | | | | +` | Grave Accent | Opening |CASE `| | 60 |` + | | single | | | | + | | quote | | | | + | | | | | | +{ | Opening Brace| |CASE (| | 7B | { + | | | | | | +| | Vertical Line| | | | | 7C | | + | | | | | | +} | Closing Brace| |CASE )| | 7D | } + + + + + +White [Page 9] + +RFC 206 A User TELNET August 1971 + + +~ | Tilde | Overline,| - | | 7E | ~ + | | General | | | | + | | Accent | | | | + | | | | | | +DEL | Delete | Rubout | BACK | | 7F | + | | | | | | +0-9 | Numerics | | 0-9 | | 30-39 | 0-9 + | | | | | | +A-Z | Upper Case | |SHIFT | | 41-5A | A-Z + | Alphabetics | |[9] | | | + | | | A-Z | | | + | | | | | | +a-z | Lower Case | | | | 61-7A | A-Z + | Alphabetics | | A-Z | | | + | | | | | | + + Table Notes + + [1] Down arrow + [2] Superscript 1 + [3] Superscript 2 + [4] Circle with Dot in the Middle + [5] Superscript 3 + [6] Superscript 6 + [7] Circle with Plus (+) in the Middle + [8] Circle with Slash (/) in the Middle + [9] Superscript 5 + + Notes for Figure 2. TELNET Character Set + + Superscript 1 - All of the following keys send NULL: + + SET, CLR, cent sign, Superscript 0-9 + + Superscript 2 - '^A' is read 'Control A'. Same for '^B', '^C', etc. + + Superscript 3 - ENQ, ACK, BEL, and NAK are displayed as '<ENQ>', + '<ACK>', '<BELL>', and '<NAK>', respectively, in an + area at the top of the screen reserved especially for + those characters. + + Superscript 4 - ^A is sent by hitting th keys 'CASE' and 'A' in turn. + Same for ^B, ^C, etc. + + Superscript 5 - Upper case 'A' is sent by holding down the SHIFT key + while 'A' is struck. Same for upper case 'B', 'C', + etc. + + + + +White [Page 10] + +RFC 206 A User TELNET August 1971 + + + Superscript 6 - CR also causes an underline '_' to be displayed in + the left margin as a substitute for the often useful + cue provided by the noisy return of a teletype + carriage. + + A storage scope is also a much faster display device than a teletype. + However, in some situations this apparent attribute can be + troublesome. In particular, when a system displays a whole series of + lines of text without requiring input from the user, the display may + be wrapped around from the bottom of the scope to the top, and begin + overlaying itself before the user has had some time to read it all. + In such cases, the following strategy is sometimes useful (and will + make sense once the next section -- Section IV -- has been read): hit + _II_ before the display begins to wrap around upon itself; the + display will stop. After the text has been read, erase the scope and + hit _LOG_ and display will resume. + + If the user hits _ERASE_ while in TELNET, that key will have its + usual effect; it will have _no_effect upon the remote system. + However, because of a quirk in the current implementation of TELNET, + _ERASE_ will have the one additional effect of causing the display of + incoming text to be suspended until another key on the virtual + teletype is struck. The user is thus cautioned against erasing the + scope while waiting for a response from the remote system. However, + the user can extricate himself from the situation described by + following the _ERASE_ with NUL on the virtual teletype. + +IV. Returning to TELNET + + The user can at any time escape from TELNET (and hence from the + remote system to which he is attached) by depressing a level key + (e.g., I, II,...,_SYST, TYPE, LIST_) or of course, by hitting + _RESET_. Any time thereafter, the user may return to TELNET by + hitting _II LOG_ (on NET) once again, and resume operation on his + remote system _exactly where he left off_. When _'II LOG'_ is + pressed this second time, instead of querying the user for site + number as before, TELNET will notice that the user is already + connected to a remote system and simply resume where _it_ left off. + + After he escapes from TELNET and before he returns to it, the user + may engage himself in any other Online System activity short of + logging out but including changing systems, while still retaining the + option of subsequently returning to TELNET and resuming activity on + the remote system to which he remains connected. The user can + exploit this property of TELNET to obtain hard copy of a selected + portion of his dialogue with the remote system. The user simply + brings his system to the point at which a listing is thereby desired, + escapes from TELNET by hitting _'TYPE SEL' 1,4 RETURN'_, thereby + + + +White [Page 11] + +RFC 206 A User TELNET August 1971 + + + selecting the line printer as a secondary output device, and then + returns to TELNET by pressing _'II LOG'_. All subsequent + communication with the remote system will be recorded for eventual + output on the printer. Logging off of OLS while escaped from TELNET + causes the TELNET connection to be broken automatically by the + system. + +V. Breaking TELNET Connections + + At any time while the user is in contact with TELNET, after the + connection to the remote system has been established, the user may + terminate that connection by hitting _'CON RETURN'_. TELNET will + respond _'SOCKETS PURGED_'. \ subsequent call to TELNET (i.e., a + subsequent instance of _'II LOG'_) will illicit the original query + for remote site number. The user is then free to connect himself to + another foreign system. + + The user is cautioned that breaking Network connections as just + described is not necessarily equivalent to logging out of the remote + system. Some Server TELNETs may, when they detect the breaking of + connections, log the user off of their system; others may leave the + user logged on. The user should be aware of the conventions of the + systems he uses and, where appropriate, log himself off before + breaking connections. + + The key sequence _'I DEL RETURN'_ will also terminate a TELNET + connection, but all other connections that may have been previously + established using the operators of Level I are closed as well. + +VI. Abnormal Network Conditions + + While the user is in TELNET and attached to a remote system, TELNET + monitors the user's Network connections. If any abnormal condition + is detected, it terminates its monitoring and issues a message of the + form: + + {CONNECT} + {INPUT} ERROR - CODE = n + {OUTPUT} + + where 'n' is one of the values listed in Figures 3-5. A CONNECT + error may occur during TELNET's initial attempt to establish + connections to the remote system; an INPUT error may occur when + TELNET attempts to extract incoming data from the NET; and an OUTPUT + error may occur as TELNET tries to insert outgoing data into the Net. + + + + + + +White [Page 12] + +RFC 206 A User TELNET August 1971 + + + Figure 3. Connect Error Codes + + 4 - A previous invocation of TELNET left a local receive + socket open; the send socket is closed. Hit _'I DEL + RETURN'_. + + 8 - A previous invocation of TELNET aborted, and _'I DEL + RETURN'_ failed to close the Network connections. + The remote site is probably dead. + + 12 - All communication paths between UCSB and the + specified remote site are in use. + + 16 - UCSB's NCP is running at capacity or is drained or + stopped. + + 20 - The connection attempt was refused by the remote + site. + + 28 - No such remote site. + + 36 - Remote site was discovered to be dead. + + 44 - The Operator has stopped or reset the NCP. + + 60 - Either the specified remote site is not accepting + input from the net, or there was a failure in the + subnet. + + 68 - The specified remote site has broken all existing + connections to UCSB. + + 72 - The remote site is known to be dead. + + + Figure 4. Input Error Codes + + 8 - Connections to the server TELNET at the remote site + have been broken. + + 16 - Connections to the Server TELNET at the remote site + are being broken. + + 52 - An interrupt was sent by the remote system. Resume + by hitting _LOG_. + + + + + + +White [Page 13] + +RFC 206 A User TELNET August 1971 + + + Figure 5. Output Error Codes + + 8 - Connections to the Server TELNET at the remote site + have been broken. + + 16 - Connections to the Server TELNET at the remote site + are being broken. + + 20 - same as 8. + + 36 - Remote site has died. + + 44 - The Operator has stopped or reset the NCP. + + 52 - An interrupt was sent by the remote system. Resume + by hitting _LOG_. + + 60 - Either the remote site has stopped accepting input + from the Net or there was a failure in the subnet. + + 64 - same as 60. + + 68 - The remote site has broken all existing connections + to UCSB. + + + + + + + + + + + + + + + + + + + + + + + + + + + +White [Page 14] + |