Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
AppleTalk
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Protocols == {{More citations needed section|date=March 2023}} === AppleTalk Address Resolution Protocol === The AppleTalk Address Resolution Protocol (AARP) resolves AppleTalk addresses to [[link layer]] addresses.<ref name="cisco">{{Cite web |date=2010-02-02 |title=AppleTalk Overview |url=https://www.cisco.com/c/en/us/td/docs/ios/at/configuration/guide/12_2sx/atk_12_2sx_book/overview_appletalk.pdf |access-date=2023-03-21 |website=[[Cisco]]}}</ref> It is functionally equivalent to [[Address Resolution Protocol|ARP]] and obtains address resolution by a method very similar to ARP.<ref>{{Cite web |title=AppleTalk Address Resolution Protocol |url=https://www.devx.com/terms/appletalk-address-resolution-protocol/ |access-date=2025-01-29 |website=DevX |language=en-US}}</ref> AARP is a fairly simple system. When powered on, an AppleTalk machine broadcasts an ''AARP probe packet'' asking for a network address, intending to hear back from controllers such as routers. If no address is provided, one is picked at random from the "base subnet", 0. It then broadcasts another packet saying "I am selecting this address", and then waits to see if anyone else on the network complains. If another machine has that address, the newly connecting machine will pick another address, and keep trying until it finds a free one.<ref name="macworld">{{Cite web |last=Faas |first=Ryan |date=2005-03-15 |title=Inside the Mac OS: A look at AppleTalk and zones |url=https://www.macworld.com/article/174889/appletalk.html |access-date=2023-03-21 |website=[[Macworld]]}}</ref> On a network with many machines it may take several tries before a free address is found, so for performance purposes the successful address is recorded in [[NVRAM]] and used as the default address in the future. This means that in most real-world setups where machines are added a few at a time, only one or two tries are needed before the address effectively becomes constant. === AppleTalk Data Stream Protocol === The AppleTalk Data Stream Protocol (ADSP) was a comparatively late addition to the AppleTalk protocol suite, done when it became clear that a [[Transmission Control Protocol|TCP]]-style reliable connection-oriented transport was needed. Significant differences from TCP were that: * A connection attempt could be rejected. * There were no "half-open" connections; once one end initiated a tear-down of the connection, the whole connection would be closed (''i.e.'', ADSP is [[duplex (telecommunications)|full-duplex]], not [[dual simplex]]). * AppleTalk had an included attention message system which allowed short messages to be sent which would bypass the normal stream data flow. These were delivered reliably but out of order with respect to the stream. Any attention message would be delivered as soon as possible instead of waiting for the current stream byte sequence point to become current.{{sfn|Sidhu|Andrews|Oppenheimer|1989|p=12-19}} === Apple Filing Protocol === The [[Apple Filing Protocol]] (AFP), formerly AppleTalk Filing Protocol, is the protocol for communicating with [[AppleShare]] file servers. Built on top of AppleTalk Session Protocol (for legacy AFP over DDP) or the [[Data Stream Interface]] (for AFP over TCP), it provides services for authenticating users (extensible to different authentication methods including two-way random-number exchange) and for performing operations specific to the Macintosh [[Hierarchical File System (Apple)|HFS]] filesystem. AFP is still in use in macOS, even though most other AppleTalk protocols have been deprecated. === AppleTalk Session Protocol === The AppleTalk Session Protocol (ASP) was an intermediate protocol, built on top of AppleTalk Transaction Protocol (ATP), which in turn was the foundation of AFP. It provided basic services for requesting responses to arbitrary ''commands'' and performing out-of-band status queries. It also allowed the server to send asynchronous ''attention'' messages to the client. === AppleTalk Transaction Protocol === The AppleTalk Transaction Protocol (ATP) was the original reliable transport-level protocol for AppleTalk, built on top of DDP. At the time it was being developed, a full, reliable connection-oriented protocol like TCP was considered to be too expensive to implement for most of the intended uses of AppleTalk. Thus, ATP was a simple request/response exchange, with no need to set up or tear down connections. An ATP ''request'' packet could be answered by up to eight ''response'' packets. The requestor then sent an ''acknowledgement'' packet containing a bit mask indicating which of the response packets it received, so the responder could retransmit the remainder. ATP could operate in either "at-least-once" mode or "exactly-once" mode. Exactly-once mode was essential for operations which were not [[idempotent]]; in this mode, the responder kept a copy of the response buffers in memory until successful receipt of a ''release'' packet from the requestor, or until a timeout elapsed. This way, it could respond to duplicate requests with the same transaction ID by resending the same response data, without performing the actual operation again.<ref>{{Cite web |title=AppleTalk Transaction Protocol |url=https://developer.apple.com/library/archive/documentation/mac/pdf/Networking/ATP.pdf}}</ref> === Datagram Delivery Protocol === The Datagram Delivery Protocol (DDP) was the lowest-level data-link-independent transport protocol. It provided a [[datagram]] service with no guarantees of delivery. All application-level protocols, including the infrastructure protocols NBP, RTMP and ZIP, were built on top of DDP. AppleTalk's DDP corresponds closely to the Network layer of the Open Systems Interconnection ([[OSI model|OSI]]) communication model. === Name Binding Protocol === The Name Binding Protocol (NBP) was a dynamic, distributed system for managing AppleTalk names. When a service started up on a machine, it registered a name for itself as chosen by a human administrator. At this point, NBP provided a system for checking that no other machine had already registered the same name. Later, when a client wanted to access that service, it used NBP to query machines to find that service. NBP provided browsability ("what are the names of all the services available?") as well as the ability to find a service with a particular name.<ref name="cisco" /> Names were human-readable, containing spaces and upper- and lower-case letters, and including support for searching. ===AppleTalk Echo Protocol=== The AppleTalk Echo Protocol (AEP) was a transport layer protocol designed to test the reachability of network nodes.<ref name="cisco" /> AEP generates packets to be sent to the network node and is identified in the Type field of a packet as an AEP packet. The packet is first passed to the source DDP. After it is identified as an AEP packet, it is forwarded to the node where the packet is examined by the DDP at the destination. After the packet is identified as an AEP packet, the packet is then copied and a field in the packet is altered to create an AEP reply packet, and is then returned to the source node. === Printer Access Protocol === The Printer Access Protocol (PAP) was the standard way of communicating with [[PostScript]] printers. It was built on top of ATP.<ref name="cisco" /> When a PAP connection was opened, each end sent the other an ATP request which basically meant "send me more data". The client's response to the server was to send a block of PostScript code, while the server could respond with any diagnostic messages that might be generated as a result, after which another "send-more-data" request was sent. This use of ATP provided automatic [[flow control (data)|flow control]]; each end could only send data to the other end if there was an outstanding ATP request to respond to. PAP also provided for out-of-band status queries, handled by separate ATP transactions. Even while it was busy servicing a print job from one client, a PAP server could continue to respond to status requests from any number of other clients. This allowed other Macintoshes on the LAN that were waiting to print to display status messages indicating that the printer was busy, and what the job was that it was busy with. === Routing Table Maintenance Protocol === The Routing Table Maintenance Protocol (RTMP) was the protocol by which routers kept each other informed about the topology of the network.<ref name="cisco" /> This was the only part of AppleTalk that required periodic unsolicited broadcasts: every 10 seconds, each router had to send out a list of all the network numbers it knew about and how far away it thought they were. === Zone Information Protocol === The Zone Information Protocol (ZIP) was the protocol by which AppleTalk network numbers were associated with zone names.<ref name="cisco" /> A ''zone'' was a subdivision of the network that made sense to humans (for example, "Accounting Department"); but while a network number had to be assigned to a topologically contiguous section of the network, a zone could include several different discontiguous portions of the network.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
AppleTalk
(section)
Add topic