Apple Filing Protocol
Encyclopedia
The Apple Filing Protocol (AFP) is a network protocol
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...

 that offers file services for Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 and original Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...

. In Mac OS X, AFP is one of several file services supported including Server Message Block
Server Message Block
In computer networking, Server Message Block , also known as Common Internet File System operates as an application-layer network protocol mainly used to provide shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. It also provides an...

 (SMB), Network File System (NFS), File Transfer Protocol
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...

 (FTP), and WebDAV
WebDAV
Web-based Distributed Authoring and Versioning is a set of methods based on the Hypertext Transfer Protocol that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers...

. AFP currently supports Unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...

 file names, POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...

 and access control list
Access control list
An access control list , with respect to a computer file system, is a list of permissions attached to an object. An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects. Each entry in a typical ACL specifies a subject...

 permissions, resource fork
Resource fork
The resource fork is a construct of the Mac OS operating system used to store structured data in a file, alongside unstructured data stored within the data fork. A resource fork stores information in a specific form, such as icons, the shapes of windows, definitions of menus and their contents, and...

s, named extended attributes, and advanced file locking. In Mac OS 9
Mac OS 9
Mac OS 9 is the final major release of Apple's Mac OS before the launch of Mac OS X. Introduced on October 23, 1999, Apple positioned it as "The Best Internet Operating System Ever," highlighting Sherlock 2's Internet search capabilities, integration with Apple's free online services known as...

 and earlier, AFP was the primary protocol for file services.

Compatibility

AFP versions 3.0 and greater rely exclusively on TCP/IP
Internet protocol suite
The Internet protocol suite is the set of communications protocols used for the Internet and other similar networks. It is commonly known as TCP/IP from its most important protocols: Transmission Control Protocol and Internet Protocol , which were the first networking protocols defined in this...

 (port 548 or 427) for establishing communication, supporting AppleTalk
AppleTalk
AppleTalk is a proprietary suite of protocols developed by Apple Inc. for networking computers. It was included in the original Macintosh released in 1984, but is now unsupported as of the release of Mac OS X v10.6 in 2009 in favor of TCP/IP networking...

 only as a service discovery
Service discovery
Service discovery protocols are network protocols which allow automatic detection of devices and services offered by these devices on a computer network....

 protocol. The AFP 2.x family supports both TCP/IP (using Data Stream Interface
Data Stream Interface
The Data Stream Interface is a session layer used to carry Apple Filing Protocol traffic over Transmission Control Protocol.- Overview :...

) 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
    Mac OS X v10.4
    Mac OS X v10.4 Tiger is the fifth major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers. Tiger was released to the public on 29 April 2005 for US$129.95 as the successor to Mac OS X Panther , which had been released 18 months earlier...

     and later eliminates support for AFP servers that rely solely on AppleTalk for communication.
  2. 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 2 gigabyte
    Gigabyte
    The gigabyte is a multiple of the unit byte for digital information storage. The prefix giga means 109 in the International System of Units , therefore 1 gigabyte is...

    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 the AppleShare
    AppleShare
    AppleShare was a product from Apple Computer which implemented various network services. Its main purpose was acting as a file server, using the AFP protocol...

     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.

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 gibibyte
Gibibyte
The gibibyte is a standards-based binary multiple of the byte, a unit of digital information storage. The gibibyte unit symbol is GiB....

s to two tebibyte
Tebibyte
The tebibyte is a standards-based binary multiple of the byte, a unit of digital information storage. The tebibyte unit symbol is TiB....

s, although the maximum file size that could be stored remained at two gibibytes 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 continues to support type
Type code
A type code is the only mechanism used in pre-Mac OS X versions of the Macintosh operating system to denote a file's format, in a manner similar to file extensions in other operating systems. Codes are four-byte OSTypes...

 and creator code
Creator code
A creator code is a mechanism introduced in pre-Mac OS X versions of the Macintosh operating system to link a data file to the application program which created it, in a manner similar to file extensions in other operating systems. Codes are four-byte OSTypes. For example, the creator code of the...

s, along with filename extension
Filename extension
A filename extension is a suffix to the name of a computer file applied to indicate the encoding of its contents or usage....

s.

AFP 3.0 was introduced in Mac OS X Server
Mac OS X Server
Mac OS X Server is a Unix server operating system from Apple Inc. The server edition of Mac OS X is architecturally identical to its desktop counterpart, except that it includes work group management and administration software tools...

 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
UTF-8
UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...

 file name encodings. Version 3.0 supported a maximum share point and file size of two tebibytes, 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 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
Secure Shell
Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...

 (SSH). The maximum share point and file size increased to 8 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.

AFP 3.2+ was introduced in Mac OS X Leopard and adds case sensitivity support and improves support for Time Machine
Time Machine (Apple software)
Time Machine is a backup utility developed by Apple. It is included with Mac OS X and was introduced with the 10.5 "Leopard" release of Mac OS X. The software is designed to work with the Time Capsule as well as other internal or external drives.-Overview:...

 (synchronization, lock stealing, and sleep notifications).

AFP 3.3 mandates support for Replay Cache functionality (required for Time Machine
Time Machine (Apple software)
Time Machine is a backup utility developed by Apple. It is included with Mac OS X and was introduced with the 10.5 "Leopard" release of Mac OS X. The software is designed to work with the Time Capsule as well as other internal or external drives.-Overview:...

).

See Apple's Developer documentation on AFP Version Differences.

The Mac OS X client

In Mac OS X Tiger, users can connect to AFP servers by browsing for them in the Network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

 globe or entering an AFP Uniform Resource Locator
Uniform Resource Locator
In computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....

 (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
IP address
An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...

, Domain Name System
Domain name system
The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...

 (DNS) name, or Bonjour name, and is the name of the share point. In Snow Leopard, a URL of the form afp://// can be used to mount a subdirectory underneath a 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
Asterisk
An asterisk is a typographical symbol or glyph. It is so called because it resembles a conventional image of a star. Computer scientists and mathematicians often pronounce it as star...

 (*) would be substituted for the zone name.

Third-party implementations

Third party server implementations of AFP are available from a number of companies.
  • An open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     AFP server called Netatalk
    Netatalk
    Netatalk is a free, open-source implementation of the AppleTalk suite of protocols. It allows Unix-like operating systems to serve as file, print and time servers for Macintosh computers....

     (AFP 3.3) is available for Unix-like
    Unix-like
    A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

     operating systems.
  • Novell Open Enterprise Server
    Novell Open Enterprise Server
    Novell Open Enterprise Server is the successor product to Novell, Inc.'s NetWare operating system, based on SUSE Linux Enterprise Server . Originally released in March 2005, the current release is OES 2 SP3...

     supports AFP.
  • Microsoft
    Microsoft
    Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

     includes AFP 2.2 server support as an option in some versions of Windows (NT
    Windows NT 4.0
    Windows NT 4.0 is a preemptive, graphical and business-oriented operating system designed to work with either uniprocessor or symmetric multi-processor computers. It was the next release of Microsoft's Windows NT line of operating systems and was released to manufacturing on 31 July 1996...

    , 2000
    Windows 2000
    Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...

     & 2003
    Windows Server 2003
    Windows Server 2003 is a server operating system produced by Microsoft, introduced on 24 April 2003. An updated version, Windows Server 2003 R2, was released to manufacturing on 6 December 2005...

    ). Windows NT Server (3 and 4) only supported AppleTalk, 2000
    Windows 2000
    Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...

     added AppleShare over IP; Services for Macintosh (SFM), was removed from Windows Server 2008 onwards.
  • Novell's
    Novell
    Novell, Inc. is a multinational software and services company. It is a wholly owned subsidiary of The Attachmate Group. It specializes in network operating systems, such as Novell NetWare; systems management solutions, such as Novell ZENworks; and collaboration solutions, such as Novell Groupwise...

     NetWare supports AFP.
  • HELIOS UB+ supports AFP on a whole array of different Unix based platforms.
  • The open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     Filesystem in Userspace
    Filesystem in Userspace
    Filesystem in Userspace is a loadable kernel module for Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code...

     (FUSE) and command-line client implementation afpfs-ng for Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

     and Unix-like
    Unix-like
    A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

     operating systems
  • ExtremeZ-IP
    ExtremeZ-IP
    ExtremeZ-IP, a Apple Filing Protocol server from Group Logic, Inc, , runs on Windows operating systems enabling Mac clients to access files via the Apple Filing protocol...

     (AFP 3.3) and MacServerIP for Windows offer AFP 3.x support.
  • A few NAS solutions support AFP mostly by means of Netatalk
    Netatalk
    Netatalk is a free, open-source implementation of the AppleTalk suite of protocols. It allows Unix-like operating systems to serve as file, print and time servers for Macintosh computers....

    : LaCie EtherNet Disk & 12big (AFP 3.3), NETGEAR's ReadyNAS (AFP 3.2), QNAP (AFP 3.x), Synology's Disk Stations (AFP 3.1), Thecus (AFP 3.x), Adaptec's Snap Server (AFP 3.1), Exanet
    Exanet
    Exanet Ltd., was a software company which provides scalable network-attached storage software solutions to OEM partners....

    's ExaStore (AFP 3.1), Iomega
    Iomega
    Iomega is an American producer of consumer external, portable and networking storage hardware. Established in the 1980s, Iomega has sold more than 410 million digital storage drives and disks. On April 8, 2008, EMC Corporation announced its plans to acquire Iomega for a consideration of US $213M...

    's Home Media Network Hard Drive, and Apple's Time Capsule (AFP 3.2) being commercial examples and FreeNAS
    FreeNAS
    FreeNAS is a free network-attached storage server, supporting: CIFS , FTP, NFS, rsync, AFP protocols, iSCSI, S.M.A.R.T., local user authentication, and software RAID , with a web-based configuration interface. FreeNAS takes less than 64 MB once installed on CompactFlash, hard drive or USB flash...

     (which uses Netatalk
    Netatalk
    Netatalk is a free, open-source implementation of the AppleTalk suite of protocols. It allows Unix-like operating systems to serve as file, print and time servers for Macintosh computers....

    ) being a free software
    Free software
    Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

    example.
  • Jaffer is a Java implementation of Appletalk File Protocol v3.1.
  • Xinet has a product, ka-share, that has been a main stay on Solaris (on Sparc only) and Irix platforms for the last decade.
  • Columbia AppleTalk Protocol (CAP) was an open source implementation of AFP and AppleTalk from Columbia University that has been discontinued and has fallen out of use.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK