Subject: Re: Localtalk, Please???
To: Bill Studenmund <wrstuden@loki.stanford.edu>
From: Erik E. Fair <fair@clock.org>
List: port-mac68k
Date: 11/07/1996 02:56:42
At 14:08 -0800 11/2/96, Bill Studenmund wrote:
>> Does anyone else out there want tcp/ip through a localtalk connection? =
=3D=3DDon
>
>Yes. It would be the second stage of LocalTalk support. But I've not found
>any documentation on how to run IP over DDP (well, how Apple does it).
In the beginning was some hack for this done at Stanford; I've forgotten
the name they gave to the protocol, but the application was called "MacIP"
(a "suite" application that had a TELNET, FTP, and FINGER client in it). It
had the TCP/IP code in its guts, since MacOS had nothing but AppleTalk in
it. The early IP in DDP stuff was specifically for MacIP.
Kinetics (one of the very first AppleTalk router vendors) invented
"Kinetics IP" (commonly called "KIP") for encapsulating IP in DDP on top of
a LocalTalk network. They sold a lot of FastPath 2's, 3's, and 4's.
Then Apple did "EtherTalk" (AppleTalk for Ethernet) and clarified that
"AppleTalk" meant just the protocol suite, and that a new word, "LocalTalk"
would mean the RS-422 bus-based serial network hardware.
Kinetics was eaten by Excelan, and the engineers escaped to form Neon
Software, and (I think) AG Group. Excelan was eaten by Novell, and since
Novell has a phobia of hardware of any kind (they were nearly destroyed by
building hardware before selling "Netware" pulled them back from the abyss
of chapter 7 and made them the success that they are today), Novell sold
off the hardware parts of Excelan. Shiva bought the Kinetics AppleTalk
router. The FastPath 5 was the last hurrah of the original design, but
other things (like the "EtherGate") came later from Shiva.
Apple then bowed to much pressure from its Higher Education customers, and
did MacTCP - a separate module of MacOS for TCP/IP & DNS (just the basics),
and an API for applications to call in order to talk to the network. MacTCP
came with a "KIP" client implementation in its guts, partly to be
compatible with what the customers were using, and partly because at that
time, most Macs only had LocalTalk as their default network interface.
Over about a year or two, people doing TCP/IP apps stopped having their own
TCP/IP stack in the app, and started using MacTCP. Among other things, this
allowed a user to run more than one TCP/IP application at a time - a big
win.
The upshot of this is that the specification for "KIP", or "MacIP" as it
has become known, is really determined by what MacTCP (and now
OpenTransport) actually does on the wire, not by any particular document.
There was an effort in the IETF by the various parties (Apple, Shiva,
Cayman, Compatible Systems, cisco, etc) to actually document all of this a
few years ago. Somewhere on the net I'm sure someone has a copy of the old
internet-draft document. The effort fizzled out and nothing formal ever
came of it (no "standard"; no "RFC").
The basics are not hard to figure out: some of it is obvious from
inspecting NBP tables and interactions, and looking at the wire with a
protocol analyzer as the packets fly by. Some of the parts (e.g. how long
should inactivity be allowed before the MacIP server reclaims a dynamically
allocated IP address from some AppleTalk client?) are not so obvious and
have to be figured out from hard-won experience.
I probably have some of this time line wrong. I've been working at Apple
far too long, and some of this is a bit fuzzy since I cared more about
making the Apple Engineering network work at the time this stuff was
happening. If someone who is actively looking for the IETF internet-draft
document in question finds it, I'd appreciate having a copy forwarded to
me, since it is the only written description of this protocol that I know
of, and Apple really should document it. I care about that now because it's
part of my job - I'm now Apple's Internet Standards Guy (same company, new
job, started Oct 1).
Erik E. Fair <fair@apple.com>
Speaker-to-IETF
Apple Computer, Inc.