Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Windows ファイル共有(SMB)を再確認する

Windows ファイル共有(SMB)を再確認する

2026年3月20日開催「.NETラボ 勉強会 2026年3月」で行ったセッション「Windows ファイル共有を再確認する」の投影スライドです。Windows ネットワークの中で最も多く使われている機能がファイル共有でしょう。このセッションでは Windows ファイル共有とそのプロトコルである SMB について、全体の構成や動作原理を再確認しています。

Avatar for Murachi Akira

Murachi Akira PRO

March 20, 2026
Tweet

More Decks by Murachi Akira

Other Decks in Technology

Transcript

  1. About me • Murachi Akira aka hebikuzure ( 村地 彰

    ) • 株式会社エクシードワン 技術フェロー • 株式会社シーピーエス 技術教育スペシャリスト • 専門学校東京テクニカルカレッジ非常勤講師 • Microsoft MVP (Most Valuable Professional) • Since Apr. 2011 ( 15 Years! ) • Award Category: Windows and Devices - Windows Cloud and Datacenter Management – Windows Server • Expertise • Windows client / user management and security • Microsoft 365, Active Directory, Microsoft Endpoint Manager https://www.linkedin.com/in/akiramurachi/ https://www.facebook.com/amurachi/ https://x.com/hebikuzure 2026/03/20 2 Murachi Akira aka Hebikuzure
  2. 目次 • Server Message Block (SMB) • SMB のテクノロジー •

    SMB の「方言 (ダイアレクト)」 • SMB のフロー • SMB の高速化 • まとめ 2026/03/20 Murachi Akira aka Hebikuzure 3
  3. SMB とは • ネットワーク ファイル共有プロトコル(とその実装) • OSI 参照モデルの L6/L7 のプロトコル

    • Windows のストレージとファイルのサービスの基盤 • ハイパーコンバージドストレージとクラスタ化ストレージ • 記憶域スペース ダイレクト 、記憶域レプリカ、フェールオーバー クラスタリング ストレージ • ファイル サーバー テクノロジ • Scale-Out ファイル サーバー、DFS 名前空間、DFS レプリケーション • 仮想化とアプリケーションのワークロード • SMB 経由のHyper-V 、SMB 経由の SQL Server 2026/03/20 Murachi Akira aka Hebikuzure 5
  4. ファイル共有プロトコル • SMB 以外にもいろいろある • NFS (Network File System) •

    UNIX/Linux で主に使われるプロトコル • WebDAV • HTTP 上でファイル共有を行うプロトコル • AFP(Apple Filing Protocol) • Apple が過去に採用していたプロトコル 2026/03/20 Murachi Akira aka Hebikuzure 7
  5. SMB の機能 • セキュリティと認証 • 暗号化、署名、NTLM ブロック、認証レートの制限など • ネットワークと接続 •

    複数のトランスポートのサポート • 高パフォーマンス • 最適化、圧縮、帯域幅制限、ディレクトリ キャッシュ • 高可用性とスケール • 透過的なフェールオーバー、スケールアウト • 管理と監視 • 方言の管理、パフォーマンスの監視 2026/03/20 Murachi Akira aka Hebikuzure 8
  6. SMB のコンポーネント • クライアント サーバー モデル • SMB サーバー •

    Windows では Server サービス(LanmanServer) • SMB クライアント • Windows では Workstation サービス(LanmanWorkstation) 2026/03/20 Murachi Akira aka Hebikuzure 9
  7. SMB の基本動作 (Windows の例) 2026/03/20 Murachi Akira aka Hebikuzure 10

    アプリケーション リダイレクター Workstation サービス トランスポート(TCP/IP など) ネットワーク インターフェース Server サービス トランスポート(TCP/IP など) ネットワーク インターフェース ストレージ
  8. リダイレクター • アプリケーションからのリソース要求に対して、適切なモジュールを呼び出 す機能 • リソースがローカル ファイル システム上にあれば NTFS ファイル

    システム • リソースがネットワークの場所(UNC パスやネットワーク ドライブ)なら Workstation • リソースが Web の場所(HTTP)なら WebDAV 2026/03/20 Murachi Akira aka Hebikuzure 11
  9. リダイレクター • アプリケーションからのリソース要求に対して、適切なモジュールを呼び出 す機能 • リソースがローカル ファイル システム上にあれば NTFS ファイル

    システム • リソースがネットワークの場所(UNC パスやネットワーク ドライブ)なら Workstation • リソースが Web の場所(HTTP)なら WebDAV 2026/03/20 Murachi Akira aka Hebikuzure 12 アプリケーションは実際のリソースの 実際の場所を意識せず透過的に扱える
  10. SMB が利用するトランスポート • 歴史的には NetBIOS / NBT (NetBIOS over TCP/IP)

    • 現在の主流は TCP/IP (Direct host SMB over TCP/IP) 以下の仕様もあり、利用されている • QUIC (SMB over QUIC) • RDMA (SMB Direct) • RDMA は InfiniBand, iWARP, RoCE をサポート 2026/03/20 Murachi Akira aka Hebikuzure 14
  11. SMB が利用するポート番号 • NBT • 137/UDP, 137/TCP, 138/UDP, 139/TCP •

    Direct host SMB over TCP/IP • 445/TCP • SMB over QUIC • 443/UDP • SMB Direct(iWARP (RDMA over TCP) の場合) • 5445/TCP 2026/03/20 Murachi Akira aka Hebikuzure 15
  12. SMB Direct • RDMA による低レイテンシ・高スループット・低 CPU 使用率 • SMB 経由のHyper-V

    、SMB 経由の SQL Server に効果 2026/03/20 Murachi Akira aka Hebikuzure 17
  13. おまけ:RDMA の種類と違い 2026/03/20 Murachi Akira aka Hebikuzure 18 InfiniBand トランスポート

    レイヤー iWARP プロトコル InfiniBand トランスポート レイヤー InfiniBand トランスポート レイヤー InfiniBand ネットワーク レイヤー TCP IP InfiniBand ネットワーク レイヤー UDP IP InfiniBand リンク レイヤー Ethernet リンク レイヤー Ethernet リンク レイヤー Ethernet リンク レイヤー InfiniBand iWARP RoCE v1 RoCE v2
  14. おまけ:RDMA の種類と違い 2026/03/20 Murachi Akira aka Hebikuzure 19 InfiniBand トランスポート

    レイヤー iWARP プロトコル InfiniBand トランスポート レイヤー InfiniBand トランスポート レイヤー InfiniBand ネットワーク レイヤー TCP IP InfiniBand ネットワーク レイヤー UDP IP InfiniBand リンク レイヤー Ethernet リンク レイヤー Ethernet リンク レイヤー Ethernet リンク レイヤー InfiniBand iWARP RoCE v1 RoCE v2 TCP IP Ethernet リンク レイヤー 参考 トランスポートが TCP/IP の場合
  15. Windows の RDMA 実装と SMB • NDKPI (Network Direct Kernel

    Provider Interface) • NDKPI は NDIS の拡張機能として提供されている • NDK プロバイダー (NDKPI インターフェイスを実装するミニポート ドライバー) • NDK コンシューマー (カーネル モードの Windows コンポーネント) 「SMB が RDMA に対応している」とは、SMB サーバーや SMB クライアントの カーネルモードのコンポーネントが NDK コンシューマーとしての機能を持っている ということ 2026/03/20 Murachi Akira aka Hebikuzure 21
  16. NDIS のミニポート ドライバー • ミニポート ドライバー • NIC ハードウェアを管理し、上位のドライ バーへのインターフェースとなる

    2026/03/20 Murachi Akira aka Hebikuzure 22 https://learn.microsoft.com/ja-jp/windows-hardware/drivers/network/ndis-network-interface-architecture から引用
  17. SMB の実装(Windows 以外) • Samba • SMB を含むさまざまな Windows ネットワーク機能と互換性のあるオープン

    ソース実装 • SMB サーバー/SMB クライアント機能を含む • smbfs • UNIX/Linux 系の仮想ファイル システム (VFS) を利用した SMB クライアン トの実装 • macOS • BSD の smbfs から派生した SMB クライアントと独自実装の SMB サーバー 2026/03/20 Murachi Akira aka Hebikuzure 23
  18. SMB の互換性 • UNIX/Linux でも macOS でもだいたい SMB 共有にアクセスしたり、 マウントしたりできる

    • SMB サーバー機能もたいてい利用できるので、 UNIX / Linux / macOS の SMB サーバーをWindows からファイル サーバーとして利 用できる 2026/03/20 Murachi Akira aka Hebikuzure 24
  19. SMB の仕様 • 詳細仕様が公開されている • [MS-SMB]: Server Message Block (SMB)

    Protocol • https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb/f210069c-7086- 4dc2-885e-861d837df688 • [MS-CIFS]: Common Internet File System (CIFS) Protocol • https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-cifs/d416ff7c-c536- 406e-a951-4f04b2fd1d2b • [MS-SMB2]: Server Message Block (SMB) Protocol Versions 2 and 3 • https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/5606ad47- 5ee0-437a-817e-70c366052962 • [MS-SMBD]: SMB2 Remote Direct Memory Access (RDMA) Transport Protocol • https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smbd/1ca5f4ae-e5b1- 493d-b87d-f4464325e6e3 2026/03/20 Murachi Akira aka Hebikuzure 25
  20. SMB の仕様 • 詳細仕様が公開されている • [MS-SMB]: Server Message Block (SMB)

    Protocol • https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb/f210069c-7086- 4dc2-885e-861d837df688 • [MS-CIFS]: Common Internet File System (CIFS) Protocol • https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-cifs/d416ff7c-c536- 406e-a951-4f04b2fd1d2b • [MS-SMB2]: Server Message Block (SMB) Protocol Versions 2 and 3 • https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/5606ad47- 5ee0-437a-817e-70c366052962 • [MS-SMBD]: SMB2 Remote Direct Memory Access (RDMA) Transport Protocol • https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smbd/1ca5f4ae-e5b1- 493d-b87d-f4464325e6e3 2026/03/20 Murachi Akira aka Hebikuzure 26 こちらが現行の仕様
  21. 方言=Dialects(ダイアレクト) • Dialects とは SMB のバージョンによるプロトコルの違いの識別子 (SMB バージョンと同じと考えても良い) • クライアント/サーバーのネゴシエーションで利用される

    • クライアントが利用可能なダイアレクトを提示 • クライアントとサーバーは、両方がサポートする最高言語バージョンを使用するよ うにネゴシエート 2026/03/20 Murachi Akira aka Hebikuzure 28
  22. ダイアレクトの変遷 2026/03/20 Murachi Akira aka Hebikuzure 30 SMB ダイアレクト OS

    SMB 1.0/CIFS NT LM 0.12 (1.01または1.5) Windows XP・Windows Server 2003 R2以前 SMB 2.0 SMB 2.002、0x202(2.02) Windows Vista・Windows Server 2008、 SMB 2.1 0x210(2.10) Windows 7・Windows Server 2008 R2 SMB 3.0 0x300(3.00) Windows 8・Windows Server 2012 SMB 3.02 0x302(3.02) Windows 8.1・Windows Server 2012 R2 SMB 3.1.1 0x302(3.1.1) Windows 10・Windows Server 2016 以降
  23. ダイアレクトが同じでも機能は異なる • 例えば SMB over QUIC は同じ SMB 3.1.1 でも

    Windows 11 / Windows Server 2022 Azure Edition 以降で利用可能 • オペレーティングシステムのバージョンごとの詳細な機能は以下参照 • Windows および Windows Server の SMB 機能 https://learn.microsoft.com/ja-jp/windows-server/storage/file-server/smb-feature-descriptions 2026/03/20 Murachi Akira aka Hebikuzure 31
  24. 接続を確立するまで • Negotiate • SMB で通信を行うことのネゴシエーション • ダイアレクトの決定 • Session

    Setup • 実際のデータをやり取りするセッションの確立 • ユーザー認証もここで行われる • Tree Connect • アクセスする共有(ディレクトリ)への接続 • 以下、実際のファイル操作 2026/03/20 Murachi Akira aka Hebikuzure 33
  25. 高速化の手法 • SMB Direct • SMB over QUIC • SMB

    マルチチャネル • 複数リンク(物理/論理)を利用して複数の SMB セッションを同時に実行 • 物理リンクは1つでも複数でも良い • 1つの物理リンクの場合は、NIC が以下のいずれかをサポートしていること - Receive Side Scaling (RSS) をサポートする - RDMA をサポートする • 複数の物理リンクの場合、チーミングはがあってもなくてもどちらでも良い 2026/03/20 Murachi Akira aka Hebikuzure 46
  26. SMB マルチチャネル 構成の比較 構成 スループット SMB の耐障害性 SMB以外の障害許容性 CPU 使用率の低下

    単一ネットワーク アダプター (RSS なし) ★ 複数のネットワーク アダプター (RSS なし) ★★ ★ NIC チーミングを使用した複数の ネットワーク アダプター (RSS なし) ★★ ★★ ★ RSS を使用した単一ネットワーク アダプター ★ RSS を使用した複数のネットワーク アダプター ★★ ★ RSS と NIC チーミングを使用した 複数のネットワーク アダプター ★★ ★★ ★ 単一 RDMA 対応ネットワーク アダプター ★ ★ 複数の RDMA 対応ネットワーク アダプター ★★★ ★ ★ NIC チーミングを使用する複数の RDMA 対応ネットワーク アダプター ★★★ ★★ ★ ★ 2026/03/20 Murachi Akira aka Hebikuzure 47
  27. まとめ • Server Message Block (SMB) • SMB のテクノロジー •

    SMB の「方言 (ダイアレクト)」 • SMB のフロー • SMB の高速化 2026/03/20 Murachi Akira aka Hebikuzure 49