Apple Filing Protocol(またはAppleTalk Filing ProtocolAFP)は、Appleが開発した、Classic Mac OS / macOSファイル共有 (AppleShare) のためのプロトコルである。初期はAppleTalkの複数のプロトコルのうちのひとつとして存在した。 AFP 2.2以降ではAppleTalkではなくTCP/IP上で動くプロトコル (AFP over TCP) になっている。AFPに対応しないAPFSが必須となったmacOS Catalina以降ではAFPでの共有機能は実質的に廃止されている[1]

概要

編集

Classic Mac OSmacOSAFP101010[2]Classic Mac OSAppleShareAFPmacOSmacOS ServerAFP

AFPAppleShare

Mac OS X v10.5Time Machine使AFP[3]

MacAFPOS

MacAppleTalkAFPTCP/IPAFPMacAFPAppleTalk

Classic Mac OSHFSHFS Plus/Mac OSAFP

Mac OS 9AFPOSmacOSAFPSMB (CIFS)NFSFTPWebDAVHFSHFS PlusAppleDouble Header File._AFPmacOS

macOSSMBOS X MavericksSMB2AFPSMB2NASTime MachineAFPAPFSTime Machine[4]AFPSMB使

Mac OS (OS) AFPHFSHFS PlusWindows Server 2003SFM (Service for Macintosh) NTFSWindows Server 2008SFMUNIXAFPnetatalk.AppleDoubleAppleDouble Header file

歴史

編集

AFP 1.0

編集

リリースされなかった。

AFP 1.1/2.0

編集

初期のClassic Mac OSでは、ネットワーク機能はAppleTalkと呼ばれる独自のプロトコル群を用いていた。これについては書籍「Inside AppleTalk[5]」や「Inside Macintosh[6]」に各種仕様が載っている。 AFP 1.1および2.0はこれに載っているプロトコルのひとつであった。この時点での正式名称はAppleTalk Filing Protocolである。

AFP 2.1/2.2

編集

AFP 2.12.2AppleAppleTalk Filing Protocol  Version 2.1 and 2.2[7] AppleTalkTCP/IPAFP 2.1AppleTalkAFP 2.2TCP/IPTCPAFP使Data Stream Interface (DSI) 

AFP 2.1 (FPGetSrvrMsg)ID (FPCreateID, FPDeleteID, FPResolveID, FPExchangeFiles) (FPCatSearch)  (UAM)  (Two-Way Random Number Exchange) 

AFP 2.2TCP/IP (FPGetSrvrInfo) (FPGetVolParms, FPOpenVOL) 

AFP 2.3

編集

AFP 2.3は、クライアントがスリープに入ることをサーバに通知するコマンド (FPZzzzz) が追加されたのみである。

AFP 3.x

編集

Apple[8][9]macOSAFP 3.x

AppleTalkTCP/IPAFPApple Filing ProtocolAppleTalk

AFP 3.0UNIXPOSIXUnicode (AFPName) 2GiB

AFP 3.1 (FPEnumerateExt2) (Kerberos, DHX2,R econnect)IPv6Unicode

AFP 3.2ACL (FPAccess, FPGetACL, FPSetACL) (FPGetExtAttr, FPListExtAttrs, FPRemoveExtAttr)Time Machine (FPSyncDir, FPSyncFork) (kCaseSensitive) 

AFP 3.3 (AFP Replay Cache) 

AFP 3.4

OSI参照モデル

編集

AppleTalkTCP/IPOSI

AppleTalkAFP over ASP over ATP over DDP

TCP/IPAFP over DSI over TCP over IPASPDSIAppleTalkDSI548IANAafpovertcpAppleTalkAFP over TCP

ファイル名の扱い

編集

AFP3

Short NameMS-DOS8.3AFP 1.1

Long NameHFS31AFP 1.1

AFPNameAFP 3.0

Short NameLong NameAFP 1.1Short Name

Mac OS 931Long Name使Mac OSMac OSTalkMacJapanese使

macOSAFP 3.xAFPName使使Unicode使31

使NULL:2

AFP 3.2

非公開コマンド

編集

AFPでは各コマンドに番号を与えており、Appleのサイトで公開されている文書で確認できる。

Mac OS X v10.5以降は76という番号が振られたコマンドを発行するが、これはSpotlightのためのFPSpotlightRPCというコマンドであることだけが公開されている。Appleのプライベートなコマンドであり詳細は非公開である。

AFPサーバのブラウジング

編集

AFPAFP

AppleTalkNBP (Name Binding Protocol) NBP over AppleTalkAFP over AppleTalk

AFPTCP/IPNBPAFP over TCP

TCP/IP427Service Location Protocol (SLP) AppleTalk

Mac OS X v10.2Bonjour (Zeroconf) Mac OS X v10.5AppleTalkSLPAFPBonjour

MacMacIPhostname

実装例

編集

参照

編集
  1. ^ Introducing Apple File System - WWDC 2016 - Videos - Apple Developer”. web.archive.org (2016年8月17日). 2022年1月16日閲覧。
  2. ^ Mac OS 8 and 9: パーソナルファイル共有のユーザ制限
  3. ^ Time Machine Network Interface Specification (TMNIS)
  4. ^ How to reserve Time Machine space on an APFS drive” (英語). Macworld. 2022年1月16日閲覧。
  5. ^ Inside AppleTalk Second Edition (pdf)
  6. ^ Inside Macintosh: Networking / Chapter 9 - AppleTalk Filing Protocol (AFP)
  7. ^ AppleTalk Filing Protocol Version 2.1 and 2.2 (pdf)
  8. ^ Apple Filing Protocol Programming Guide
  9. ^ Apple Filing Protocol Reference

関連項目

編集