RFC 339
MLTNET: A "Multi Telnet" Subsystem for Tenex
RFC 339 π MLTNET: A "Multi-TELNET" Subsystem for TENEX π
Title block: this is RFC #339 from the Network Working Group, written by R. Thomas at BBN, with N.I.C. #9932, dated May 5, 1972. The original doesn't list a category, and it doesn't say what it obsoletes or updates. π§
1. Introduction β¨
okay so MLTNET is a TELNET-like facility for TENEX π It lets one user control a bunch of jobs running on different ARPANET hosts at the same time. It multiplexes the user's local console among the remote jobs, which is giving multitasking energy π₯ It's super useful for apps that need several network hosts to act in a coordinated way. Personally, the author found it helpful for debugging programs that use the network π MLTNET is designed to be easy to use, and while you're in remote mode it's meant to be as transparent to you as possible π«Ά It's a little less sophisticated than the TENEX user-TELNET program, but that's okay πΈ Right now, MLTNET is a subsystem on the BBN-TENEX host.
2. Using MLTNET π¦
MLTNET has two modes, and they're both kind of iconic β¨
2.1. Local Mode Operation
In local mode, MLTNET treats what you type as commands to it π A command is a mnemonic command name followed by zero or more parameters. Among the stuff it understands, you can give a name of your choice to a connection to an ARPANET site, connect to a named site, and check the network status as seen from your TENEX, and more π§
2.2. Remote Mode Operation
In remote mode, MLTNET makes your console look like it's directly connected to a remote site π It sends whatever you type to that site and prints whatever comes back. If you're in local mode, or you're talking to a different remote site, output from the remote site gets buffered for you by MLTNET so nothing gets lost π
MLTNET is built to be transparent to you in remote mode. Specifically, in remote mode it sends ^C (CONTROL-C, the TENEX "attention" character) and ^T (CONTROL-T, the TENEX "time used query" character) through to the remote site π«Ά
In local mode, ^C and ^T do their usual TENEX thing π
Sometimes you'll need to change how a connection to a remote site behaves π For example, you might want MLTNET to echo what you type as it sends it. Or say you're using a remote host that needs both upper and lower case, but your local terminal only has upper case. In that case, you'd want MLTNET to send upper and lower case as appropriate π In remote mode, MLTNET treats "!" as an escape character, and it reads the character after it as a command that changes the characteristics of the connection you're currently using π The remote mode commands are summarised in the next section. If you want MLTNET to send a "!" to the remote site, type "!!" π
3. MLTNET Command Summary π
3.1. Local Mode Commands
MLTNET uses the character "<" to let you know it's in local mode and ready for input πΈ You can edit commands and their parameters as you type them π
- ^A (CONTROL-A) deletes the last character you typed. When you hit ^A, MLTNET types
" deleted. - ^R (CONTROL-R) retypes the input collected so far, with all the edits applied π₯
- RUBOUT (octal 177) aborts the current input collection and makes MLTNET type the ready character "<" again π
- ALTMODE (octal 175) invokes command recognition and completion. If there isn't enough information to recognize the input as a command, MLTNET rings the terminal bell in response to ALTMODE π
- Any prefix that uniquely identifies a command is recognized as that command π¦
In the following, <name> and <site> are command parameters. They're strings that end with a space or a carriage return π«Ά <name> is a name you choose, up to 14 characters π§ <site> is either the name of an ARPANET host or the string "LOCAL" π
The local mode commands MLTNET recognizes are:
3.1.1. ASSIGN
syntax: ASSIGN <name> <site>
effect: Associates the user chosen string <name> with a
connection to the ARPANET site <site>.
3.1.2. TALK
syntax: TALK <name>
effect: Switches from command mode to remote mode
directing subsequent console input to the site
associated with <name>. If no ARPANET site is
currently associated with <name>, the user is
asked to specify a site. The first time the
user "talks" to a particular named site MLTNET
goes through the ARPANET initial connection
protocol with the remote site in order to
establish a duplex connection with it.
3.1.3. NAMES
syntax: NAMES
effect: Prints on the console the <name>/<site>
associations currently known to MLTNET.
3.1.4. QUIT
syntax: QUIT
effect: Returns control to the TENEX EXEC breaking all
connections with remote hosts. It is good
practice to log out of each remote host before
using the QUIT command.
3.1.5. NETSTAT
syntax: NETSTAT
effect: Prints on the console the network status as seen
from the local TENEX.
3.1.6. RENAME
syntax: RENAME <name>1 <name>2
effect: Associates <name>2 with the ARPANET site
previously associated with <name>1.
3.1.7. FLUSH
syntax: FLUSH <name>
effect: Breaks the network connection with the ARPANET
site associated with <name> and, in addition,
breaks the association between <name> and that
site.
3.1.8. HOSTS
syntax: HOSTS
effect: Prints on the console the list of hosts
currently known to the MLTNET subsystem.
3.1.9. HELP
syntax: HELP
effect: Prints on the console a brief summary of how to
use MLTNET.
3.2. Remote Mode Commands
In remote mode, MLTNET treats the escape character "!" as a signal that the next character is a command π Right now, MLTNET recognizes these characters as commands:
- Q: (quit) Switches MLTNET from remote mode back to local mode π
- L: (local echo) Makes MLTNET echo characters as it sends them to the remote site.
;Lis the inverse of R. This is the default case πΈ - R: (remote echo) Makes MLTNET send the characters you type without echoing them. This is the inverse of L π«₯
- U: (upper case) Makes MLTNET send upper case letters as you typed them. This is the inverse of S. This is the default case π
- S: (small letters, lower case) Makes MLTNET send upper case letters you type as lower case letters. In this mode, "^" acts as a shift key, and you can send a "^" by typing "!^". S is the inverse of U π
- X: (where X is any character other than Q, L, R, U or S) Makes MLTNET send X π§
The source document says it includes an annotated scenario that shows MLTNET in use, with the user's typing underlined. That scenario isn't in the text I was given, so there's nothing to rewrite for it here π
[ This RFC was put into machine readable form for entry ] [ into the online RFC archives by Tor Fredrik Aas 1/98 ]
π¦ where this page comes from
- ietf: rfc339 1972-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms