[comp.protocols.appletalk] How do I use CAP?

mccaslan@cs.utk.edu (Donald McCasland) (09/11/90)

I've now got the latest distribution of CAP5.0 and I'm at a loss as to what
to do with it...In the installation instructions it says something about
running KIP and I've gotten hints that for CAP to be any use I have to
run UAB...Would someone out there please clue me in to which direction I
should head?  I've got macii's running on a K-box version 4.  And my unix
server will be a sun4/280.  I've got the cap+ distribution from 
gatekeeper.dec.com and nothing else...I'm especially lacking in clues.
Thanks,
Don McCasland                   mccaslan@cs.utk.edu

hedrick@geneva.rutgers.edu (Charles Hedrick) (09/13/90)

CAP as originally implemented supports only what is now referred to as
IPTalk, i.e. Appletalk packets encapsulated in UDP (one of the
protocols in the TCP/IP protocol suite).  This method of handling
Appletalk on Ethernet was invented before Ethertalk was widespread
(indeed I think before it as invented).  The original configuration
was Macs on Localtalk (then called simply Appletalk), Unix servers on
Ethernets running CAP, and routers to connect Localtalk to Ethernet.
These routers used the normal Localtalk encapsulationon on the
Localtalk side, and IPTalk on the Ethernet side.  The routers talked
to each other and to the Unix boxes via IPTalk.  This meant that the
campus network didn't have to know anything about Ethertalk.  Since
Appletalk was carried across the campus encapsulated in TCP/IP, the
campus network only had to know how to route TCP/IP.

You can still use this configuration.  Indeed if you don't have any
Mac II's, and your network isn't very big it may work fine.  The
original routers were homebrew things built using plans from Stanford.
The code they ran was called KIP.  I use the term "KIP" exclusively to
refer to that specific software.  There is commercial code that does
the same thing, which I refer to either by the name of the specific
product, or genericaly as "an Appletalk router that supports IPTalk".
The CAP documentation was written before there were commerical
products that support IPTalk, so it assumes you are using KIP.  Where
it talks about KIP, you can just as well use any commercial router
that has IPTalk enabled.

To complicate things further, Kinetics made a commercial product that
ran a version of the KIP software (as an alternative to Kinetics' own
software).  This was the famous KFPS-2.

However a lot has changed since those early days.  Apple has now
defined an Appletalk encapsulation for Ethernet, called Ethertalk.  We
now have Ethernet boards for Macs, so a Mac can sit directly on
Ethernet.  A Mac on Ethernet will almost certainly talk Ethertalk, not
IPTalk.  Since IPTalk is not an official Apple standard, Apple's
software does not support it.  The routers used to build campus
networks generally speak Ethertalk now.  And networks are getting
complex enough that the quasi-static routing used by IPTalk is no
longer so attractive.  Thus most large Appletalk networks now have
Ethertalk on at least some of their Ethernets.  Current routers now
support Localtalk, IPTalk and Ethertalk.  This is certainly true of
the commercial products.  Ethertalk support was also added to KIP, but
there's some question about how reliable it is.  So now people tend to
use Localtalk to talk to Mac pluses, Ethertalk for Mac II's and
various commercial Unix and VMS software that supports Ethertalk, and
IPTalk only to talk to Unix systems that are still running CAP.  The
resulting combination of routing technology can get quite exciting,
particularly in large networks.  But if you don't want to buy
commercial software for your Unix machines, IPTalk was the only easy
way to get Appletalk to them.  This required you to use an Appletalk
router with IPTalk support enabled (which is what that CAP
documentation means when it says KIP).

Until recently.  There are now versions of CAP that support Ethertalk.
This allows you to build a network that uses only Localtalk and
Ethertalk.  In that case you don't need KIP at all (or if you use
commercial routers, you don't need to enable IPTalk on them).  There
are two approaches to doing Ethertalk with CAP: The UAB was the first
method.  It creates two virtual hosts on your Unix machine.  One is
the virtual host on which the servers run.  This uses a slightly
modified version of the CAP software.  The other virtual host is UAB
itself.  UAB is a software Appletalk router that speaks on one side to
the virtual host running the servers.  On the other side it speaks
Ethertalk out your Ethernet port.  UAB is currently supported for
SunOS and VAX Unix.  The other approach to handling Ethertalk is a
modified version of the CAP software that talks Ethertalk directly.
With this version, UAB is not needed.  Currently it is available only
for SunOS, though it should be possible to port it to most Unix
systems.  It needs the following (1) the Ethernet packet filter (from
4.3) or Sun's /dev/nit, (2) Sun's RPC (which should be present on any
system that supports NFS), and (3) mmap (and the code could easily be
changed to use System V shared memory).

Anyway, the upshot of the deal is that in order to talk Appletalk
on your Unix system you need one of the following:
  - original CAP on any Unix system, and an Appletalk router
	that supports IPTalk.  The KIP software on a KFPS-2 is
	one possible hardware/software combination, but
	surely not one that any new installation would use.
  - UAB with a slightly modified CAP.  Since this uses Ethertalk,
	it should work with any current Appletalk technology.
  - CAP modified to speak Ethertalk directly.  Again, it should
	work with any current Appletalk technology.

Note that UAB and the modified CAP support only Ethertalk Phase I.
Sorry.

hedrick@geneva.rutgers.edu (Charles Hedrick) (09/13/90)

I just sent a general explanation of CAP, KIP, etc.  For your specific
configuration, which seems to be Localtalk, Ethernet, KFPS, and a Sun
4, things are real simple.  You should use anonymous FTP to
athos.rutgers.edu, and retrieve from the pub directory etalk.tar.Z,
enet.shar, and etalk-conversion.doc.  etalk.tar.Z contains the version
of CAP set up for Ethertalk, with binaries for Sun 4.  I believe you
can do "make install" to install the software, though it may not
install a couple of things (atis and aarpd, both of which I'd put in
/usr/local/cap).  There is documentation with it.
etalk-conversion.doc is a cookbook for moving from an old CAP version
to Ethertalk.  In fact I think those instructions are good enough for
setting up Ethertalk CAP from scratch, except that you'll need to look
at man pages for the daemons to know how to set them up.  enet.shar
tells you have to install the Ethernet packet filter in your kernel.
(No source is needed, but you must have 4.0.3 or later.)  There's an
alternative version that uses /dev/nit if you absolutely refuse to
modify your kernel.  I believe the documentation describes how to use
it.

With this software, you set up your KFPS4 in the obvious way.  No
IPTalk is needed to talk Appletalk to the Sun.  However you will want
to half-configure IPTalk if you intend to use things like NCSA telnet
on your Mac.  (They need a subset of the IPTalk support to assign IP
addresses.)  The idea is that you turn on IPTalk on the KFPS 4, and
give it an IP address, subnet mask, default gateway, and number of
hosts.  But you don't put in a zone name or network number for the
IPTalk, nor do you give it the address of an atalkatab administrator
host.  If you're using the newest KFPS 4 software, there will be
buttons for how to get IPTalk configuration info, offering atalkd,
tftp, or none.  Choose none.