关于在 macOS 中添加的 SMB 2 和 SMB 3 功能
了解每个 macOS 版本中添加的 SMB 功能。
本文适用于企业和教育机构的网络管理员。
Microsoft 创建并维护服务器消息块 (SMB) 协议。下文介绍了当 Mac 是客户端时,Apple 在 macOS 中实现的 SMB 所添加的重要功能。除非另有说明,否则下面所述的每个功能均在相应版本中引入并在后续的更高版本中进行维护。
macOS Catalina 10.15
功能 | 描述 |
---|---|
改进了自适应流水线 | 流水线技术可在保留多线程的同时,允许使用不同的分段数量和大小。 |
流水线写入或上传 | 最大分段数量:6 最大分段大小:1 MB |
流水线读取或下载 | 最大分段数量:6 最大分段大小:1.25 MB |
持久句柄 | 持续可用的服务器使用持久句柄。持续可用的服务器看似单个服务器,但实际上是多个用于镜像数据的节点,它们使共享功能能够持续运行。这在云和集群设置中很常见。在任一节点不可用的情况下,可使用持久句柄连接至另一节点。 |
调整了“时间机器”服务器要求 | 任何持续可用的服务器都可以用作“时间机器”备份目标位置。 |
降低了 NetBIOS 名称解析的优先等级 | 名称解析现在使用 Bonjour,其次使用 DNS,再次使用 NetBIOS。macOS 过去优先使用 Bonjour,其次使用 NetBIOS,再次使用 DNS。 |
SMB 1 始终使用签名位 | 通过 SMB 1 连接时,签名位过去是可选的。 |
macOS Mojave 10.14
功能 | 描述 |
---|---|
改进了自适应流水线 | 流水线现在是多线程的,但使用固定数量和大小的分段。 |
流水线写入或上传 | 分段数量:4 分段大小:1 MB |
流水线读取或下载 | 分段数量:4 分段大小:512 KB |
macOS High Sierra 10.13
功能 | 描述 |
---|---|
简化了“访达”浏览 | 可对“访达”进行调整,以便更快速地浏览文件夹的内容。 |
目录租赁 | 目录租赁可使客户端更好地缓存目录枚举信息。 |
文件租赁 | 文件租赁可让客户端更好地在本地缓存文件数据,并通过延迟关闭文件来更快速地重新打开文件。 |
自适应流水线技术 | macOS 不使用固定数量的分段,而是动态调整分段数量,以根据网络状况自动上传或下载。另外,macOS 还会自动调整每个分段的大小,从而提高性能。 |
流水线写入或上传 | 最大分段数量:4 最大分段大小:512 KB |
流水线读取或下载 | 最大分段数量:4 最大分段大小:1 MB |
macOS Sierra 10.12
功能 | 描述 |
---|---|
耐用句柄 v2 和文件租赁 v2 | 耐用句柄和租赁可让客户端重新连接到共享,并在不丢失数据的情况下继续处理文件。v2 版本的租赁和耐用句柄可使重新连接功能集的使用更加可靠。 |
时间机器 | macOS 可以备份到支持所需功能的服务器。 |
macOS El Capitan 10.11
功能 | 描述 |
---|---|
通过 DNS 实现服务器负载平衡 | 有些环境中会使用多个服务器来托管相同的数据,并通过循环 DNS 实现负载平衡。一个 DNS A 记录指向多个 IP 地址。macOS 评估并使用当前装载的共享,而不必为每个 IP 地址都重复装载一次相同的共享。 |
流水线写入或上传 | 分段数量:4 最大分段大小:512 KB |
流水线读取或下载 | 分段数量:4 最大分段大小:1 MB |
目录缓存 | macOS 会在停止浏览后缓存目录内容,时间长达一分钟,这样最终用户就可以退出并重新返回目录浏览,且不必重新下载内容。 |
macOS Yosemite 10.10
功能 | 描述 |
---|---|
引入了 SMB 3 | macOS 增添了对 SMB 3.0 和 3.0.2 方言的支持。 |
验证协商 | 这是 SMB 3 中的一项附加安全功能,有助于确保初始协商未被修改。 |
SMB 3 签名 | 每个请求中都会发送安全签名。 |
SMB 3 加密 | 客户端和服务器之间的通信可以加密。 |
macOS Mavericks 10.9
功能 | 描述 |
---|---|
引入了 SMB 2 | 在 Mavericks 之前,只有 SMB 1 是受支持的。Mavericks 增添了对 SMB 2.0.2 和 2.1 版的支持。使用“cifs://”装载共享将会使用 SMB 1。 |
符号链接重解析点 | 符号链接重解析点将用户从一个文件或文件夹顺畅地重定向至另一个位置。 |
分布式文件系统 (DFS) | DFS 让用户只使用一个 DNS 名称即可连接到多个服务器。 |
复合请求和回复 | 一个数据包中可发送多个相关请求或响应。 |
SMB 2 签名 | 每个请求中都会发送安全签名。 |
拷贝块 | SRV_COPYCHUNK_COPY 命令用于请求服务器从其自身拷贝数据并将数据拷贝到自身,而无需 macOS 首先下载数据。 |
AAPL 创建上下文 | AAPL 是 Apple 对 SMB 协议的扩展,用于更好地支持 macOS 语义。使用 AAPL 创建上下文表示这个扩展正在使用中。 |
耐用句柄 | 耐用句柄让客户端能够在不丢失数据的情况下重新连接到共享。 |
本地 Kerberos 认证 (LKDC) | 如果 SMB 服务器同时也是密钥分发中心 (KDC),则 macOS 可以使用 Kerberos 进行认证,而无需联系其他服务器。这一功能主要在 macOS 对 macOS 托管的共享进行认证时使用。 |
流水线 | 流水线技术支持对一个文件的各部分进行异步传输。如果一个文件的大小为 10 MB,则它可以被分成 10 个不同的块(每个块的大小为 1 MB)进行发送。借助流水线技术,可以同时发送多个分段,而不必等待单次传输完成,这就加快了传输的速度。SMB 2.0 和更低版本支持的最大分段大小为 64 KB。SMB 2.1 支持更大的分段大小。 |
流水线写入或上传 | 分段数量:2 最大分段大小:512 KB |
流水线读取或下载 | 分段数量:4 最大分段大小:1 MB |
更多资源
请查看 Apple 的 SMB 目录。