AppleTalk accomplished much of its magic through the use of the "Name Binding Protocol" or NBP. This protocol ran over the basic guaranteed delivery layer of AppleTalk and worked like this:

  • When the user looked for a printer or file server (using the Chooser), an NBP query was broadcast by their machine to the Zone they were searching that said, in effect, "everyone who matches the following criteria send me your name".

  • All the computers in the Zone would get the packet and see if they matched (for example, if they had file sharing turned on and the request was for file servers).

  • Computers which matched the query responded to the sender with a record containing their name and address.

  • The Chooser on the first Mac then displayed all the names that came back in the replies.

This worked beautifully. It allowed you to look for a printer, file server, etc, that you had never heard of. People with laptops could hook up to a strange network and print right away. It was much more user friendly than most of the alternatives.

Unfortunately, it was based on broadcast packets (localized to a Zone, but Zones could be large, even continent-spanning networks). As everyone knows, broadcast packets are an anathema to IT Managers. Worse, leaving a Chooser window open would cause it to periodically broadcast for new arrivals, causing dozens or hundreds of replies each time. This wasn't a problem when AppleTalk networks were small and localized. Once they became world-wide (British Petroleum had an AppleTalk network with thousands of Macs over several continents), the limitations became obvious - every user who felt like it could explore the network on another continent for printers, chewing up bandwidth and pissing off the IT Managers.

As a result, the Packet Police of all large orgainizations complained bitterly about AppleTalk and it became deprecated over time.