AFP

The Apple Filing Protocol (AFP), formerly AppleTalk Filing Protocol, is a proprietary network protocol, and part of the Apple File Service (AFS), that offers file services for macOS and the classic Mac OS. In Mac OS 9 and earlier, AFP was the primary protocol for file services. The protocol was deprecated starting in OS X 10.9 Mavericks, and AFP Server support was removed in macOS 11 Big Sur. In macOS 10.x, AFP is one of several file services supported, with others including Server Message Block (SMB), Network File System (NFS), File Transfer Protocol (FTP), and WebDAV. AFP currently supports Unicode file names, POSIX and access control list permissions, resource forks, named extended attributes, and advanced file locking.

Compatibility

AFP versions 3.0 and greater rely exclusively on TCP/IP (port 548) for establishing communication, supporting AppleTalk only as a service discoveryprotocol. The AFP 2.x family supports both TCP/IP (using Data Stream Interface) and AppleTalk for communication and service discovery. Many third-party AFP implementations use AFP 2.x, thereby supporting AppleTalk as a connection method. Still earlier versions rely exclusively on AppleTalk. For this reason, some older literature refers to AFP as "AppleTalk Filing Protocol". Other literature may refer to AFP as "AppleShare", the name of the Mac OS 9 (and earlier) AFP client.

Notable current compatibility topics are:

  1. Mac OS X v10.4 and later eliminates support for AFP servers that rely solely on AppleTalk for communication.

  2. Computers using classic Mac OS can connect to AFP 3.x servers, with some limitations. For example, the maximum file size in Mac OS 8 is 2 gigabytes. Typically, Mac OS 9.1 or later is recommended for connecting to AFP 3.x servers; for versions of original Mac OS prior to 9.1, installation of the AppleShare client 3.8.8 is required.

  3. AFP 3.0 and later is required for network home directories, since Mac OS X requires POSIX permissions on user home directories. Single sign-on using Kerberos requires AFP 3.1.

  4. APFS: AFP is incompatible with sharing of APFS volumes but is still usable as a Time Machine destination in High Sierra.

History

Early implementations of AFP server software were available in Mac OS starting with System 6, in AppleShare and AppleShare IP, and in early "1.x" releases of Mac OS X Server. In client operating systems, AFP was called "Personal File Sharing", and supported up to ten simultaneous connections. These AFP implementations relied on version 1.x or 2.x of the protocol. AppleShare IP 5.x, 6.x, and the "1.x" releases of Mac OS X Server introduced AFP version 2.2. This was the first version to offer transport connections using TCP/IP as well as AppleTalk. It also increased the maximum share point size from four gigabytes to two terabytes,[2] although the maximum file size that could be stored remained at two gigabytes due to limitations in the original Mac OS.

Changes made in AFP since version 3.0 represent major advances in the protocol, introducing features designed specifically for Mac OS X clients.

However, like the AppleShare client in original Mac OS, the AFP client in Mac OS X continued to support type and creator codes, along with filename extensions.

AFP Version Differences

AFP 2.0

This version of the protocol is the version that was initially documented in Inside AppleTalk. The contents of Inside AppleTalk are now split between this document and Apple Filing Protocol Reference.

AFP 2.1

This version was a significant upgrade to accommodate System 7.0.

AFP 2.2

  • Added support for AFP over TCP.

AFP 3.0

Introduced in OS X v.10.0 and also used in v.10.1, AFP 3.0 includes major changes to support OS X.

AFP 3.1

Introduced in OS X v10.2, AFP 3.1 was a relatively minor release to tidy up some nagging OS X issues.

AFP 3.1+

Introduced in OS X v.10.3, AFP 3.1+ added additional reconnection functionality and additional Kerberos support.

AFP 3.2

Introduced in OS X v10.4, AFP 3.2 added support for ACLs and extended attributes.

AFP 3.2+

Introduced in OS X v10.5, AFP 3.2+ added better synchronization support for Time Machine.

AFP 3.3

Introduced in OS X v10.6. Mandates support for the AFP replay cache (described in AFP Replay Cache).

AFP 3.4

Introduced in OS X v10.8.

Ephemeral

Mac OS X 10.10 Yosemite auto-switch to SMB issue on network connection to macOS 12 Monterey.