Apple Filing Protocol

Last updated
Apple Filing Protocol
Communication protocol
PurposeFile services
Developer(s)Apple, Inc.
Port(s) 548

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, classic Mac OS, and Apple II computers. In OS X 10.8 Mountain Lion and earlier, AFP was the primary protocol for file services. Starting with OS X 10.9 Mavericks, Server Message Block (SMB) was made the primary file sharing protocol, with the ability to run an AFP server removed later in macOS 11 Big Sur. [1] AFP supports Unicode file names, POSIX and access-control list permissions, resource forks, named extended attributes, and advanced file locking.

Contents

Compatibility

AFP versions 3.0 and greater rely exclusively on TCP/IP (port 548) for establishing communication, supporting AppleTalk only as a service discovery protocol. 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. [2] 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. [3]

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 continues to support type and creator codes, along with filename extensions.

AFP 3.0 was introduced in Mac OS X Server 10.0.3, and was used through Mac OS X Server 10.1.5. It was the first version to use the UNIX-style POSIX permissions model and Unicode UTF-8 file name encodings. Version 3.0 supported a maximum share point and file size of two terabytes, the maximum file size and volume size for Mac OS X until version 10.2. [4] (Note that the maximum file size changed from version 2.2, described above.) Before AFP 3.0, 31 bytes was the maximum length of a filename sent over AFP.

AFP 3.1 was introduced in Mac OS X Server version 10.2. Notable changes included support for Kerberos authentication, automatic client reconnect, NFS resharing, and secure AFP connections via Secure Shell (SSH). The maximum share point and file size increased to 8 terabytes with Mac OS X Server 10.2, [4] [5] and then to 16 terabytes with Mac OS X Server 10.3. [4] [6]

AFP 3.2 adds support for Access Control Lists and extended attributes in Mac OS X Server 10.4. Maximum share point size is at least 16 terabytes, although Apple has not published a limits document for Mac OS X Server 10.4. Apple implemented AFP 3.2 support in their AirPort Time Capsule wireless router device.

AFP 3.2+ was introduced in Mac OS X Leopard and adds case sensitivity support and improves support for Time Machine (synchronization, lock stealing, and sleep notifications).

AFP 3.3 mandates support for Replay Cache functionality (required for Time Machine).

AFP 3.4, introduced in OS X Mountain Lion, includes a minor change in the mapping of POSIX errors to AFP errors.

See Apple's Developer documentation on AFP Version Differences. [7]

The macOS client

In Mac OS X Tiger, users can connect to AFP servers by browsing for them in the Network globe or entering an AFP Uniform Resource Locator (URL) into the Connect to Server dialog. In Mac OS X Leopard and later releases, AFP shares are displayed in the Finder sidebar. AFP URLs take the form: afp://server/share, where server is the server's IP address, Domain Name System (DNS) name, or Bonjour name, and share is the name of the share point. In Snow Leopard and later, a URL of the form afp://server/share/path can be used to mount a subdirectory underneath a share point.

macOS also offers Personal File Sharing, a "light" implementation of the current version of AFP. In Mac OS X 10.4, users can share the contents of their Public folders by checking Personal File Sharing in the Sharing section of System Preferences.

AFP URLs for AppleTalk servers took the form: afp://at/AppleTalk name:AppleTalk zone. For networks without AppleTalk zones, an asterisk (*) would be substituted for the zone name.

Third-party implementations

Third party server implementations of AFP are available from a number of companies.

See also

Related Research Articles

AppleTalk is a discontinued proprietary suite of networking protocols developed by Apple Computer for their Macintosh computers. AppleTalk includes a number of features that allow local area networks to be connected with no prior setup or the need for a centralized router or server of any sort. Connected AppleTalk-equipped systems automatically assign addresses, update the distributed namespace, and configure any required inter-networking routing.

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

Samba is a free software re-implementation of the SMB networking protocol, and was originally developed by Andrew Tridgell. Samba provides file and print services for various Microsoft Windows clients and can integrate with a Microsoft Windows Server domain, either as a Domain Controller (DC) or as a domain member. As of version 4, it supports Active Directory and Microsoft Windows NT domains.

<span class="mw-page-title-main">Mac OS X Server</span> Server software for macOS

Mac OS X Server is a series of discontinued Unix-like server operating systems developed by Apple Inc. based on macOS. It provided server functionality and system administration tools, and tools to manage both macOS-based computers and iOS-based devices, network services such as a mail transfer agent, AFP and SMB servers, an LDAP server, and a domain name server, as well as server applications including a Web server, database, and calendar server.

Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems (Sun) in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call system. NFS is an open IETF standard defined in a Request for Comments (RFC), allowing anyone to implement the protocol.

The resource fork is a fork or section of a file on Apple's classic Mac OS operating system, which was also carried over to the modern macOS for compatibility, used to store structured data along with the unstructured data stored within the data fork.

<span class="mw-page-title-main">A/UX</span> Early Unix-based operating system from Apple Computer

A/UX is a Unix-based operating system from Apple Computer for Macintosh computers, integrated with System 7's graphical interface and application compatibility. It is Apple's first official Unix-based operating system, launched in 1988 and discontinued in 1995 with version 3.1.1. A/UX requires select 68k-based Macintosh models with an FPU and a paged memory management unit (PMMU), including the Macintosh II, SE/30, Quadra, and Centris series.

Zero-configuration networking (zeroconf) is a set of technologies that automatically creates a usable computer network based on the Internet Protocol Suite (TCP/IP) when computers or network peripherals are interconnected. It does not require manual operator intervention or special configuration servers. Without zeroconf, a network administrator must set up network services, such as Dynamic Host Configuration Protocol (DHCP) and Domain Name System (DNS), or configure each computer's network settings manually.

<span class="mw-page-title-main">Server Message Block</span> Network communication protocol for providing shared access to resources

Server Message Block (SMB) is a communication protocol mainly used by Microsoft Windows equipped computers normally used to share files, printers, serial ports, and miscellaneous communications between nodes on a network. SMB implementation consists of two vaguely named Windows services: "Server" and "Workstation". It uses NTLM or Kerberos protocols for user authentication. It also provides an authenticated inter-process communication (IPC) mechanism.

<span class="mw-page-title-main">Mac OS X 10.0</span> First major release of Mac OS X

Mac OS X 10.0 is the first major release of Mac OS X, Apple's desktop and server operating system. It was released on March 24, 2001, for a price of $129 after a public beta.

<span class="mw-page-title-main">XNU</span> Computer operating system kernel

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which in addition to macOS is also the basis for the Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS OSes. XNU is an abbreviation of X is Not Unix.

AppleShare is a discontinued product from Apple Computer which implements various network services. Its main purpose is to act as a file server, using the AFP protocol. Other network services implemented in later versions of AppleShare included a print server using the Printer Access Protocol (PAP), web server, electronic mail server, and SMB / CIFS server to support file sharing to Microsoft Windows clients.

<span class="mw-page-title-main">Netatalk</span> Free, open-source implementation of the Apple Filing Protocol

Netatalk is a free, open-source implementation of the Apple Filing Protocol (AFP). It allows Unix-like operating systems to serve as file servers for Macintosh computers running macOS or Classic Mac OS.

<span class="mw-page-title-main">Xsan</span> Storage area network by Apple

Xsan is Apple Inc.'s storage area network (SAN) or clustered file system for macOS. Xsan enables multiple Mac desktop and Xserve systems to access shared block storage over a Fibre Channel network. With the Xsan file system installed, these computers can read and write to the same storage volume at the same time. Xsan is a complete SAN solution that includes the metadata controller software, the file system client software, and integrated setup, management and monitoring tools.

<span class="mw-page-title-main">Microsoft Mail</span> Several Microsoft email products

Microsoft Mail was the name given to several early Microsoft e-mail products for local area networks, primarily two architectures: one for Macintosh networks, and one for PC architecture-based LANs. All were eventually replaced by the Exchange and Outlook product lines.

The following tables compare general and technical information for a number of file systems.

TOPS is a peer-to-peer LAN-based file sharing system best known in its Macintosh implementation, but also available for DOS and able to interoperate with Unix's NFS. Originally written by Centram Systems West, the company was purchased by Sun Microsystems as part of Sun's development of the NFS ecosystem. The Centram company was renamed to TOPS after its acquisition by Sun. Sales of TOPS dried up after the introduction of System 7, which featured a similar file sharing system built-in, and Sun spun off their NFS developments to Sitka.

The Data Stream Interface (DSI) is a session layer used to carry Apple Filing Protocol traffic over Transmission Control Protocol.

References

  1. Fleishman, Glenn (2020-12-18). "AFP is no longer supported in macOS Big Sur. Here's the fix". Macworld. Retrieved 2021-01-09.
  2. 1 2 "AppleShare & AppleShare IP File Sharing: Chart of All Limitations" . Retrieved 2012-06-10.
  3. "Mac OS 8, 9: Mac OS Extended Format - Volume and File Limits" . Retrieved 2012-06-10.
  4. 1 2 3 "Mac OS X: Mac OS Extended Format - Volume and File Limits" . Retrieved 2012-06-10.
  5. "Mac OS X Server 10.2: Tested and theoretical maximums (limits)" . Retrieved 2012-06-10.
  6. "Mac OS X Server 10.3: Tested and theoretical maximums (limits)" . Retrieved 2012-06-10.
  7. "Apple's Developer documentation on AFP Version Differences" . Retrieved 2011-09-15.
  8. "Mabam/CAP". GitHub .
  9. "Back-ends for GVfs".