From: eric@cse.ucsc.edu (Eric Rosen)
Newsgroups: comp.sys.mac.comm
Subject: Frequently Asked Questions (FAQ) : comp.sys.mac.comm [3/4]
Followup-To: poster
Date: 8 Sep 1992 04:03:55 GMT
Organization: University of California, Santa Cruz (CE/CIS Boards)
Distribution: world
NNTP-Posting-Host: wappo.ucsc.edu
Summary: Questions w/Answers; Please read before posting!
Keywords: FAQ

================================================================================
[5] Networking, MacTCP, Telnet, SLIP

[5.1] What is MacTCP and what kind of hardware and software do I need
        to use it?
        
        MacTCP is Apple's implementation of the Defense Advanced Research
        Projects Agency (DARPA) TCP/IP Protocols (see [5.2]). MacTCP's
        software interface is a Control Panel, which means that it loads
        when your Macintosh boots. Under System 6.0.X, MacTCP will reside
        in the System Folder; under System 7.0, it should be placed in
        the Control Panels Folder.
        
        MacTCP accomplishes two important tasks: it is a tool that lets
        programmers who wish to develop TCP/IP based applications to do
        so without "reinventing the wheel". By providing a standard
        interface to TCP/IP network hardware, MacTCP also makes it
        possible for more than one TCP/IP based application to run on a
        Macintosh at any one time. For example, you can simultaneously
        use a Telnet program, an FTP program, and share a filesystem
        via NFS when you use MacTCP to provide the interface to your
        TCP/IP network.
        
        The latest version (8/92) of MacTCP is MacTCP 1.1. It requires
        a Macintosh Plus or later model, System 6.0.5 or later, a direct
        connection to a Ethernet or TokenRing network (typically a
        Ethernet or TokenRing card or a SLIP dialup connection), or a
        connection to a LocalTalk network with a DDP-IP router such as
        a Shiva FastPath, Cayman Gatorbox, Webster Multigate, or 
        Compatible Ether%Route TCP.

        As indicated above, MacTCP is an Apple product. The official
        way to obtain it is to purchase it from APDA (look for address
        and ordering information in the Appendix). It is a licensed
        product and is officially NOT free. Many universities
        have campus site licenses; your site may also have such an
        arrangement --- check before buying. Educational discounts are
        available, when appropriate. Otherwise, expect to pay about $100
        for a single copy. An internal-use license agreement for MacTCP
        is $1000 for universities and $2000 for commercial firms.

        For more detailed information regarding setting up a Macintosh
        to connect to a TCP/IP network using MacTCP, see Eric Behr's
        report on MacTCP which is archived at the various FTP sites
        as mac-tcp-info.txt. At InfoMac mirror sites, it can be found
        in the report subdirectory. This report provides a lot of
        useful information for first-time Macintosh networking
        administrators.


[5.2] What are AppleTalk, LocalTalk, EtherNet, EtherTalk, TCP/IP, etc?

        When attempting to describe networking terms, a distinction
        should be drawn between networking _protocols_ (such as
        AppleTalk and TCP/IP) and networking _hardware_ (such as
        LocalTalk, Ethernet, and TokenRing). In most case, a specific
        protocol can be used over more than one hardware medium.

        In order to help understand the interaction of these disparate
        parts in a real-world network, we can adopt the useful analogy
        of multi-layer cake with the physical wire at the very bottom
        and the software which you are running at the very top.

        Thus, we can think of LocalTalk, Ethernet and TokenRing as being
        the layers at the bottom, AppleTalk and TCP/IP in the middle and
        programs like NCSA Telnet, NFS/Share and MacX at the top.


        The following terms describe protocols (software descriptions)
        common to the Macintosh networking world:

        * AppleTalk: A proprietary suite of protocols developed by Apple
        Computer, Inc. that provides for near-transparent network
        connections between Macintosh computers. However, within the
        last few years AppleTalk has been ported to operating systems
        other than the Macintosh O/S, including UNIX, VMS and DOS.
        Questions about the AppleTalk protocol are probably best posed
        in the newsgroup comp.protocols.appletalk .

        * TCP/IP: A suite of protocols developed by the Defense Advanced
        Research Projects Agency (DARPA) whose purpose is multi-platform
        connectivity. TCP/IP drivers are available for almost all of the
        computer platforms in use today, including micros, minis, main-
        frames and supercomputers. TCP/IP stands for Transmission Control
        Protocol/Internet Protocol, because these are the two most widely
        used protocols in the suite.  However, TCP/IP includes the User 
        Datagram Protocol (UDP), Address Resolution Protocol (ARP),
        Reverse Address Resolution Protocol (RARP) and others.

        * EtherTalk: The driver which allows AppleTalk protocols to be
        transported by Ethernet.
        
        * TokenTalk: The driver which allows AppleTalk protocols to be
        transported over IBM TokenRing networks (4 and 16 Mb/s).


        The following terms describe hardware (the physical link such
        as the wire(s) connecting computers) common to the Macintosh
        networking world:

        * LocalTalk: One type of hardware over which AppleTalk protocols
        can be transported. LocalTalk has a throughput of 230.4 Kilobits
        per second, or roughly a quarter of a Megabit per second.

        * PhoneNet: Another type of hardware commonly used to transport
        AppleTalk packets. PhoneNet mates LocalTalk hardware with
        ordinary (unused) telephone wire. PhoneNet is probably the
        cheapest way to connect widely separated Macintosh computers
        within a single building.
        
        * Ethernet: A network medium over which AppleTalk, TCP/IP and
        other protocols travel. Ethernet's maximum throughput is
        10 Megabits per second.
        
        * TokenRing: A network medium developed (and patented) by IBM
        based on a topology of a ring of nodes connected serially by a
        single wire. Each node, or computer, speaks on the wire only
        when it has posession of a token. TokenRing technology can
        demonstrate throughputs of either 4 or 16 Megabits per second.


[5.3] What is Telnet, and is there a Telnet program for the Macintosh?

        Telnet is a high speed terminal connection protocol designed
        with TCP/IP in mind. A Telnet program allows you to connect
        to computers that accept Telnet sessions (such as Unix boxes)
        with interactive full-screen console input and output
        capabilities in mind.

        There are several Telnet programs for the Macintosh. The first
        and most widely used is NCSATelnet, which is free and can be
        found via anonymous FTP from ftp.ncsa.uiuc.edu (as well as
        elsewhere). The latest version is 2.5 and supports TEK 4105
        graphics, provides both an ftp server *and* client as well as
        a built-in SLIP driver, and can do session logging. Unlike most
        TCP/IP programs for the Macintosh, it does not require (but can
        use) MacTCP.

        Versaterm 4.6.2 also ships with a Telnet Connection Tool (in
        addition to MacTCP). However, this tool seems to be intended
        to be used only with Versaterm and does not support all
        features.

        Hytelnet is a Telnet program available for various personal
        computers including the Macintosh. The Macintosh version is
        based upon Hypercard 2.x. Contact Charles Burchill at
        <burchil@ccu.umanitoba.ca> for more information about Hytelnet.

        InterCon is rumoured (7/92) to soon have a fully-functional
        Telnet Connection Tool (for use with the CTB). It may already
        be shipping by the time you read this.

        Stanford University Networking Systems distributes a package
        known as SU-Mac/IP that includes Telnet, FTP, tn3270, printing
        facilities and other MacTCP based capabilities. The package
        can be licensed *ONLY* by "degree-granting institutions of
        higher education". For information, either send e-mail to
        macip@jessica.stanford.edu or call [USA] (415) 723-3909.
        

[5.4] Is there a FTP (server) program for the Macintosh?

        Yes, you can choose from freeware, shareware and payware
        varieties:
        
        * NCSATelnet (see [5.3]) includes both FTP client and server
        capabilities.
        
        * Fetch 2.06 (from Dartmouth) is a freeware FTP application

        * FTPd, $5, by Peter Lewis <peter@cujo.curtin.edu.au>, is a
        recently released shareware FTP server with many features
        (described below by the author):

          o Multiple simultaneous users.
          o Honours System 7 Users & Groups (in fact depends on them!).
          o Suports BinHex and MacBinary transfers, including the MACB 
            command.
          o Allows login to other AppleShare servers on the local
            network.
          o Allows different formats of a file to be fetched.
          o Pattern matching in change directory command.
          o Individual initial directory for any user.
          o FTP site descriptions sent after login.
          o Directory descriptions sent after CD command.
          o Supports the CatSearch feature to allow very fast volume
            wide searches.
          o Quite slow.

        * HyperFTP, a Hypercard-based FTP client.
        
        * Versaterm 4.6.2 also ships with an FTP CTB Tool.

        Advanced Software Concepts, sells a commercial FTP server
        (name currently unknown) product and has posted a demo to
        InfoMac.

        
[5.5] What are SLIP, CSLIP and PPP?

        SLIP stands for Serial Line Internet Protocol.  SLIP is a
        "non-standard" for framing IP packets and shipping them over
        a serial line (e.g. a cable, or a pair of modems), thus
        allowing a home machine to dial up and become part of the
        Internet. Effectively, SLIP turns a serial port into a logical
        ethernet port.

        Many workstations and terminal servers can support SLIP. On
        the Macintosh side, several vendors offer SLIP modules for
        MacTCP. (These vendors and products are summarized below).
        Macintosh software which communicates with the outside world
        via MacTCP will continue to work over SLIP, albeit somewhat
        more slowly due to the relatively low bandwidth of modem
        connections.

        CSLIP stands for Compressed SLIP.  CSLIP reduces the size of
        the headers in IP packets by eliminating a certain amount of
        redundancy.  This improves interactive performance.

        PPP stands for Point-to-Point Protocol.  PPP can support both
        synchronous and asynchronous connections and protocols that
        are not IP-based. It provides specifications for error
        correction, feature negotion, escaping control characters, etc.
        Nearly all modem users continue to use SLIP or CSLIP, and PPP
        seems to be popular only over synchronous high-speed (56 Kbps
        or greater) connection. However, as dedicated high-speed
        connections become more common, PPP is likely to become
        more popular. So far, however, there are no PPP extensions for
        MacTCP (as of 8/92).

        Recently, several vendors have provided SLIP LAPs for MacTCP.
        What is a "MacTCP SLIP LAP"? To quote Steve Dorner, "It's an
        extension that allows MacTCP to work over a phone line, allowing
        you to use any MacTCP application over your modem, if you have
        the right dialins." LAP stands for Link Access Protocol. You
        choose the LAP you want to use via the MacTCP Control Panel.

        Currently, the following SLIP products for the Macintosh are
        readily available:      
                
           o MacSLIP from Hyde Park Software is a MacTCP extension that
             supports SLIP and CLSIP and a scripting language for
             session. Individual copies sell for $49.95.
                
             Contact: info@hydepark.com, [USA] (800) 531-5170, or write:
                                    TriSoft
                                    1825 East 38 1/2 
                                    Austin, Texas 78722

             Reports of transfer rates as high as 1500 bytes/sec have
             been posted to comp.sys.mac.comm by users of MacSLIP on
             high-end Macintoshes (IIfx, Quadras) with V.42bis 9600
             baud modems.
             
           o InterCon Systems will ship a MacTCP extension with their
             networking product (TCP/Connect II), and as a separate
             package (InterSLIP).
              
             Contact: sales@intercon.com, [USA] (703) 709 9890
        
           o Synergy Software offers a SLIP/CSLIP MacTCP extension with
             its Versaterm/Versaterm-PRO packages. If you already own
             Versaterm, SLIP is a $20 upgrade. If you buy the complete
             Versaterm 4.6.2 package (about $90), you will also get an
             FTP server and client, a Telnet connection tool, and MacTCP.

             Contact: [USA] (215) 779 0522

        Information about setting up SLIP on Sun Unix boxes, as well as
        some reviews and Unix SLIP programs, can be found via anonymous
        FTP from ftp.bio.indiana.edu in util/slip, among other places.

================================================================================
[6] MacX and Other Ways to Interface With Unix

[6.1] Can I run X-Windows on my Mac?

        Yes. For Macintosh OS users (not using A/UX), two possibilities
        exist.

        MacX is an X-Windows server for the Macintosh, developed by
        Apple. With MacX running, your Macintosh can serve as a display
        server for any X-Windows client program (such as xterm, xbiff,
        etc). The client programs must be running on a separate
        machine running Unix (unless you are also running A/UX, Apple's
        brand of Unix for the Macintosh).
        
        MacX's technical capabilities, as described by Alan Mimms
        in "X for the rest of us" (2/91) and paraphrased in the FAQ
        for comp.windows.x are as follows:
        
          MacX runs on MacPlus or newer machines with >= 2MB of memory
          and system software 6.0.4 or later. Version 1.1 is fully
          X11R4-based. It supports full ICCCM-compatible cut and paste
          of text AND graphics between the Macintosh and X11 worlds,
          the SHAPE extension (including SHAPEd windows on the Macintosh
          desktop), an optional built-in ICCCM-compliant window manager,
          X11R4 fonts and colors, a built-in BDF font compiler, and
          built-in standard colormaps. 
        
        To connect your Macintosh to a network of machines capable of
        running X-Windows clients, MacX uses MacTCP. For the best
        performance, you will want to access this network through
        LocalTalk or normal Ethernet. However, it is also possible
        to make the connection over a high-speed modem and use MacX
        to run X-Windows clients on remote machines; you will need
        a SLIP LAP module for MacTCP to do this --- see [6.2] for the
        details.
        
        MacX can be purchased from official Apple retailers, such as
        most university campus stores, for about $300 (less if you
        qualify for an educational discount). MacX is also bundled
        with A/UX 3.0.

        The FAQ for comp.windows.x also describes another product,
        eXodus, as follows:
        
          eXodus from White Pine Software (603-886-9050) runs on any
          Mac with at least 1MB of memory and runs the X server within
          a standard Macintosh window.  Version 3.0 [6/91] supports
          intermixing of X and Mac windows and the ADSP protocol. The
          version supports the SHAPE extension and includes DECwindows
          support.

        For information regarding using MacX with A/UX, see the FAQ
        for comp.unix.aux and/or ask questions in that newsgroup,
        and/or investigate wuarchive.wustle.edu:/systems/aux/X11R5.
        You _can_ run X11R5 under A/UX 3.0.


[6.2] How can I run MacX over a modem? Is it feasible?

        Now that several SLIP LAP modules for MacTCP are available,
        it is possible to run MacX over a modem. You are advised that
        performance will be significantly poorer than you may be
        expecting, especially if you are not using a high-speed modem
        (eg: 9600 baud or higher with compression and/or error-
        detection). With high-speed modems, using MacX to bring up
        xterms and other text-oriented clients is usable; however,
        any sort of graphics-intensive program (eg: xdvi) is going
        to require some patience (but should be bearable).
        
        Thus, in addition to MacX, to be able run MacX over a modem
        you need:
        
                1. A modem. A high-speed modem with v.32bis and v.42
                   is *STRONGLY* recommended.
                2. A terminal-server at your site that offers dial-up
                   SLIP connections. You'll have to ask your site or
                   system administrator about this one. There will
                   likely be some paperwork to fill out.
                3. A SLIP (or CLSIP) LAP module for MacTCP. See [5.5]
                   for details on such products.

        If you are specifically interested in just having multi-window
        connections to a Unix box that you connect to over a modem,
        other options include using a Telnet program with SLIP (see
        [5.3]), or MacLayers or UW (see [6.3], [6.4])


[6.3] What is MacLayers and what do I need to use it?

        MacLayers allows you to logon to a Unix host and open more than
        one window over a single (serial) connection. Each window
        can correspond to a (login) shell or program running on your
        choice of host(s). Up to seven full-screen resizable VT-100
        windows are allowed.
        
        In addition, MacLayers provides a primitive (but useful
        anyway) mechanism to download binary files "in the background",
        allowing you to work in other windows while you download.
        No upload facility (except for text pasting) is provided.
        At this time, MacLayers does not support the CTB. However,
        it is freely distributable (but may not be sold).

        MacLayers requires:
        
                1. A Unix host which supports sockets.
                2. A Macintosh with 128 KB ROMs or larger.
                   MacLayers does not work with the old 64 KB ROM
                   machines.

        MacLayers comes in two parts: a program you run on your
        Macintosh and a set of C source files that you compile
        on your Unix host (a Makefile is provided). When you login
        to your host while running MacLayers on your Macintosh, you
        simply run one of the Unix-side programs to start up the
        windowing system (similar to running a windowing-environment
        like X-Windows at the console, except that everything is
        character based -- no graphics).

        MacLayers is currently at version 1.10. Unfortunately, the
        original author, David W. Trissel, has not had a lot of time
        to devote on his _free_ program. Fortunately, however, a group
        of programers dedicated to Macintosh telecommunications is
        taking over the development of MacLayers. TopSoft promises
        to make major enhancements before releasing the next version
        of MacLayers (7/92). MacLayers 1.10 can be FTP'd from
        rascal.ics.utexas.edu in mac/communications/MacLayers.
        InfoMac sites are still carrying MacLayers 1.0.

        Let me stress again that the latest version does NOT support
        uploading, Zmodem transfers, X-Windows, the CTB, SLIP, or
        any other features not mentioned in the documentation.

        If you are using System 7, be sure to get the latest
        version, 1.10, since the earlier version, 1.00, has a few
        incompatibilities with System 7. MacLayers 1.10 provides
        much better keyboard support (through an included keyboard
        layout resource) for non-extended keyboards.

        The official archive site for MacLayers is rascal.ics.utexas.edu
        but both the Unix and Macintosh parts of MacLayers can be found
        in the comm directory at Info-Mac mirrors.


[6.4] What is UW and what do I need to use it?

        UW (short for Unix Windows) is a program similar in style and
        intent to MacLayers (see [6.3]) --- that is, it provides a
        multi-window interface to a Unix hosts. UW has been around a
        lot longer than MacLayers but, as far as I know, hasn't been
        updated in quite a long time. It offers most of the same
        features as MacLayers, but no facility for downloading
        is provided. UW does have the advantage of working with the
        older 64 KB ROM machines, but in general, MacLayers is the
        superior program.


[6.5] Is there a program that will convert between BinHex and MacBinary
        for Unix?

        Yes, there are at least two that will handle BinHex 4.0, MacBinary,
        and other conversions. macutil and mcvert are distributed as
        Unix shar archvies and can be found in the unix directory at
        InfoMac sites. Source code is included (of course) so you will
        need a C compiler to build the programs:

    * macutil
        
          macutil is a collection of utilities for manipulating Macintosh
          files in MacBinary [see 2.2] or BinHex [see 2.3] format, or over
          AppleDouble, AUFS, or CAP servers.
          
          As of (8/92), macutil includes three programs:
          
                o hexbin - a program to convert BinHex 4.0 to MacBinary;
                  it also converts uuencode (and UUTool) files to their
                  native binary format; support for .dl, .hex, and .hcx
                  formats (all predecessors of BinHex 4.0) also exists
                          
                o macsave - a MacBinary filter program to convert
                  between various MacBinary representations, including
                  a single .bin file, three separate .data, .rsrc, .info
                  files, and AUFS format. macsave also allows one to
                  "peek" inside MacBinary files

                o macunpack - a program to unpack PackIt, StuffIt,
                  Diamond, Compactor/Compact Pro, most StuffIt Classic
                  and StuffIt Deluxe, DiskDoubler, Zoom and LHarc/MacLHa
                  archives.

                  It also decodes BinHex 5.0, MacBinary, uuencode, and
                  Unix compress (ie: .Z suffix) files (as well as variants
                  of compress implemented by various Macintosh compress
                  programs).

                  Support for password protected and/or multi-segment
                  archives of various types is minimal or non-existent.

        The various authors of the macutil utilities are too numerous
        to list here; consult the README files that come with the package
        for the details.

        * mcvert
        
          mcvert allows you to convert BinHex files to MacBinary files
          and vice versa. In addition, you can create MacBinary files
          with empty resource forks from normal files, as well as perform
          other transformations. mcvert can also decode PackIt
          archives.

          mcvert was originally written in 1987 by Doug Moore; since 1989,
          mcvert has been independently updated by volunteers who have
          also posted their source.
        
          There are some known minor bugs with some of the earlier
          versions mcvert; for example, mcvert 1.65 fails to decode
          BinHex files that end with a single colon, ':', on the last
          line. On the other hand, many people have had difficulties
          compiling later versions on non Sun-like Unix systems.

          mcvert needs an official author to avoid confusion
          with independently derived versions. Volunteers can
          contact the editor of this FAQ to coordinate their efforts.
          

[6.6] How can I create LaserWriter PostScript printer files and print
        them on an PostScript printer connected to a Unix network?

        First, make sure there is no way you can find a Macintosh
        connected to a LaserWriter which you can use to normally
        print out your document.
        
        If this definitely is not an option, determine whether 'macps'
        is installed on your Unix system. If 'macps' is not installed
        on your system, get the latest version from an InfoMac archive
        (look for it in the Unix sections) and follow the included
        directions to install it. You may need the assistance of
        your site's system administrator.
        
        'macps' is a Unix program that prepends a modified LaserPrep
        file to a PostScript file created by a Macintosh application
        (such as Microsoft Word). The result can be spooled directly
        to a PostScript printer.

        To generate the PostScript on your Macintosh, make sure the
        appropriate LaserWriter Chooser item is selected in the
        Chooser. Print your document using the normal print option
        of your application. On System 7 systems, click the "PostScript
        File" radio button when the standard Printer Manager dialog
        box is displayed. On pre-system 7 systems, hold down Command-F
        immediately _after_ clicking on OK in the dialog box; timing
        is crucial here --- Apple obviously did not originally intend
        users to take advantage of this "feature" (see note below).

        If you are running System 7, you will be prompted to select
        the destination folder and name for the PostScript file.
        Otherwise, it will be named "PostScript' (or 'PostScript#'
        where '#' is a digit) and placed either in the System folder,
        the application's current folder, or the root folder on the
        startup disk. You may rename the file.

        Upload (or otherwise transfer) the PostScript file to your
        Unix system, treating it as a text file, unless you are
        generating graphics in your output (in which case you should
        be safe and take the extra steps and treat the file as an
        eight-bit binary file). Then, use 'macps' to spool the file
        to your printer. For example, if you had named the PostScript
        file 'report.ps' and normally print files on Unix with the
        command 'lpr -Pryon', you would issue the command:
        
                % macps report.ps | lpr -Pryon
        
        This will print the file on your Unix printer. The documentation
        included with 'macps' includes a man page that provides more
        information on the process.

        'macps' was written by Edward Moy and is copyrighted by
        the Regents of the University of California. It can be freely
        distributed; check its ReadMe file for details.

        Note: Under System 7, _all_ fonts (including information needed
        to decode TrueType fonts if you use any TrueType fonts) you use
        your document are included in the PostScript file. As a result,
        even the smallest documents can produce very large (hundreds of
        kilobytes) PostScript files. If the fonts you use in your
        document are automatically downloaded to the laser printer
        you will be using to print, you can significantly reduce the
        size of your PostScript file (and thus save time transmitting)
        by removing the font definitions. You can do this manually,
        but it is safer to use a utility, such as Trimmer, StripFonts,
        or the DMM-LW utilities (which includes other capabilities
        as well), all available at InfoMac sites.
        
        Note: If you are a pre-System 7 user, you a encouraged to
        read the file tips/generating-postscript at InfoMac archives.
        This file gives explicit directions for generating PostScript
        files using pre-System 7 machines and also describes how to
        a enable a check box in the LaserWrite Dialog box that allows
        you to redirect the PostScript output to a file without having
        to type Command-F or Command-K.

Newsgroups: comp.sys.mac.comm