Введение
Компьютерный сетевой протокол
Протокол Apple Filing Protocol (AFP), ранее известный как AppleTalk Filing Protocol, — это проприетарный сетевой протокол, являющийся частью Apple File Service (AFS) и предоставляющий файловые сервисы для компьютеров macOS, классической Mac OS и Apple II. В OS X 10.8 Mountain Lion и более ранних версиях AFP был основным протоколом для файловых служб. Начиная с OS X 10.9 Mavericks, протокол Server Message Block (SMB) стал основным протоколом для обмена файлами, а возможность запуска сервера AFP была удалена в macOS 11 Big Sur. AFP поддерживает имена файлов в кодировке Unicode, разрешения POSIX и списки контроля доступа, ресурсные вилки, именованные расширенные атрибуты и расширенную блокировку файлов.
История
Ранние реализации серверного программного обеспечения AFP были доступны в Mac OS, начиная с System 6, в AppleShare и AppleShare IP, а также в ранних версиях Mac OS X Server. В клиентских операционных системах AFP назывался «Персональный обмен файлами» и поддерживал до десяти одновременных соединений. Эти реализации AFP опирались на версии 1.x или 2.x протокола. AppleShare IP 5.x, 6.x и релизы Mac OS X Server «1.x» представили AFP версии 2.2. Это была первая версия, предлагающая транспортные соединения с использованием TCP/IP, а также AppleTalk. Она также увеличила максимальный размер точки доступа с четырех гигабайт до двух терабайт. Изменения, внесенные в AFP с версии 3.0, представляют собой значительный прогресс в протоколе, вводящие функции, разработанные специально для клиентов Mac OS X. Однако, как и клиент AppleShare в оригинальной Mac OS, клиент AFP в Mac OS X продолжает поддерживать типы и коды создателей, а также расширения имен файлов. AFP 3.0 был представлен в Mac OS X Server 10.0.3 и использовался вплоть до Mac OS X Server 10.1.5. Это была первая версия, использующая модель разрешений POSIX в стиле UNIX и кодировку имен файлов Unicode UTF-8. Версия 3.0 поддерживала максимальный размер точки доступа и файла в два терабайта, что являлось максимальным размером файла и тома для Mac OS X до версии 10.2. (Обратите внимание, что максимальный размер файла изменился с версии 2.2, описанной выше.) До AFP 3.0 максимальная длина имени файла, передаваемого по AFP, составляла 31 байт. AFP 3.1 был представлен в Mac OS X Server версии 10.2. Значительные изменения включали поддержку аутентификации Kerberos, автоматическое повторное подключение клиента, повторное использование NFS и защищенные соединения AFP через Secure Shell (SSH). Максимальный размер точки доступа и файла увеличился до 8 терабайт с Mac OS X Server 10.2, а затем до 16 терабайт с Mac OS X Server 10.3. AFP 3.2 добавляет поддержку списков контроля доступа и расширенных атрибутов в Mac OS X Server 10.4. Максимальный размер точки доступа составляет не менее 16 терабайт, хотя Apple не опубликовала документ об ограничениях для Mac OS X Server 10.4. Apple реализовала поддержку AFP 3.2 в своем беспроводном маршрутизаторе AirPort Time Capsule. AFP 3.2+ был представлен в Mac OS X Leopard и добавляет поддержку учета регистра и улучшает поддержку Time Machine (синхронизация, перехват блокировок и уведомления о переходе в спящий режим). AFP 3.3 требует поддержки функции Replay Cache (необходима для Time Machine). AFP 3.4, представленный в OS X Mountain Lion, включает незначительное изменение в сопоставлении ошибок POSIX с ошибками AFP. Подробности см. в документации Apple для разработчиков о различиях версий AFP.
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. (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, and then to 16 terabytes 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 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.
Клиент macOS
В Mac OS X Tiger пользователи могут подключаться к серверам AFP, просматривая их в сетевом глобусе или вводя универсальный указатель ресурсов AFP (URL) в диалоговом окне "Подключиться к серверу". В Mac OS X Leopard и более поздних версиях общие ресурсы AFP отображаются в боковой панели Finder. URL-адреса AFP имеют следующий формат: afp://, где – IP-адрес сервера, имя в системе доменных имен (DNS) или имя Bonjour, а – имя точки доступа к ресурсу. В Snow Leopard и более поздних версиях URL-адрес формата afp://// можно использовать для монтирования подкаталога внутри точки доступа к ресурсу. macOS также предлагает "Общий доступ к файлам", упрощенную реализацию текущей версии AFP. В Mac OS X 10.4 пользователи могут делиться содержимым своих общедоступных папок, включив "Общий доступ к файлам" в разделе "Общий доступ" системных настроек. URL-адреса AFP для серверов AppleTalk имели формат: afp://at/:. Для сетей без зон AppleTalk вместо имени зоны использовалась звездочка (*).