AppleTalk is a protocol suite developed by Apple Computer in the early 1980s to allow multiple users to share resources such as files and printers, and is one of the early implementations of a distributed client/server networking system. Phase 1 was designed for use with workgroups only, but Phase 2 was designed to support both client-server LANs and internetworking. Up to 253 hosts or servers can be accommodated on a single AppleTalk network segment. AppleTalk networks are arranged hierarchically and consist of four basic components: sockets, nodes, networks, and zones. The following diagram illustrates the hierarchical organisation of these components.
A typical AppleTalk network
A node is any device (e.g. a client computer, printer, router, or some other device) connected to an AppleTalk network. Each node belongs to a single network and a specific zone. Software processes running on a node are identified by sockets, and are known as socket clients. An AppleTalk node can contain up to 254 socket numbers.
AppleTalk networks can be extended or non-extended. A non-extended network is a physical network segment that is assigned a single network number between 1 and 1024. Each node number in the network must be unique An extended network is a physical network segment that can be assigned multiple network numbers. Extended networks can have multiple zones configured on a single network segment. A zone is a logical group of nodes or networks defined by the network administrator. Nodes or networks need not be physically contiguous to belong to the same zone. The following diagram illustrates an AppleTalk internetwork composed of three non-contiguous zones.
Zones in an AppleTalk network
AppleTalk uses addresses to identify devices on a network. Each address is composed of a 16-bit network number that identifies a specific network, and an 8-bit node number that identifies a node attached to the specified network. A socket number identifies a specific process running on a network node. Addresses are usually written as decimal values separated by a period. For example, 10.1.50 means network 10, node 1, socket 50.