Apple Filing Protocol (AFP)詳解
Apple Filing Protocol(AFP)は、
Appleが開発した
ファイル共有プロトコルで、
Classic Mac OSおよびmacOSにおける
ファイル共有サービスの中核を担っていました。
AppleTalkという
Apple独自のネットワークプロトコルと密接に関連しており、初期のバージョンは
AppleTalk上で動作していましたが、AFP 2.2以降はTCP/IP上でも動作するようになり、互換性の幅を広げました。
AFPの進化とmacOSとの関係
AFPは、Mac OSの
ファイルシステムであるHFSやHFS Plusの独自のファイル属性(リソースフォーク、タイプ/クリエータなど)を扱うための機能を備えており、Mac OSの進化に合わせてバージョンアップを繰り返しました。Mac OS 9までは、AFPが標準的な
ファイル共有プロトコルでしたが、macOSの登場と共にSMB、NFS、FTP、WebDAVなどの代替プロトコルが利用可能になり、AFPの重要性は相対的に低下しました。
macOS Catalina以降は、APFS
ファイルシステムが必須となったため、AFPによる
ファイル共有機能は事実上廃止されました。ただし、macOS Serverなど、一部の環境ではAFPによる共有が引き続きサポートされています。
AFPの機能と特徴
AFPは、Mac OS固有のファイル属性を維持しながら
ファイル共有を実現する点が大きな特徴です。そのため、Mac環境間の
ファイル共有においては、データの整合性を保つ上で重要な役割を果たしてきました。しかし、WindowsやLinuxなどの非Mac OS環境との
ファイル共有では、これらの独自の属性の扱いが課題となります。Windowsでは、以前はService for Macintosh (SFM) がAFPをサポートしていましたが、
Windows Server 2008以降では廃止されています。
UNIX系OSでは、netatalkなどのオープンソースソフトウェアがAFPサーバ/クライアントとして利用可能です。
AFPは、バージョンを重ねるごとに機能が拡張され、セキュリティやパフォーマンスが向上しました。AFP 3.xでは、TCP/IPのみをサポートし、
Unicodeファイル名やPOSIXパーミッションモデルに対応するなど、現代的な
ファイル共有プロトコルの要件を満たすようになっています。
AFPのバージョン
AFP 1.1/2.0: AppleTalkプロトコル上で動作。
AFP 2.1/2.2:
AppleTalkとTCP/IPの両方をサポート。AFP 2.2はTCP/IPベースのAFP over TCPとして知られています。
AFP 3.x: TCP/IPのみをサポート。Unicodeファイル名、POSIXパーミッション、拡張属性などをサポートし、Time Machineバックアップにも利用されました。
ファイル名の扱い
AFPでは、Short Name(8.3形式)、Long Name(31バイト制限)、AFPName(Unicode対応、長さ制限なし)の3種類のファイル名形式を扱うことができます。Mac OS 9まではLong Name(31バイト制限)が一般的でしたが、macOSではAFPNameが主流となりました。
AFPサーバのブラウジング
AFPサーバの検出には、初期はAppleTalkのNBP (Name Binding Protocol) を使用していましたが、TCP/IP環境ではSLP (Service Location Protocol) やBonjour (Zeroconf) が使用されます。そのため、古いMacと新しいMac間での互換性の問題が発生することがあります。
AFPの実装例
AppleShare:
Classic Mac OS向けの商用ソフトウェア
パーソナルファイル共有: Classic Mac OSおよびmacOSの標準機能
macOS Server: macOS Serverの標準機能
Microsoft Windows Server: 以前はSFMを提供していましたが、現在は廃止
Netatalk:
Unix系OS向けのオープンソースAFPサーバ/クライアント
まとめ
AFPは、Mac OS環境における
ファイル共有において重要な役割を果たしたプロトコルですが、macOSの進化に伴い、その重要性は低下し、現在では多くの場面でSMBなどの代替プロトコルに置き換えられています。しかし、macOS Serverなどの環境では、現在でも利用されているため、その歴史と技術的特徴を理解することは、Mac OSの歴史を知る上で重要です。また、レガシーシステムとの互換性維持においても、AFPの知識が役立つ場合があります。