This article has been archived and is no longer updated by Apple.

About feature additions in macOS for SMB 2 and 3

Learn which SMB features were added in each version of macOS.

This article is intended for enterprise and education network administrators.

Microsoft creates and maintains the Server Message Block (SMB) Protocol. Here are notable features added to Apple's implementation of SMB in macOS when the Mac is a client. Unless stated otherwise, each feature described below was introduced in that version and maintained in later versions.

macOS Catalina 10.15

Feature

Description

Adaptive pipelining improvements

Pipelining allows for varying segment numbers and sizes, while retaining multithreading.

Pipelining writes, or uploads

Maximum number of segments: 6

Maximum segment size: 1 MB

Pipelining reads, or downloads

Maximum number of segments: 6

Maximum segment size: 1.25 MB

Persistent handles

Continuously available servers use persistent handles. Continuously available servers appear to be a single server, but are in fact multiple nodes mirroring the data, allowing the share to remain up continuously. This is common in cloud and cluster setups. If any one node becomes unavailable, the persistent handle is used to connect to a different node.

Time Machine server requirements adjusted

Any server that is continuously available can be used as a Time Machine backup destination.

Netbios name resolution deprioritized

Name resolution now uses Bonjour, then DNS, then NetBios. macOS used to prioritize Bonjour, then NetBios, then DNS.

SMB 1 always uses signing bit

The signing bit when connecting via SMB 1 used to be optional.

macOS Mojave 10.14

Feature

Description

Adaptive pipelining improvements

Pipelining is now multithreaded but uses a fixed number and size of segments.

Pipelining writes, or uploads

Number of segments: 4

Segment size: 1 MB

Pipelining reads, or downloads

Number of segments: 4

Segment size: 512 KB

macOS High Sierra 10.13

Feature

Description

Simplified Finder browsing

Finder can be adjusted to browse the contents of folders faster.

Directory leasing

Directory leasing lets the client to better cache directory enumeration information.

File leasing

File leasing lets the client to better cache file data locally and reopen files more quickly through deferred closure of files.

Adaptive pipelining

Rather than using a set number of segments, macOS adjusts the number of segments dynamically to upload or download automatically based upon network conditions. macOS also adjusts the size of each segment automatically, improving performance.

Pipelining writes, or uploads

Maximum number of segments: 4

Maximum segment size: 512 KB

Pipelining reads, or downloads

Maximum number of segments: 4

Maximum segment size: 1 MB

masOS Sierra 10.12

Feature

Description

Durable handle v2 and file lease v2

Durable handles and leasing let a client reconnect to a share and continue working on a file without losing data. The v2 of leasing and durable handles allows the reconnect feature set to be used more reliably.

Time Machine

macOS can back up to servers that support the needed features.

macOS El Capitan 10.11

Feature

Description

Load balancing servers via DNS

In some environments, multiple servers are hosting the same data, and load balanced by round robin DNS. One DNS "A" record points to multiple IP addresses. macOS evaluates and uses currently mounted shares rather than remounting the same share repeatedly, once per IP address.

Pipelining writes, or uploads

Number of segments: 4

Maximum segment size: 512 KB

Pipelining reads, or downloads

Number of segments: 4

Maximum segment size: 1 MB

Directory caching

macOS caches contents of a directory for up to one minute after ceasing to browse, which lets an end user browse out and back into a directory without having to redownload the contents.

masOS Yosemite 10.10

Feature

Description

SMB 3 is introduced

macOS adds support for the SMB 3.0 and 3.0.2 dialects.

Validate negotiate

This is an additional security feature in SMB 3 that helps ensure that the initial negotiations aren't modified.

SMB 3 signing

Security signatures are sent in each request.

SMB 3 encryption

Traffic between the client and server can be encrypted.

macOS Mavericks 10.9

Feature

Description

SMB 2 is introduced

Before Mavericks, only SMB 1 is supported. Mavericks adds support for SMB versions 2.0.2 and 2.1. Mounting a share using "cifs://" will use SMB 1.

Symbolic link reparse points

Symbolic link reparse points seamlessly redirect a user from a file or folder to another location.

Distributed File System (DFS)

DFS lets users connect to multiple servers using only a single DNS name.

Compound requests and replies

More than one related request or response can be sent in a single packet.

SMB 2 signing

Security signatures are sent in each request.

Copy chunk

The SRV_COPYCHUNK_COPY command is used to request that a server copy data from and to itself without macOS downloading the data first.

AAPL create context

AAPL is Apple's extension to the SMB protocol to better support macOS semantics. Using the AAPL create context indicates that the extension is in use.

Durable Handles

Durable handles let clients reconnect to shares without losing data.

Local Kerberos authentication (LKDC)

If an SMB server is also the KDC (key distribution center), macOS can authenticate using Kerberos without reaching out to additional servers. This is used primarily when macOS is authenticating to a macOS hosted share.

Pipelining

Pipelining allows for asynchronously transferring sections of a file. If a file is 10 MB large, the file can be sent in ten different chunks, each 1 MB large. However, with pipelining, multiple segments may be sent at one time without waiting for a transfer to complete, which speeds up transfers. SMB 2.0 and earlier allows for segments up to 64 KB large. SMB 2.1 allows for larger segments.

Pipelining writes, or uploads

Number of segments: 2

Maximum segment size: 512 KB

Pipelining reads, or downloads

Number of segments: 4

Maximum segment size: 1 MB

More resources

View Apple's SMB directory.

Published Date: