A Made IT project
This document describes the AppleTalk and LocalTalk network as implemented on the Apple Macintosh. It describes the various parts of the Apple network like: AFP, ASP, ZIP, ADSP, ATP, AEP, NBP, RTMP, DDP, LLAP, ELAP, TLAP, LocalTalk, EtherTalk and TokenTalk
When Apple Computer introduced the Apple Macintosh in 1984 it had a build in networking facility that was called AppleTalk. It consists of two major parts: the protocol-stack called AppleTalk and the physical network called LocalTalk. The LocalTalk part can be exchanged by e.g. Ethernet, Apple calls this EtherTalk, or Token Ring, which is then called TokenTalk.
Next to these there is also a cheap telephone-wire-network called PhoneNET from Farallon Computing and Apple also has a telephone wire system called LocalTalk RJ-11.
Currently there are two flavours of the AppleTalk protocol-stack:
Old units with Phase 1 can not communicate with Phase 2 units, or atleast can not use all the benefits of Phase 2. The Phase 2 adds extended addressing, dynamic node addressing, distributed name service, AppleTalk zones and best routing algorithms. In this document only Phase 2 is taken into account.
The AppleTalk addressing scheme has three portions: a Network number, a Node ID, and a Socket number.
Next to this AppleTalk also knows a feature called Zone name. Every node (workstation, server, router) is part of a zone. A zone is a group of stations that logically fit together although they do not need to be in the same room. The system administrator has the possibility to control such a group instead of using controls on a per person basis.
The addressing of a node can be done manually or automatically. This means you can manually set the node ID, but you can also leave it to the network to take care of that. When the automatic feature is used a node will pick a random ID and then checks it with the network to see if it's free.
The node address is written down in two parts. The first part is the network address and the second part in the node address on that network. Both addresses are separated by a dot (.)
The Node ID is an eight bit number which results in 254 (0 and 255 are the broadcast addresses) nodes on one network.
The Network ID is an eight bit number for AppleTalk Phase 1 and a sixteen bit number for AppleTalk Phase 2 which results in respectively 254 and 65534 possible networks.
To identify an application on a node (you could have several applications running on one node) there is another address to address that application on a node. This address is called a socket, which is also an eight bit number with a maximum of 254 sockets on a single node.
Another feature within AppleTalk networks is the use of zones. The zone-name is a by the system administrator choosen name for a group of users. This way the administrator can set rules for this group without having to set rules for every user. Logical groups would be: sales, marketing, etc.
Devices on a network
All devices that are addressable are called Nodes (workstations, file-servers, printers, routers). However there are some special devices in a network which are called routers. The various types of routers are:
The Apple network compared to OSI
|7||Application Layer||AppleShare (files, printers, PCs)|
|6||Presentation Layer||AppleTalk Filing Protocol (AFP), Printer Access Protocol (PAP)|
|5||Session Layer||AppleTalk Session Protocol (ASP), Zone Protocol (ZIP), AppleTalk Data Stream Protocol (ADSP)|
|4||Transport Layer||AppleTalk Transport Protocol (ATP), AppleTalk Echo Protocol (AEP), Name-Binding Protocol (NBP), Routing Table Maintenance Protocol (RTMP)|
|3||Network Layer||Datagram Delivery Protocol (DDP)|
|2||LLC||Data Link Layer||LocalTalk Link-Access Protocol (LLAP), Ethernet Link-Access Protocol (ELAP), Token ring Link-Access Protocol (TLAP), Other Link-Access Protocols|
|MAC||LocalTalk, EtherTalk, TokenTalk, or other Network Topologies|
|1||Physical Layer||STP, UTP, Coax, Fiber|
AppleShare is incorporated in the Macintosh OS. It is a client/server protocol between an AppleShare server and a client (workstation).
AFP allows workstations on an AppleTalk network to access files on AppleShare servers. It makes remote harddisks look like local ones. It is not a common used protocol because the native file system commands allow users to access an server. There is no server-based interface.
ASP is responsible for setting up and maintaining sessions between workstations and the server. The protocol is asymmetrical (completely controlled by the client). A more commanly used protocol for this is ADSP.
ZIP is the protocol that provides the higher layers with zone information. Zones are used in a Macintosh network to identify groups of users, like sales, marketing, etc.
ADSP is a connection oriented protocol that has the same function as ASP. It uses sockets to exchange full-duplex data streams over an AppleTalk network. In contrast with ASP, ADSP is symmetrical protocol. This means that the socket clients have equal control over the ADSP session.
ATP is a protocol that exchanges commands between socket clients. ATP provides reliable delivery of packets. It takes care of retransmissions and puts arrived packets in the correct order.
AEP is a socket that resides on every client and listens to the network. If an echo packet arrives it immediatly sends back the packet to the sender. Those familiar with TCP/IP will recognize this feature from the Ping utility.
NBP is, as the name implies, a way to bind names to addresses. The binding can be with nodes and applications (sockets). All AppleTalk applications use NBP to make their services known throughout the network.
RTMP is used by AppleTalk routers to maintain their routing tables. Each workstation contains a small part of the RMTP called the RMTP stub. This portion is used by DDP to determine the network number and network ID.
DDP is a connectionless protocol that is responsible for the transfer of datagrams between sockets. It doesn't care about reliability, correct order, nor does it care about the transport medium.
Layer 2 LLC
The LAPs make it possible to use AppleTalk over different networks. For each network topology there is a different LAP.
LocalTalk; The Network
LocalTalk uses a CSMA/CA protocol to make use of the serial bus that the network is. Since all computers are daisy-chained to eachother there is a need for accessing the shared bus. CSMA/CA stands for Carrier Sense Multiple Access with Collision Avoidance. Which means that every stations listens to the bus to see if it's free. If it's free every station waits for a random time and then starts transmitting the data it has to send. The change of a collision is minimized by the random delay timer. When a collision does occur, all sending stations back off and the random delay timer starts again.
The frame format used is SDLC (Synchronous Data Link Control).
The interface between the MAC-layer and Layer 1 is AAUI (Apple Attachment Unit Interface). This connector can be used to connect different physical interface tranceivers, like 10Base-T, 10Base-2 or 10Base-5. The electrical characteristics and functions are identical to the AUI connector defined in the IEEE 802.3.
The card always has a male connector with the following pinning:
|1||FN Pwr||+12 Vdc @ 175 mA or +5 Vdc @ 420 mA|
|2||DI-A||Data In circuit A|
|3||DI-B||Data In circuit B|
|5||CI-A||Control In circuit A|
|6||CI-B||Control In circuit B|
|7||+5V||+5 Vdc (from host)|
|8||+5V||Secondary +5 Vdc (from host)|
|9||DO-A||Data Out circuit A|
|10||DO-B||Data Out circuit B|
|11||VCC||Secondary Voltage Common|
|14||FN Pwr||Secondary +12 Vdc @ 175 mA or +5 Vdc @ 420 mA|
|Shell||Protective GND||Protective Ground|
The signalling used is EIA modified RS422. With a speed of 230k4 bps. The signal encoding used FMO (bi-phase space).
Cabling & Connectors
LocalTalk is the standard cabling method used with AppleTalk networks. The topology is a serial bus structure with transformer isolation. To connect a Macintosh to the network you connect the 8-pin mini-DIN printer port to a LocalTalk adapter. From these adapters you daisy-chain adapters to eachother through a shielded twisted pair cable with mini-DIN 3 male connectors. The maximum cable length is 1000 ft/ 330 mtr. The adapters are auto-terminating so no terminators are needed.
EtherTalk is AppleTalk over Ethernet. Apple uses SNAP, SubNetwork Access Protocol on the LLC sub-layer.
TokenTalk is AppleTalk over Token Ring.