苹果归档协议

苹果归档协议（英語：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客户端的名称。 当前的兼容性主要为： 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（英语：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客户端继续支持类型（英语：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版本。（注意，最大文件大小自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 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区域的网络，一个星號（*）将代替区域名称。 Apple Filing Protocol 并非为在互联网公开提供文件共享服务而设计，该协议目前默认采用 DHX2 加密算法进行用户鉴定，但传输时并未进行加密，使得该协议不适合直接接入互联网提供服务。为了更安全的进行文件传输，当必须在互联网提供服务或需要更高安全性时，建议采用 AFP through SSH 的方式进行部署，借由 SSH 通道加密以提升安全性。 许多公司有AFP的第三方服务器实现： 一个开放源代码的AFP服务器名为Netatalk（英语：Netatalk）（AFP 3.3），可以在类Unix系统操作系统中使用。Netatalk v3.1发布于2013-10-28，增添了Spotlight支持。 Novell Open Enterprise Server（英语：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+ （页面存档备份，存于互联网档案馆）在不同的基于Unix的平台的整个阵列上支持AFP。 开放源代码的FUSE（FUSE （页面存档备份，存于互联网档案馆））及命令行客户端 实现了afpfs-ng （页面存档备份，存于互联网档案馆）面向Linux和Unix-like操作系统 GroupLogic（英语：GroupLogic） ExtremeZ-IP（英语：ExtremeZ-IP）（AFP 3.3）和MacServerIP （页面存档备份，存于互联网档案馆）面向Windows提供AFP 3.x支持 - 现为Acronis（英语：Acronis） Access Connect （页面存档备份，存于互联网档案馆）. 多种NAS解决方案支持AFP，大多数是通过Netatalk（英语：Netatalk）：LaCie EtherNet Disk & 12big (AFP 3.3) （页面存档备份，存于互联网档案馆）、NETGEAR's ReadyNAS （页面存档备份，存于互联网档案馆）（AFP 3.2）、QNAP（AFP 3.x）、Synology's Disk Stations（AFP 3.1）、Thecus （页面存档备份，存于互联网档案馆）（AFP 3.x）、Adaptec's Snap Server （页面存档备份，存于互联网档案馆）（AFP 3.1）、Exanet（英语：Exanet）的ExaStore（英语：ExaStore）（AFP 3.1）、Iomega（英语：Iomega）的Home Media Network Hard Drive和苹果公司的Time Capsule（AFP 3.2） （页面存档备份，存于互联网档案馆）是商业软件的例子，FreeNAS和napp-it （页面存档备份，存于互联网档案馆）（其使用Netatalk（英语：Netatalk））是自由软件的例子。 Jaffer （页面存档备份，存于互联网档案馆）是Appletalk文件协议v3.1的一个Java实现。 Xinet （页面存档备份，存于互联网档案馆）出自North Plains Systems，它提供了一个可以运行在大多数*nix主机上的AFP平台。他们的产品之一ka-share在过去十年里一直是Solaris（仅限Sparc）和Irix平台的主要产品。 Columbia AppleTalk Protocol（哥伦比亚AppleTalk协议，缩写CAP）是一个来自哥伦比亚大学的AFP和AppleTalk的开源实现，现已停止使用。 GVfs通过gfvs-afp-volume-monitor支持 网络协议列表（英语：List of network protocols） 文件系统列表 AppleShare & AppleShare IP File Sharing: Chart of All Limitations. [2012-06-10]. （原始内容存档于2014-02-27）.  Mac OS 8, 9: Mac OS Extended Format - Volume and File Limits. [2012-06-10]. （原始内容存档于2014-10-31）.  Mac OS X: Mac OS Extended Format - Volume and File Limits. [2012-06-10]. （原始内容存档于2010-07-30）.  Mac OS X Server 10.2: Tested and theoretical maximums (limits). [2012-06-10]. （原始内容存档于2010-08-26）.  Mac OS X Server 10.3: Tested and theoretical maximums (limits). [2012-06-10]. （原始内容存档于2009-06-15）.  Apple's Developer documentation on AFP Version Differences. [2011-09-15]. （原始内容存档于2013-05-04）.  Diffie-Hellman Key Exchange 2. [2018-04-13]. （原始内容存档于2018-04-13）.  Tunneling afp over ssh. [2018-04-13]. （原始内容存档于2021-04-20）.  Netatalk Release Notes. [2014-01-02]. （原始内容存档于2019-01-21）.  Back-ends for GVfs. [2017-03-16]. （原始内容存档于2020-11-11）.  File Services Manual for Mac OS X Server 10.4 Apple Filing Protocol Programming Guide （页面存档备份，存于互联网档案馆） Apple Filing Protocol Reference （页面存档备份，存于互联网档案馆） 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 （页面存档备份，存于互联网档案馆） NewsFactor Network article, A Macintosh: File System Specifications and Terms Apple Technical Note TN1150 on the HFS Plus Volume Format （页面存档备份，存于互联网档案馆） Apple shifts from AFP to SMB2 （页面存档备份，存于互联网档案馆）