Windowsのネットワークを高速化する方法

※2018/04/28 手順3.5 WIndows10(1703)以降でのアドオン輻輳制御プロバイダの変更例を書き直しました
※2018/06/11 回線速度計測サイトを変更しました
※2018/06/27 TCP Chimney Offloadの補足と電源設定の説明を追加
※2019/04/24 手順7「Windows Update Delivery Optimization」の設定を追加

WindowsXP以降のOSの場合、イーサネットコントローラのチェックサムが有効になっている事でネットワーク速度が重たくなっていることがあります。
元々チェックサムは、通信パケットの整合性をチェックする為の機能で、通常は安全上ONに設定されています。
これらの設定を無効化し、OSのネットワーク速度最適化機能の設定を変更することで、ネットワーク速度を改善出来るかもしれません。

1.スタートメニュー→コントロールパネル→ネットワークと共有センター→使用しているネットワークアダプタ→プロパティ→構成く(別ウィンドウ)→詳細設定
以下の項目をすべて無効とする。
(下記にない項目は飛ばしてOK)
・IPSec オフロード
・IPv4チェックサム オフロード
・TCPチェックサム オフロード(IPv4)
・TCPチェックサム オフロード(IPv6)
・UDPチェックサム オフロード(IPv4)
・UDPチェックサム オフロード(IPv6)
・ジャンボフレーム
・受信側スケーリング
・大量送信オフロード(IPv4)
・大量送信オフロードv2(IPv4)
・大量送信オフロードv2(IPv6)

1.5.上記詳細設定で、下記を以下の設定に変更
・速度とデュプレックス→1.0Gbps フルデュプレックス
・WOLとシャットダウンリンク速度→速度低下ではない

2.ネットワークアダプタの自動メトリックを手動で設定
・スタートメニュー→コントロールパネル→ネットワークと共有センター→使用しているネットワークアダプタ→プロパティ→インターネットプロトコル 4(TCP/IPv4)のプロパティを開く。
・出てきたプロパティの下部にある「詳細設定」を開く。
・出てきた画面の一番下の「自動メトリック」のチェックを外し、値を「10」と入力する
※1 プライベートIPアドレスが固定の場合、上記画面のデフォルトゲートウェイ欄からゲートウェイのIPアドレスをクリックし「編集」を押す→自動メトリックのチェックを外し、値に「10」を入れる。
※2 ワイヤレス等ネットワークアダプタを複数使っている場合、各ネットワークアダプタ別のメトリック値に優先順位をつけて11~20辺りの値をつけること。

3.ネットワーク自動最適化機能のレベルを変更する。
・DOSプロンプトまたはPowerShell(どちらも管理者用)を開く。
・以下のコマンドを入力する。

#Receive Side Scaling(RSS)の無効化
netsh int tcp set global rss=disabled

#TCP Chimney Offloadの無効化
#※Windows10 Version 1804以降では使用できません
netsh int tcp set global chimney=disabled

#Network Direct Memory Access(NetDMA)の無効化
netsh int tcp set global netdma=disabled

#アドオン輻輳制御プロバイダーの切り替え
#Windows10 Version 1703(Creators Update)以降の方は、手順3.5を参照
netsh interface tcp set global congestionprovider=ctcp

#受信ウィンドウ自動チューニングレベルの変更
netsh int tcp set global autotuninglevel=highlyrestricted

#(上記で効果が得られなかった場合)
netsh int tcp set global autotuninglevel=restricted

#設定反映の確認
netsh int tcp show global

#各種設定を初期状態に戻す場合
netsh int tcp set global default

3.5.Windows10 Version 1703(Creators Update)以降でアドオン輻輳制御プロバイダーをCUBICにする方法
・以下をDOSプロンプトまたはPowerShell(どちらも管理者用)で実行

reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v TcpFastopenKey /t REG_BINARY /f /d 0123456789abcdef0123456789abcdef
netsh int tcp reload

・アドオン輻輳制御プロバイダーをCUBICにする

netsh int tcp set supplemental template=internet congestionprovider=cubic

・再起動後、設定反映を確認する

netsh int tcp show supplemental

4.レジストリエディタで、ネットワークデバイスのチェックサムをOFFにする。
・スタートメニュー→ファイル名を指定して実行→regedit

5.レジストリエディタで下記のパスに移動し、新規DWARD値を作成する(10進数で)。
・HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\windowsNT\CurrentVersion\NetworkCards\{数字}
上記番号の何れかにイーサネットアダプタの名称が書かれたDWARD値があるので、そのパス中のキー「ServiceName」中のイーサネットデバイスのインターフェースIDをメモる。

・HKEY_LOCAL_MACHINE\SYSTEM\CorrentControlSet\Services\Tcpip\Parameters\Interfaces\{先程メモったインターフェースID}」
このパスの中にDWARD値「MTU」を作り、10進数で「1454」と値を入れる。

※MTUの調べ方は、下記コマンドをDOSプロンプトで(size)の値を1500上限に変えながらパケットがパスされるかチェック。
最適値+IPヘッダ(20byte)+Etherフレーム(8byte)がMTUのサイズとなる。
(ジャンボフレームに対応していない場合、恐らく1426byteになるだろう。これに28を足すと1454となる。)

ping -f -l (size) -n 1 www.nic.or.jp

・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
上記パス中のDWARD値「DisableTaskOffload」(見つからなかった場合、新規作成)の値を「1」にする。

・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\AFD\Parameters
上記パス中に下記の通りの名前でDRAWD値を作成し、値を10進数で入力する。
– DefaultReceiveWindow:260176
– DefaultSendWindow:260176
– LargeBufferSize:32768
– MediumBufferSize:6016
– SmallBufferSize:256
– TransmitWorker:32

※下記のコードで「Parameter.reg」を作成し実行しても可能。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DisableTaskOffload"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\AFD\Parameters]
"DefaultReceiveWindow"=dword:0003F850
"DefaultSendWindow"=dword:0003F850
"LargeBufferSize"=dword:00008000
"MediumBufferSize"=dword:00001780
"SmallBufferSize"=dword:00000100
"TransmitWorker"=dword:00000020

5.電源のパフォーマンスを調整する
コントロールパネル→ハードウェアとサウンド→電源プランの選択またはカスタマイズ
→高パフォーマンスを選択

※Windows10 Version 1703(Creators Update)以降では「高パフォーマンス」の選択肢がない場合があります。
そこで、DOSプロンプトまたはPowerShell(どちらも管理者用)で下記を入力し
再起動後、上記の電源プランを再設定。

powercfg -setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

6.Windows Update Delivery Optimization(分散ダウンロード)の無効化
※Windows10限定

スタートメニュー設定→更新とセキュリティ→詳細オプション

→「更新プログラムの提供方法を選ぶ」→「複数の場所から更新する」
→Windows10端末を複数台所持:「はい」→「ローカルネット上のPC」
→Windows10端末を1台のみ所持:「いいえ」

7.インターネットセキュリティソフト(若しくはアンチウイルスソフト)を常駐させている場合、WindowsDefenerの自動スキャンをOFFにする。

8.再起動

さて、ネットワーク速度が改善されたかな?
もしあまり改善されていないのなら、ブラウザのネットワーク設定を見なおしてみましょう。
それでもダメなら、屋内配線の見直しやルータの設定とファームウェア更新確認、プロバイダのDNSサーバが生きているかの確認等をしてみましょう。
最悪、回線事業者のサポートダイヤルで回線速度のリモートチェックを依頼し
プロバイダなしでの速度が十分に出ていたら、今ご利用のプロバイダを疑いましょう。

回線速度の計測はコチラから。