蘋果歸檔協議

蘋果歸檔協議（Apple Filing Protocol，縮寫AFP）也稱Apple文件協議、Apple歸檔協議，以前稱為AppleTalk Filing Protocol，它是一個專有網絡協議，並且是Apple File Service（蘋果文件服務，縮寫AFS）的一部分，為macOS和經典Mac OS提供文件服務。在macOS中，AFP是受支持的數種文件服務之一，其他包括伺服器訊息區塊（SMB）、網絡文件系統（NFS）、文件傳輸協議（FTP）和WebDAV。AFP目前支持Unicode文件名、POSIX和存取控制串列權限、資源分支、擴展屬性名稱、高級文件鎖定。在Mac OS 9及更早版本中，AFP是文件服務的主要協議。

**兼容性**
AFP 3.0及更高版本完全依賴TCP/IP（端口548或427）來建立通信，僅支持AppleTalk作為一項服務發現協議。AFP 2.x家族支持TCP/IP（使用數據流接口）和AppleTalk用於通信和服務發現。許多第三方AFP實現使用AFP 2.x，因此支持AppleTalk作為一種連接方法。早期版本完全依賴於AppleTalk。因此，一些舊版文獻將AFP稱為“AppleTalk Filing Protocol”。其他文獻可能將AFP稱為“AppleShare”，這是Mac OS 9（及更早版本）中AFP客戶端的名稱。
當前的兼容性主要為：
# Mac OS X v10.4及之後版本取消了依賴AppleTalk進行通信的AFP服務。
# 使用經典Mac OS的計算機可以連接到AFP 3.x服務，但有一些限制，例如：Mac OS 8中的最大文件大小為2吉字節。通常來說，Mac OS 9.1或更高版本建議連接到AFP 3.x服務；對9.1版之前的原始Mac OS版本，需要安裝AppleShare客戶端3.8.8版。
# 網絡主目錄需要AFP 3.0及更高版本，從Mac OS X需要用戶主目錄上的POSIX權限開始。使用Kerberos的單點登錄需要AFP 3.1。
# APFS：AFP目前在蘋果文件系統（APFS）中已棄用。

**歷史**
AFP服務器軟件的早期實現在Mac OS中自System 6起在AppleShare和AppleShare IP以及Mac OS X Server的早期“1.x”版本中可用。在客戶操作系統中，AFP被稱為“個人文件共享”，並支持最多十個併發連接。這些AFP實現依賴於該協議的1.x或2.x版本。AppleShare IP 5.x、6.x以及Mac OS X Server中的“1.x”版本引入了AFP 2.2版本。這是第一個使用TCP/IP以及AppleTalk提供傳輸連接的版本。它還將最大共享點大小從4GB提升至2TB，儘管可以存儲的最大文件大小仍受到原Mac OS中2吉比特的限制。
從3.0版開始的AFP變更主要是協議方面的重大改進，包括專為Mac OS X客戶端設計的功能。
但是，猶如原Mac OS中的AppleShare，Mac OS X中的AFP客戶端繼續支持類型和創建者代碼以及文件擴展名。
AFP 3.0在Mac OS X Server的10.0.3版中引入，並在Mac OS X Server 10.1.5中使用。它是首個使用UNIX風格POSIX權限模型和Unicode UTF-8文件名編碼的版本。3.0版本支持最大2千兆字節的共享點和文件大小，該最大文件大小和卷大小對Mac OS X截至10.2版本。（注意，最大文件大小自2.2版更改，見上文所述。）在AFP 3.0以前，通過AFP發送的文件名最大長度為31字節。
AFP 3.1在Mac OS X Server的10.2版中引入。值得注意的更改包括支持Kerberos身份驗證、自動客戶端重新連接、NFS重新共享，以及通過Secure Shell（SSH）安全的AFP連接。最大共享點和文件大小隨Mac OS X Server 10.2增加到8TB，並隨著Mac OS X Server 10.3增加到16千兆字節。
AFP 3.2添加Mac OS X Server 10.4中的訪問控制列表和擴展文件屬性支持。最大共享點大小為至少16TB，儘管蘋果公司沒有對Mac OS X Server 10.4的限制發佈文檔。
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錯誤的一個小更改。
參閱蘋果公司的開發文檔瞭解AFP的版本差異。

**Mac OS X 客戶端**
在Mac OS X Tiger中，用戶可以在網絡界面瀏覽或者輸入一個AFP的統一資源定位符（URL）到“連接到服務器”對話框來連接到AFP服務器。在OS X Leopard中，AFP共享顯示在Finder側欄中。AFP URL格式為：afp:///，其中是服務器的IP地址、域名系統（DNS）名稱或Bonjour名稱，是共享點的名稱。在Snow Leopard中，URL形式afp:////可用於在一個共享點下掛載一個子目錄。
Mac OS X也提供個人文件共享，AFP當前版本的一個輕量級實現。在Mac OS X 10.4客戶端中，用戶可以點擊系統偏好設置 - 共享中的“個人文件共享”共享他的“公共”文件夾的內容。
用於AppleTalk服務器的AFP URL格式為：afp://at/ date=20220401091421 :。對於無AppleTalk區域的網絡，一個星號（*）將代替區域名稱。

**AFP 的安全性**
Apple Filing Protocol 並非為在互聯網公開提供文件共享服務而設計，該協議目前默認採用 DHX2 加密算法進行用戶鑑定，但傳輸時並未進行加密，使得該協議不適合直接接入互聯網提供服務。為了更安全的進行文件傳輸，當必須在互聯網提供服務或需要更高安全性時，建議採用 AFP through SSH 的方式進行部署，藉由 SSH 通道加密以提升安全性。

**第三方實現**
許多公司有AFP的第三方服務器實現：- 一個開放源代碼的AFP服務器名為Netatalk（AFP 3.3），可以在類Unix系統操作系統中使用。Netatalk v3.1發佈於2013-10-28，增添了Spotlight支持。- Novell Open Enterprise Server支持AFP。- 微軟在部分Windows （NT、2000和2003）版本中以一個選項包含AFP 2.2服務器支持。Windows NT Server（3和4）只支持AppleTalk，2000添加了基於IP的AppleShare；適用於Macintosh（SFM）的服務自Windows Server 2008已移除。- Novell的NetWare支持AFP。-  HELIOS UB+ date=20090306062540 在不同的基於Unix的平臺的整個陣列上支持AFP。- 開放源代碼的FUSE（ FUSE date=20090228033851 ）及命令行客戶端 實現了 afpfs-ng date=20210506135252 面向Linux和Unix-like操作系統- GroupLogic ExtremeZ-IP（AFP 3.3）和 MacServerIP date=20191011142257 面向Windows提供AFP 3.x支持 - 現為Acronis  Access Connect date=20201111225651 .- 多種NAS解決方案支持AFP，大多數是通過Netatalk： LaCie EtherNet Disk & 12big (AFP 3.3) date=20150910080531 、 NETGEAR's ReadyNAS date=20201123221735 （ AFP 3.2）、 QNAP（AFP 3.x）、Synology's Disk Stations（AFP 3.1）、 Thecus date=20210210232613 （AFP 3.x）、 Adaptec's Snap Server date=20210504211632 （AFP 3.1）、Exanet的ExaStore（AFP 3.1）、Iomega的 Home Media Network Hard Drive和 蘋果公司的Time Capsule（AFP 3.2） date=20130605080130 是商業軟件的例子，FreeNAS和 napp-it date=20210424121855 （其使用Netatalk）是自由軟件的例子。-  Jaffer date=20191202004420 是Appletalk文件協議v3.1的一個Java實現。-  Xinet date=20080516113421 出自North Plains Systems，它提供了一個可以運行在大多數*nix主機上的AFP平臺。他們的產品之一ka-share在過去十年裡一直是Solaris（僅限Sparc）和Irix平臺的主要產品。- Columbia AppleTalk Protocol（哥倫比亞AppleTalk協議，縮寫CAP）是一個來自哥倫比亞大學的AFP和AppleTalk的開源實現，現已停止使用。- GVfs通過gfvs-afp-volume-monitor支持

**參見**
 網絡協議列表- 文件系統列表

**參考資料**

**外部鏈接**
  File Services Manual for Mac OS X Server 10.4-  Apple Filing Protocol Programming Guide date=20091008043727 -  Apple Filing Protocol Reference date=20091113195834 -  Mac OS X: Some Mac OS X Applications and Services Require AFP 3.0 or Later-  Inside AppleTalk - original specification for the AppleTalk protocol stack including AFP-  Glossary of Networking Terms date=20080905114709 -  NewsFactor Network article, A-  Macintosh: File System Specifications and Terms-  Apple Technical Note TN1150 on the HFS Plus Volume Format date=20090701224425 -  Apple shifts from AFP to SMB2 date=20170212162139