蘋果歸檔協定

蘋果歸檔協定(英語:Apple Filing Protocol,縮寫AFP)也稱Apple檔案協定Apple歸檔協定,以前稱為AppleTalk Filing Protocol,它是一個專有英語Proprietary protocol網路協定,並且是Apple File Service(蘋果檔案服務,縮寫AFS)的一部分,為macOS經典Mac OS提供檔案服務。在macOS中,AFP是受支援的數種檔案服務之一,其他包括伺服器訊息區塊(SMB)、網路檔案系統(NFS)、檔案傳輸協定(FTP)和WebDAV。AFP目前支援Unicode檔名、POSIX存取控制串列權限、資源分支英語Resource fork、擴充屬性名稱、進階檔案鎖定。在Mac OS 9及更早版本中,AFP是檔案服務的主要協定。

相容性

AFP 3.0及更高版本完全依賴TCP/IP(埠548或427)來建立通訊,僅支援AppleTalk作為一項服務發現協定。AFP 2.x家族支援TCP/IP(使用資料流介面英語Data Stream Interface)和AppleTalk用於通訊和服務發現。許多第三方AFP實現使用AFP 2.x,因此支援AppleTalk作為一種連接方法。早期版本完全依賴於AppleTalk。因此,一些舊版文獻將AFP稱為「AppleTalk Filing Protocol」。其他文獻可能將AFP稱為「AppleShare」,這是Mac OS 9(及更早版本)中AFP客戶端的名稱。

當前的相容性主要為:

  1. Mac OS X v10.4及之後版本取消了依賴AppleTalk進行通訊的AFP服務。
  2. 使用經典Mac OS的電腦可以連接到AFP 3.x服務,但有一些限制,例如:Mac OS 8中的最大檔案大小為2吉位元組。通常來說,Mac OS 9.1或更高版本建議連接到AFP 3.x服務;對9.1版之前的原始Mac OS版本,需要安裝AppleShare英語AppleShare客戶端3.8.8版。
  3. 網路主目錄需要AFP 3.0及更高版本,從Mac OS X需要使用者主目錄上的POSIX權限開始。使用Kerberos的單一登入需要AFP 3.1。
  4. APFS:AFP目前在蘋果檔案系統(APFS)中已棄用。

歷史

AFP伺服器軟體的早期實現在Mac OS中自System 6起在AppleShare和AppleShare IP以及Mac OS X Server的早期「1.x」版本中可用。在客戶作業系統中,AFP被稱為「個人檔案分享」,並支援最多十個並行連接。[1]這些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吉位元的限制。[2]

從3.0版開始的AFP變更主要是協定方面的重大改進,包括專為Mac OS X客戶端設計的功能。

但是,猶如原Mac OS中的AppleShare,Mac OS X中的AFP客戶端繼續支援類型英語Type code建立者代碼英語Creator code以及副檔名

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版本。[3](注意,最大檔案大小自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[4]並隨著Mac OS X Server 10.3增加到16千百萬位元組。[5]

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的版本差異。[6]

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/ (頁面存檔備份,存於網際網路檔案館)<AppleTalk名稱>:<AppleTalk區域>。對於無AppleTalk區域的網路,一個星號(*)將代替區域名稱。

AFP 的安全性

Apple Filing Protocol 並非為在網際網路公開提供檔案分享服務而設計,該協定目前預設採用 DHX2 加密演算法進行使用者鑑定[7],但傳輸時並未進行加密,使得該協定不適合直接接入網際網路提供服務。為了更安全的進行檔案傳輸,當必須在網際網路提供服務或需要更高安全性時,建議採用 AFP through SSH 的方式進行部署,藉由 SSH 通道加密以提升安全性。[8]

第三方實現

許多公司有AFP的第三方伺服器實現:

參見

參考資料

  1. ^ AppleShare & AppleShare IP File Sharing: Chart of All Limitations. [2012-06-10]. (原始內容存檔於2014-02-27). 
  2. ^ Mac OS 8, 9: Mac OS Extended Format - Volume and File Limits. [2012-06-10]. (原始內容存檔於2014-10-31). 
  3. ^ Mac OS X: Mac OS Extended Format - Volume and File Limits. [2012-06-10]. (原始內容存檔於2010-07-30). 
  4. ^ Mac OS X Server 10.2: Tested and theoretical maximums (limits). [2012-06-10]. (原始內容存檔於2010-08-26). 
  5. ^ Mac OS X Server 10.3: Tested and theoretical maximums (limits). [2012-06-10]. (原始內容存檔於2009-06-15). 
  6. ^ Apple's Developer documentation on AFP Version Differences. [2011-09-15]. (原始內容存檔於2013-05-04). 
  7. ^ Diffie-Hellman Key Exchange 2. [2018-04-13]. (原始內容存檔於2018-04-13). 
  8. ^ Tunneling afp over ssh. [2018-04-13]. (原始內容存檔於2021-04-20). 
  9. ^ Netatalk Release Notes. [2014-01-02]. (原始內容存檔於2019-01-21). 
  10. ^ Back-ends for GVfs. [2017-03-16]. (原始內容存檔於2020-11-11). 

外部連結