AppleTalk Fundamentals
Volume Number: 3
Issue Number: 4
Column Tag: Connections
AppleTalk: Fundamentals
By Dave Kosiur, Editor & Publisher, Connections Newsletter
Connections is a new industry newsletter in the MacInTouch style that covers
issues related to networking on the Mac. Connections and MacTutor have agreed to
promote each other as "sister" publications and we will be re-printing articles from
Connections in MacTutor from time to time. This article is re-printed from the first
issue. Connections is edited and published by Dave Kosiur. Bob Denny of Alisa Systems
serves on it's advisory board, as he does for MacTutor. Subscriptions are $60 per year
for the bimonthly publication, available from Connections, PO Box 5894, Fullerton,
CA 92635. This is a valuable source of network specific information and we encourage
your support.
AppleTalk is Apple's design of a simple, inexpensive and flexible network for
connecting computers, peripheral devices, and servers. AppleTalk's flexibility allows
it to be used to connect peripherals such as the LaserWriter, or act as a stand-alone
local-area network for up to 32 nodes, or form portions of a larger network by using
bridges and gateway devices.
Fig. 1 The Physical Connection
What is AppleTalk? At a purely physical level, AppleTalk is a network with a
bus topology that uses a trunk cable between connection modules. Interfacing with the
network is handled by the Serial Communications Control chip found in every Mac.
Any device (computer, peripheral, etc.) attaches to a connection box via a short cable
(called a drop cable), as shown in figure 1. This type of network is known as a
multidrop line or a multipoint link. AppleTalk is capable of supporting up to 32 nodes
(devices) per network and can transmit data at a rate of 230,400 bits per second.
Nodes can be separated by a maximum cable length of 1000 feet.
AppleTalk, as specified by Apple, is wired using relatively inexpensive shielded,
twisted-pair cable and Apple's connection boxes. One box is required per device; in the
case of the Mac, the box plugs into the serial printer port in the back of the Mac using
an attached drop cable. A trunk cable segment from one node on the network plugs into
one port on the connection box, and another cable segment leading to the next node in
the network plugs into the other port on the box.
One of the advantages of AppleTalk relates to the design of these connection boxes.
The boxes are designed so that the continuity of the trunk cable and the network is
maintained even if a device is disconnected from the network by unplugging it from the
connection box. (Unplugging the trunk from the connection box does disrupt the
integrity of the network, however.) The physical layout of an AppleTalk network can
therefore be designed by locating the connection boxes where desired without worrying
if a device will be initially connected to each one of the boxes. Additional devices can be
added to the network at any time simply by plugging them into the boxes.
There are alternatives to using Apple's connection boxes. Farallon Computing
markets their PhoneNET system, which fully supports the AppleTalk protocols. In the
case of PhoneNET, the physical transmission medium is ordinary telephone wire,
allowing the user to use the in-house telephone wiring for his network. PhoneNET
uses the two of the unused wires found in a normal telephone installation, supporting
both a telephone and a Mac connected to the same telephone wall box. In addition,
PhoneNET links are capable of supporting 3000-foot distances between nodes.
Farallon has a series of devices (repeaters, Star Controller) for extending the
network.
With the recent announcement of DuPont's system for AppleTalk, users can also
use fiber optic connections for an AppleTalk network. A concentrator is also available
for constructing star networks. Two advantages of the fiber optics system are its
immunity to EMI-RFI interference and improved data security; nodes may be a
maximum of 4900 feet apart.
AppleTalk Protocols and the OSI Model
The Physical Layer has the responsibility of bit encoding/decoding,
synchronization, signal transmission/ reception and carrier sensing. As mentioned
previously, the Serial Communications Control chip in the Mac takes care of the
AppleTalk port, which happens to be the printer port on current Macs. As long as
connection modules conform to the signal descriptions of the Physical Layer, any
transmission medium can be used for the actual network.
The AppleTalk Link Access Protocol (ALAP) must be common to all systems on the
network bus and handles the node-to-node delivery of data between devices connected to
a single AppleTalk network. ALAP determines when the bus is free, encapsulates the
data in frames, sends its data, and recognizes when data should be received. ALAP is
also responsible for assigning node numbers to each station on a network. The ALAP
software assigns a random node number when the Mac is booted and keeps that number
as long as it does not conflict with a previously assigned node number (if it does
conflict, ALAP tries again).
The Link Access Protocol uses a method called CSMA/CA, or carrier-sense
multiple access with collision avoidance, for access control. Carrier sense means that
a sending node first listens to the network to hear if any other node is using the bus and
defers to the ongoing transmission. Collision avoidance means that the protocol
attempts to minimize collisions between transmitted data packets. In AppleTalk
CSMA/CA, all transmitters wait until the bus is idle for a minimum time plus a
random amount of added time before transmitting (or retransmitting after a collision).
While the ALAP protocol provides delivery of data over a single AppleTalk
network, the Datagram Delivery Protocol (DDP) extends this mechanism to include a
group of interconnected AppleTalk networks, known as an internet. An internet can be
formed, for example, by using a bridge between two, or more, AppleTalk networks.
AppleTalk's address header (a part of each data packet) is used for identification
of a process on the network and consists of a socket number, node number, and network
number. A socket is a communication endpoint within a node on the network. Sockets
belong to processes or functions that are implemented within software in the node. One
Mac may have several AppleTalk connections open at one time, so the node number is
not enough to identify a network address. In addition, node numbers are unique only
within a single physical network, so DDP requires that each network be assigned a
network number. The Datagram Delivery Protocol takes care of assigning socket
numbers, as well as node numbers and network numbers, to provide a unique
identification for every process occurring on the AppleTalk network.
As we move on to the Transport Layer, several protocols exist to add different
types of functionality to the underlying services. The Routing Table Maintenance
Protocol (RTMP) allows bridges and internet routers to dynamically discover routes
to the different AppleTalk networks in an internet. The routing tables pair network
numbers with the local node number of the bridge through which the shortest path to
that net exists.
The AppleTalk Transaction Protocol, or ATP, is part of the Transport Layer and is
responsible for controlling the transactions (flow of data) between requestor and
responder sockets. This transaction-oriented protocol can be contrasted to other types
of transport layers which support a two-way link between clients that can act as
though they had an error-free hardwired link between them.
The basic function of the Name Binding Protocol (NBP) is the translation of a
character string name into the internet address of the corresponding client. A key
feature of the network is that most objects are accessible by name rather than by
address (better for the user). NBP also introduces the concept of a zone, which is an
arbitrary subset of networks in an internet where each network is in one and only one
zone. The concept of zones is provided to assist the establishment of departmental or
other user-understandable grouping of the entities of the internet. AppleTalk names
consist of three fields: the object name (e.g., Dave), the type name (e.g., printer), and
the zone name (e.g., Bldg. 1).
The Echo Protocol (EP) is a simple protocol that allows any node to send data to
any other node on an AppleTalk internet and receive an echoed copy of that data in
return. The Echo Protocol is mainly meant for network maintenance functions.
The specifications for the AppleTalk Data Stream Protocol (ADSP) have not yet
been published (Inside AppleTalk, current version dated July 14, 1986). ADSP is
designed to provide byte-stream data transmission in a full duplex mode between any
two sockets on an AppleTalk internet. The Zone Information Protocol (ZIP) is used to
maintain an internet-wide mapping of networks to zone names. Most of ZIP's services
are transparent to the normal (non-bridge) node; the majority of ZIP is implemented
in the bridges of an internet. ZIP is used by the Name Binding Protocol to determine
which networks belong to a given zone.
In the Session Layer, the AppleTalk Session Protocol (ASP) is a general protocol
designed to interact with ATP to provide for establishing, maintaining and closing
sessions. Central to ASP is the concept of a session; two network entities, one in a
workstations and the other in a server, can set up an ASP session between themselves
(identified by a unique sessions identifier). ASP is an asymetric protocol in that the
workstation initiates the session connection and issues sequences of commands, to
which the server responds; the server may not send commands to the workstation.
The specifications for the AppleTalk Filing Protocol (AFP) have not been
generally publicized. However, AFP has been finalized with the introduction of the
AppleShare file server software from Apple, which uses AFP. AFP is a presentation
layer protocol designed to control access to remote file systems.
At this time, third-party products are available for connecting Macintoshes and
IBM PCs to AppleTalk, as well as using gateways for access to EtherNet as a backbone
network to larger computers. Future articles in Connections will deal with these
products and the diversity of products (file servers, spoolers, etc.) that can take
advantage of such connections. For additional information, see MacTutor, Vol. 1,
Numbers 10 and 11 for articles by Bob Denny & Alan Wootton.