MacIP User Manual Tim Maroney, C-MU (tim@CMU-CS-K.ARPA) 26 August 1985 -------------- This paper describes the programs that have been written to allow Apple Macintosh computers on an Appletalk network to communicate with computers on the Internet. In order to use any of these programs, your Macintosh must be connected to an Appletalk network that is connected to a router of some sort. One example of a router is the Seagate router between Appletalk and Ethernet that was developed at Stanford University. Another is the "Butcher Board" router developed at C-MU. This is normally an issue for the system maintenance staff, not a user; it is mentioned here so you won't think that plugging an Appletalk connector into the back of your Mac magically allows you to communicate with the Internet. Three programs are available, CUSTOMIZE, TFTP, and TELNET. CUSTOMIZE manages a customization file that contains various information for use by the other programs; it does not talk to Internet sites directly. TFTP is a simple file transfer program: it can be used to retrieve files to the Macintosh from Internet sites, and vice versa. TELNET is the Internet terminal emulator; with TELNET, you can log on and conduct a session at any Internet site on which you have an account. In order to run any of these programs, double-click its icon, as is normal on the Macintosh. TFTP ---- The TFTP program uses the trivial file transfer protocol running on top of the user datagram protocol to allow reliable file transfer between a Macintosh and an Internet site. The other Internet site may be a Macintosh or another computer. There are two possible modes in the TFTP program, server mode and user mode. The TFTP program can be in one or the other mode, but not both. Initially it is in neither mode; the first selection you make from the "File" menu sets the mode. Server mode is rarely useful: when a Mac is acting as a server, other Internet sites can initiate file transfers to and from it, but the Mac is completely tied up while it is acting as a server. To select server mode, select "Server" from the "File" menu. Once this is selected, the only "File" menu commands available are "Abort" and "Quit". You can still use the commands from the "Show" menu to display information about the status of the network. User mode is the one usually used on the Mac. To select user mode, pick either "Get" or "Put" from the "File" menu. This places you in user mode and begins the file transfer process. In any file transfer there are two files, a local file (the file on the Macintosh) and a remote file (the file on the other Internet site). To get the local file name, the TFTP program uses the Macintosh's standard file package, which will be familiar to you if you have used other Macintosh applications. To get the remote file name, the TFTP program uses a special-purpose remote file dialog. This contains two fields which you can edit, one for the file's name and the other for the name or address of the other Internet site. Both the standard file dialogs and the remote file dialog have buttons marked "OK" and "CANCEL". Clicking in the "OK" button (or hitting the "Return" key on the keyboard) tells the program to go on to the next step of the file transfer. Clicking "CANCEL" tells the program not to go ahead with the file transfer and to return to plain user mode. To get a file from another site to your Mac, use "Get". To put a file from your Macintosh to another site, use "Put". If something is wrong with your transfer, use "Abort" to terminate it. When you are entirely finished with TFTP, use "Quit" to leave the program and return to the Macintosh Finder. The trivial file transfer protocol uses "transfer modes" to control file transfer. The transfer modes provide information about how the file is to be transferred. The Macintosh TFTP provides four transfer modes, which can be selected from the remote file dialog, which contains a radio button for each mode, or from the "Settings" menu. The modes are "ASCII", "IMAGE", "OCTET", and "MACINTOSH". The transfer mode must be selected before you choose "Get" or "Put". The initial transfer mode is MACINTOSH; usually, you will change this to "OCTET" or "ASCII". The first three transfer modes are almost identical, and are the only modes that will be used with non-Macintosh computers in most cases. To transfer a document to or receive a document from a non-Mac computer, you should use "ASCII" or "IMAGE" modes. To transfer an application to or receive an application from a non-Mac computer, you should use "OCTET" mode. To exchange a file with a Macintosh, use "MACINTOSH" mode. Other computers such as Vaxes and Suns will probably not support MACINTOSH mode transfers; check with the system support staff for the computer in question. A Macintosh file actually has two parts or "forks", the data fork and the resource fork, unlike most other computers, on which files have only one part. This was a silly design decision in the Macintosh, since almost all files have one of the forks empty. It can also create problems in file transfer between Macs and other machines. In MACINTOSH transfer mode, both forks (as well as a little bit of data known as the "finder information") are sent, so there is no problem. In ASCII and IMAGE modes, only the data fork is sent: that will work for most documents such as MacWrite text files. In OCTET mode, only the resource fork is sent: this suffices for most Macintosh applications such as MacPaint or MacWrite. In those rare cases when both the resource and data forks are used, and you wish to send the file to a system that does not support MACINTOSH mode file transfers, you should first use one of the file compression programs such as BINHEX (not supplied with the Macintosh Internet programs, but widely available) to compress both forks into the data fork of another file, and then send the BINHEXed file's data fork. After receiving an application in OCTET mode, it will usually be necessary to run the "Set File" program, distributed separately, to set the bundle bit and the application's creator. Note: Over the long-haul networks such as ARPANET and USENET, applications are usually transferred in "binhex" or some other converted format, not in the binary form OCTET mode expects. To get an application in binhex format to your Mac via TFTP, use an ASCII mode transfer and then run binhex once the transfer is complete. During file transfer in either user or server mode, some statistics about the transfer will be displayed in a window that will appear on your screen. If you want to get rid of the window, click anywhere in it and it will vanish, reappearing when there is something else to say. The same goes for windows that appear as a result of selecting a command in the "Show" menu. TELNET ------ With TELNET, you can log in to any computer on the Internet for which you have an account. The Macintosh TELNET is different from (and better than) most other TELNET implementations in that you control the session with menu commands instead of hard-to-remember and easy-to-screw-up control codes. The TELNET terminal window emulates a DEC VT100 terminal, a popular type that most host computers should know how to control. Note: TELNET will only work on a "Fat Mac", that is, a Macintosh with 512K or more of memory. To open a connection to another computer, use the "Open" command from the "Commands" menu. You will be asked for the name or address of the remote computer. To continue, click "OK"; to abort the attempt to connect, use "CANCEL". The TELNET program will then try to establish the connection. If it succeeds, the word "Open" will appear in the terminal window and the remote computer will (in most cases) prompt you for your name and password. When you are finished, logging out on the remote computer may automatically close the connection, in which case "Closed" will appear on the screen. If this does not happen, then you can yourself close the connection by using the "Close" command in the "Commands" menu. You can also do this before you log out, but you do not usually want to. It is possible to use TFTP from inside TELNET. Thus, you can log on to a remote system, look around in its directories and so forth, and retrieve or send files without having to leave TELNET. This assumes that the remote computer has a TFTP command. The procedure is to issue a TFTP command on the remote system that initiates a file transfer back to your Mac. In order to do this, you will have to know your Mac's Internet address or name, which can be discovered using a command in the "Show" menu. A TFTP server runs alongside TELNET; the command from the remote system will cause that system to try to connect to the server on your Mac. If this succeeds, you will be asked by your Mac to confirm or refuse the file transfer -- ordinarily you will confirm it, since you sent the request in the first place, but it is possible someone else could try to TFTP to or from your machine, in which case you would probably want to deny the request and report the incident to the local security staff. While a file transfer is going on, it is possible but unwise to type characters to the remote system. You will be notified when the transfer is complete. You can deny all TFTP requests from the "Commands" menu; "TFTP Service" is checked if TFTP requests will be serviced as described above. It is possible to listen for incoming TELNET requests by using the "Listen" command. This is usually not useful; it was added for testing. It could be used to chat back and forth between two users on different machines: one user would put his Mac in listening state, the other would TELNET to his machine. The two could then type back and forth to each other's terminal windows. It is possible to specify that what you type should not be sent until you type a return, by selecting "Send Immediately" from the "Commands" menu. This command will be checked if TELNET is in the normal state, in which characters are sent as soon as you type them, and not checked if characters will be held until return is typed. This can be useful because it reduces the network overhead of the session. However, it is impossible to see what you've typed until you hit the return, unless TELNET has been given the "Local Echo" command. It is possible to cause data to be sent before typing a return by using the "Expedite Data" command from the "Send" menu. Most computers operate in remote echo mode: characters you type are not immediately printed on the screen, but sent to the remote computer, which then echoes them back for printing on your terminal. Computers which operate in local echo mode can be communicated with by selecting "Local Echo" from the "Send" menu after the connection is open. The "Are You There?" command from the "Send" menu checks to see that the remote computer is still connected. If no response is received within a few seconds, TELNET will assume that the remote computer has crashed or otherwise disconnected, and shut down your side of the connection. "Abort Output" and "Break" from the "Send" menu cause special TELNET information to be transmitted. The remote computer may or may not handle these commands. In general, "Abort Output" will keep text that's being sent from being sent, perhaps while a file is being printed on your screen, but the program on the remote computer will not be interrupted. "Break" will do whatever is appropriate on the system you are connected to, usually interrupting the program on the remote computer. As with TFTP, there is a "Show" menu from which various information can be gotten. Any windows created when you select a command from the "Show" menu can be gotten rid of by clicking anywhere in them. [ NOTES ON AUGUST 1985 RELEASE ] [The "Get" command of TFTP will not work in Macintosh mode. Please do not try to use it.] [TELNET does not yet have vt100 terminal emulation; instead, it acts as a very dumb "glass tty" terminal, without even backspacing.] [There is as yet no support for the "Butcher Board" router, only Seagate.] [Neither TFTP nor TELNET will run under Switcher.] [As yet, there is no way to specify that TFTP should sequentially transmit a set of files or to set a default foreign host directory. These features would really help a great deal in backing up with TFTP.] -=- Tim Maroney, Carnegie-Mellon University, Networking ARPA: Tim.Maroney@CMU-CS-K uucp: seismo!cmu-cs-k!tim CompuServe: 74176,1360 audio: shout "Hey, Tim!"