- Apple Filing Protocol
The Apple Filing Protocol (AFP) is a layer 6 (
presentation layer ) network protocol that offers file services forMac OS X and originalMac OS . In Mac OS X, AFP is one of several file services supported includingServer Message Block (SMB), Network File System (NFS),File Transfer Protocol (FTP), andWebDAV . AFP currently supportsUnicode file names,POSIX andaccess control list permissions, UNIX quotas,resource fork s, named extended attributes, and advanced file locking. InMac OS 9 and earlier, AFP was the primary protocol for file services.Compatibility
AFP versions 3.0 and greater rely exclusively on TCP/IP (port 548 or 427) for establishing communication, supporting
AppleTalk only as a service discovery protocol. The AFP 2.x family supports both TCP/IP 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:
#
Mac OS X v10.4 and later eliminates support for AFP servers that rely solely on AppleTalk for communication.
# Computers using original Mac OS can connect to AFP 3.x servers, with some limitations. For example, the maximum file size in Mac OS 8 is 2gibibyte s. 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 theAppleShare client 3.8.8 is required.
# 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.History
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 code s, along withfilename extension s.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 UnicodeUTF-8 file name encodings. Version 3.0 supported a maximum share point and file size of twotebibyte s, the maximum file size and volume size for Mac OS X until version 10.2. (Note that the maximum file size changed from version 2.2, described below.) 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 eight tebibytes with Mac OS X Server 10.2, and then to 16 tebibytes with Mac OS X Server 10.3.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 tebibytes, although Apple has not published a limits document for Mac OS X Server 10.4.Mac OS X Leopard extends AFP 3.2 to include three new undocumented AFP commands. The first two are used to get the server to synchronize data for a file or a directory to disk; this is used to ensure that data cannot be lost if the server fails during a Time Machine backup. The third function is used by network Spotlight features.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 tebibytes, although the maximum file size that could be stored remained at two gigabytes due to limitations in original Mac OS.
The Mac OS X 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 OS X Leopard, AFP shares are displayed in the Finder side-bar. AFP URLs take the form: "afp:/// ", where is the server's IP address ,Domain Name System (DNS) name, or Bonjour name, andis the name of the share point .Mac OS X also offers Personal File Sharing, a "light" implementation of the current version of AFP. In Mac OS X 10.4 client, 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/
: ". 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.
*
Microsoft includes AFP 2.2 server support as an option in some versions of Windows.
*Novell'sNetWare supports AFP.
* [http://www.helios.de HELIOS UB+] supports AFP on a whole array of different Unix based platforms.
*Anopen source AFP server calledNetatalk is available forUnix -like operating systems.
*TheOpen Source Filesystem in Userspace ( [http://fuse.sourceforge.net FUSE] ) and command-line client implementation [http://sourceforge.net/projects/afpfs-ng afpfs-ng] forLinux andUnix -like operating systems by Alex deVries
* [http://www.grouplogic.com/products/extreme/overview.cfm ExtremeZ-IP] and [http://www.cyansoftware.com/MacServerIP.htm MacServerIP] for Windows offer AFP 3.x support.
*A few NAS solutions support AFP - [http://www.lacie.com/us/products/range.htm?id=10007 LaCie EtherNet Disk] , [http://www.infrant.com/products/products.php Infrant ReadyNAS] , [http://www.synology.com/ Synology's Disk Stations] (AFP 3.1), [http://www.snapserver.com/ Adaptec's Snap Server] (AFP 3.1) andExanet 'sExaStore (AFP 3.1) being commercial examples andFreeNAS being afree software example.
* [http://giantlaser.com/jaffer/ Jaffer] is a Java implementation of Appletalk File Protocol v3.1.
* [http://www.xinet.com/ Xinet] has a product, ka-share, that has been a main stay on Solaris (on Sparc only) and Irix platforms for the last decade.References
* [http://manuals.info.apple.com/en/File_Services_v10.4.pdf File Services Manual for Mac OS X Server 10.4]
* [http://developer.apple.com/documentation/Networking/Conceptual/AFP/index.html Apple Filing Protocol Programming Guide]
* [http://docs.info.apple.com/article.html?artnum=25557 Mac OS X: Mac OS Extended Format - Volume and File Limits]
* [http://docs.info.apple.com/article.html?artnum=15460 AppleShare & AppleShare IP File Sharing: Chart of All Limitations (Mac OS 9 or earlier)]
* [http://docs.info.apple.com/article.html?artnum=107684 Mac OS X Server 10.3: Tested and theoretical maximums (limits)]
* [http://docs.info.apple.com/article.html?artnum=107326 Mac OS X: Some Mac OS X Applications and Services Require AFP 3.0 or Later ]
* [http://docs.info.apple.com/article.html?artnum=107323 Mac OS X Server 10.2: Tested and theoretical maximums (limits)]
* [http://developer.apple.com/MacOs/opentransport/docs/dev/Inside_AppleTalk.pdf Inside AppleTalk - original specification for the AppleTalk protocol stack including AFP]
* [http://www.accsystems.com/glossary.htm Glossary of Networking Terms]
* [http://www.newsfactor.com/story.xhtml?story_title=How_Secure_Is_OS_X_&story_id=23467 NewsFactor Network article, A]
* [http://docs.info.apple.com/article.html?artnum=24601 Mac OS 8, 9: Mac OS Extended Format - Volume and File Limits]
* [http://docs.info.apple.com/article.html?artnum=8647 Macintosh: File System Specifications and Terms]
* [http://developer.apple.com/technotes/tn/tn1150.html Apple Technical Note TN1150 on the HFS Plus Volume Format]
Wikimedia Foundation. 2010.