このページの本文へ

Windows Info 第328回

Windows 10/11で可能だが、デフォルトでオフになっているSMB圧縮の効果を試す

2022年05月22日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windows 10/11ではSMBによるネットワークファイル共有で転送時の圧縮(SMB圧縮転送)に対応している。これはネットワークでの転送時にファイルを圧縮し、転送に要する時間を短縮させるものだ。ただし、圧縮が有効でないファイルも存在すること、圧縮・伸張をCPUで実行していることから転送中のCPU負荷に多少の影響が出る。

 しかし、圧縮がある程度有効なファイルなら、理屈的には時間を短縮することが可能だ。また、xcopyやrobocopyなどのコマンドもSMB圧縮転送に対応しており、ファイルサーバー側がSMB圧縮を有効にしていればオプションでSMB圧縮転送を利用できる。

Windows 11ではSMB圧縮が有効になっている。簡単なテストだが、圧縮が有効なファイルに対しては、多少の効果はあるようだ

Windows 10 Ver.1903で搭載されていた機能だが
デフォルトではオフに

 SMB圧縮転送機能は、2019年5月リリースのWindows 10 Ver.1903(19H1、Windows 10 May 2019 Update)で、SMB v3の機能として搭載されたが、同年11月セキュリティ問題が告知され、無効化が推奨された。詳細な理由はわからないが、少なくとも「CVE-2020-0796」というセキュリティ問題では、当面の対策としてレジストリによるSMB圧縮転送の無効化が推奨されているため、SMB圧縮に何らかの関係がある問題だと思われる。

●CVE-2020-0796 Microsoft - Windows SMBv3 Client/Server Remote Code Execution Vulnerability
 https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2020-0796

 その後、2020年3月のKB4551762では、SMB v3のセキュリティ更新プログラムが提供されている。ただし、現在のWindows 10/11では、サーバー側、クライアント側ともにSMB転送圧縮が無効になった状態である。

そもそもSMB転送圧縮とは

 SMB転送圧縮とは、SMBによるネットワークファイル共有で、ファイルを転送するときに圧縮してデータ量を削減する。そのためには、サーバー側、クライアント側両方がSMB圧縮転送が実装されて、許可されている必要がある。

 サーバー側は現状、Windows 11のみの対応だが、クライアント側のSMB圧縮転送機能はWindows 10でも動作する。実際には、それぞれいろいろと条件があるのだが、基本的にサーバー側はWindows 11(もしくはWindows Server 2022)、クライアント側はWindows 10/11の組み合わせでSMB転送が利用可能だ。

 圧縮には、MicrosoftのXPRESSと呼ばれるアルゴリズムが使われるが、LZ77(Lempel-Ziv)やLZ77にハフマン符号を組み合わせたもの(LZ77+Huffman)、NTFSのファイル圧縮(LZNT1)などがあり、データに合わせて自動的に切り替えて利用するようだ。

 LZ77は、データ中の繰り返しを見つけて圧縮するアルゴリズムであるため、基本的には繰り返しの多いデータほど圧縮率が高くなる。具体的には、ファイルの中身がほとんどゼロであるようなファイルは圧縮率が高く、中身がほとんど乱数(あるいはそれに近いもの)である場合にはほぼ圧縮できない。

サーバー側でSMB圧縮転送を有効化する

 Windows 11なら、PowerShellのSet-SmbShareコマンドを使うことで、SMB圧縮転送を有効化できる。現状、GUIから設定することはできないようだ。具体的には、

Set-SmbShare -Name 〈共有名〉 -CompressData $true

とする。共有名は、Get-SmbShareコマンドで一覧を得ることができる。また、SMB圧縮転送の設定状態は、

Get-SmbShare -Name 〈共有名〉 | select CompressData

で調べることができる。

PowerShellのSet-SMBShareコマンドを使うことで、共有名ごとにSMB圧縮の有効、無効を設定できる。その状態は、Get-SMBShareコマンドで確認可能だ

 どの場合でも、CompressDataがTrueになっていれば、その共有名へのアクセス時にクライアント側がSMB圧縮転送を有効にしていれば、圧縮転送となる。

クライアント側でSMB圧縮転送を有効化する

 クライアント側でSMB圧縮転送を有効化するには、レジストリ設定を行うか、xcopyやrobocopyで「/COMPRESS」オプションを使う。

 レジストリ設定をすることで、常にSMB圧縮が有効になるが、サーバー側と違い、共有先によって切り替えることはできない。もっとも、接続時のネゴシェーションでSMB圧縮転送を使うかどうかが決まり、サーバー側で共有名ごとに有効/無効を切り替えることができるため、問題が起きることはなさそうだ。

 とはいえ、セキュリティ問題で無効化された機能である。有効にするかどうかは、ご自身のリスクとして判断されたい。何か問題が起きたとしても筆者および編集部では責任を取ることはしない。

 レジストリ設定だが、以下のキーに「EnableCompressedTraffic」というDWORD値を作り、データとして1を書き込む。

キー
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters

 reg.exeコマンドを使うなら、

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v EnableCompressedTraffic /t REG_DWORD /d 1

とする。これですぐにSMB圧縮転送が有効になる。

 また、SMB圧縮転送を無効化したい場合には、「EnableCompressedTraffic」を削除するか、データとして0を書き込む。

reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v EnableCompressedTraffic

実際にSMB圧縮転送を試してみるも効果は微妙

 サーバー側でSMB圧縮転送を有効にしたまま、クライアント側で有効/無効を切り替え、1GBのファイルを転送してみた。簡易なテストで、結果からいうと微妙なところ。中身がゼロだけのファイルでは、コピーの処理時間に違いが見られたが、乱数ファイル(ほとんど繰り返しがない)では、ほとんど効果がなかった。

 測定は、PowerShellのMeasure-Commandを使い、Copy-Itemコマンドでサーバー側の1GBのファイルをローカルフォルダーにコピーする時間を測定した。ネットワークはギガビットイーサを使っている。サーバー側は、CPUにCeleron J4125、メモリ8GB、クライアント側はCore i5-8250U、メモリは8GBである。

 コピーするファイルは、fsutil.exeコマンドで作成した中身がゼロだけのファイルと、以下のリストで作成した乱数からなるファイル。fsutilで作ったファイルは0だけなので、最も圧縮が有効になる場合と考えられる。

$r=new-object byte[] (1GB);
(new-object System.Random).NextBytes($r);
[System.IO.File]::WriteAllBytes("c:\temp\test-r-1G2", $r)

 多少は、圧縮が効いているみたいなので、GB単位の大きなファイルをLAN内で転送することが多いならSMB圧縮転送を有効にしておく意味はありそうだ。とはいえ、セキュリティ上のリスクを考えると、屋外に持ち出せるラップトップやタブレットクラスのマシンでわざわざ設定するほどでもないという感じである。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
1
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - シルバー
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - シルバー
¥95,768
2
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - スカイブルー
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - スカイブルー
¥177,333
3
【整備済み品】富士通 ARROWS Tab V727/V 12.3型 タブレットPC 第7世代 Core m3 メモリ4GB SSD128GB Windows11 Office2019搭載 1920×1280 高精細液晶 LTE対応 無線LAN タッチペン付属 カメラ搭載 初期設定済み
【整備済み品】富士通 ARROWS Tab V727/V 12.3型 タブレットPC 第7世代 Core m3 メモリ4GB SSD128GB Windows11 Office2019搭載 1920×1280 高精細液晶 LTE対応 無線LAN タッチペン付属 カメラ搭載 初期設定済み
¥9,999
4
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥35,129
5
【整備済み品】NEC ノートパソコン VX-9 VKT16 15.6型 FHD 第10世代Core i5-10210U(最大動作4.2GHz) /Windows11 Pro/MS Office2021/WIFI内蔵/Webカメラ/DVD-ROM/テンキー/Bluetooth/HDMI/Type-C/有線静音マウス付属 (Corei5-10210U, メモリ16GB,SSD512GB)
【整備済み品】NEC ノートパソコン VX-9 VKT16 15.6型 FHD 第10世代Core i5-10210U(最大動作4.2GHz) /Windows11 Pro/MS Office2021/WIFI内蔵/Webカメラ/DVD-ROM/テンキー/Bluetooth/HDMI/Type-C/有線静音マウス付属 (Corei5-10210U, メモリ16GB,SSD512GB)
¥49,880

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,374
2
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,080
3
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
4
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥640
5
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ホワイト T-K6A-2630WH
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ホワイト T-K6A-2630WH
¥1,899
6
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥1,299
7
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,645
8
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,359
9
エレコム USB Type C ケーブル 1m 100W PD対応 高速充電 シリコン素材 なめらか やわらか 【 MacBook/iPad/Galaxy/Android スマホ タブレット 等対応 】 ブラック 【iPhone 16 シリーズ 対応検証済】 MPA-CCECSS10BK
エレコム USB Type C ケーブル 1m 100W PD対応 高速充電 シリコン素材 なめらか やわらか 【 MacBook/iPad/Galaxy/Android スマホ タブレット 等対応 】 ブラック 【iPhone 16 シリーズ 対応検証済】 MPA-CCECSS10BK
¥1,099
10
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
¥1,040

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン