この記事はアーカイブ済みで、これ以上更新されることはありません。

macOS に追加された SMB 2 および 3 の機能について

各バージョンの macOS で追加された SMB の機能について説明します。

この記事は、企業または教育機関のネットワーク管理者を対象としています。

Server Message Block (SMB) は、Microsoft が開発し、維持管理しているプロトコルです。Apple では macOS に SMB を実装していますが、その実装に追加された特筆すべき機能を以下に紹介します (Mac をクライアントとして使う場合)。別途明記されていない限り、以下に説明している各機能は該当するバージョンで導入され、その後のバージョンでも維持されています。

macOS Catalina 10.15

機能

説明

適応性のあるパイプライン化の機能強化

パイプライン化で、さまざまな数やサイズのセグメントを扱うことができ、同時にマルチスレッド処理も叶います。

書き込み (アップロード) のパイプライン化

セグメントの最大数:6

最大セグメントサイズ:1 MB

読み込み (ダウンロード) のパイプライン化

セグメントの最大数:6

最大セグメントサイズ:1.25 MB

永続的なハンドル

継続的可用性のあるサーバは、永続的なハンドルを使います。継続的可用性のあるサーバは、見かけ上は 1 台のサーバですが、実際には複数のノードがデータをミラーリングしており、そのおかげで、共有を常に利用できる環境を作れます。これは、クラウドやクラスター構成では一般的です。いずれかのノードを利用できなくなっても、永続的なハンドルを使って、別のノードに接続できます。

Time Machine サーバの要件の変更

継続的可用性を備えたサーバを Time Machine のバックアップ先として使えます。

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

機能

説明

Finder でのブラウジングの簡略化

フォルダの中身を高速で閲覧できるように、Finder を調整できます。

ディレクトリリース

ディレクトリリースを使えば、クライアントでディレクトリの列挙情報をキャッシュしやすくなります。

ファイルリース

ファイルリースを使えば、クライアントでファイルデータをローカルにキャッシュしやすくなり、ファイルを閉じる操作を遅らせることで、ファイルをすばやく開き直せます。

適応性のあるパイプライン化

所定数のセグメントを使う代わりに、macOS はセグメントの数を動的に調整し、ネットワークの条件に応じて自動的にアップロードまたはダウロードします。macOS はさらに各セグメントのサイズも自動的に調整するため、パフォーマンスが向上します。

書き込み (アップロード) のパイプライン化

セグメントの最大数:4

最大セグメントサイズ:512 KB

読み込み (ダウンロード) のパイプライン化

セグメントの最大数:4

最大セグメントサイズ:1 MB

masOS Sierra 10.12

機能

説明

耐久性のあるハンドル v2 および ファイルリース v2

耐久性のあるハンドルとリースのおかげで、クライアントから共有に再接続し、データを失うことなくファイルの作業を継続できます。v2 のリースと耐久性のあるハンドルでは、この再接続機能をいっそう確実に使えるように設定できます。

Time Machine

macOS は、必要な機能に対応したサーバにバックアップできます。

macOS El Capitan 10.11

機能

説明

DNS を利用した負荷分散サーバ

環境によっては、複数のサーバで同じデータをホスティングし、ラウンドロビン DNS で負荷を分散させています。1 つの DNS「A」レコードに複数の IP アドレスが割り当てられます。macOS は、同じ共有を繰り返しマウントし直す代わりに、IP アドレスごとに一度、現在マウントされている共有を評価し、使います。

書き込み (アップロード) のパイプライン化

セグメント数:4

最大セグメントサイズ:512 KB

読み込み (ダウンロード) のパイプライン化

セグメント数:4

最大セグメントサイズ:1 MB

ディレクトリキャッシュ

macOS では、ディレクトリの閲覧をやめてから最長で 1 分間はその内容をキャッシュしておくので、エンドユーザがディレクトリの閲覧をやめてから再び閲覧する際に、その内容を再ダウンロードする必要がありません。

masOS Yosemite 10.10

機能

説明

SMB 3 の導入

macOS で SMB 3.0 および 3.0.2 のダイアレクトに対応しました。

Validate Negotiate

これは、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 名を 1 つだけ使って、複数のサーバに接続できます。

リクエストや返信の結合

複数の関連するリクエストや返信を 1 つのパケットで送信できます。

SMB 2 署名

セキュリティ署名が各リクエストで送信されます。

コピーチャンク

SRV_COPYCHUNK_COPY コマンドを使って、macOS で先にデータをダウンロードすることなく、データをコピーするようにサーバにリクエストします。

AAPL の作成コンテキスト

AAPL は、Apple による SMB プロトコルの拡張であり、macOS のセマンティクスのサポートを強化します。AAPL の作成コンテキストを使った場合、その拡張が使われることになります。

耐久性のあるハンドル

耐久性のあるハンドルを使えば、クライアントがデータを失うことなく共有に再接続できます。

ローカル Kerberos 認証 (LKDC)

SMB サーバが KDC (キー配布センター) を兼ねている場合、macOS はほかのサーバに接続することなく Kerberos を使って認証できます。これは主に、macOS がホスティングする共有に対し、macOS で認証を行う場合に使われます。

パイプライン化

パイプライン化により、ファイルをセクションに分けて非同期的に転送できます。ファイルの容量が 10 MB の場合、このファイルを 1 MB ずつ 10 個のチャンクに分けて送信できます。しかし、パイプライン化すれば、複数のセグメントを同時に送信でき、転送が終わるまで待つ必要がないため、転送速度が向上します。SMB 2.0 以前では、最大 64 KB のセグメントを扱うことができます。SMB 2.1 では、さらに大きいセグメントを扱えます。

書き込み (アップロード) のパイプライン化

セグメント数:2

最大セグメントサイズ:512 KB

読み込み (ダウンロード) のパイプライン化

セグメント数:4

最大セグメントサイズ:1 MB

関連情報

Apple の SMB ディレクトリを参照してください。

公開日: