カテゴリー
IT Tips

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」の設定を追加
※2019/09/25 レジストラ中のパスを修正<(_ _)>不備をお詫び申し上げます

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\Services\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\Services\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限定

スタートメニュー設定→更新とセキュリティ→配信の最適化

→他のPCからDLを許可する
→Windows10端末を複数台所持:「オン」→「ローカル ネットワーク上のPC」
→Windows10端末を1台のみ所持:「オフ」

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

8.再起動

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

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

「Windowsのネットワークを高速化する方法」への15件の返信

自ブログのコメントにも返信してましたが、こちらにもコメントさせていただきます。
ホント、参考になりました。
ありがとうございます m(_ _)m

こんばんは、ピンバック有難う御座いました( ^ヮ^)ノ
あんな読みづらい記事でもお役に立てられれば光栄です(*゚わ゚*)

本当に参考になる記事をありがとうございます。
時折読みに来ています。

手順3.5の以下の部分でうまくいかない箇所があるみたいです。
原因はわかりません。すみません…ll

netsh int tcp reload
※次のコマンドは見つかりませんでした:int tcp reload

netsh int tcp set supplemental template=internet congestionprovider=cubic
※パラメーターが間違っています

rarafy様
お世話になります、Windowsのバージョンはおわかりですか?
手順3.5は、Windows10(1703以降)対象の手順となりますので、それと異なる場合でしたら別の方法をこちらでレクチャーいたしますね。

“netsh int tcp reload”
もしバージョン非対応の場合、Windowsを再起動すれば問題ございません。

“netsh int tcp set supplemental template=internet congestionprovider=cubic”
コメントを読んだ限りですと「template=internet」の直後に全角スペースが入っていますが、コマンド実行時に再度ご確認くださいませ。

元ネタ置いておきます(´・ω・`)

https://blogs.technet.microsoft.com/networking/2017/07/13/core-network-stack-features-in-the-creators-update-for-windows-10/

こんにちは お陰様で回線速度が良くなり助かりました ありがとうございます。

一つお聞きしたいのですが、3.5の”アドオン輻輳制御プロバイダーの切り替え”の通りにしてnetsh int tcp show supplementalで確認したところ問題なさそうなのですが、netsh in tcp show globalでは”default”になっています。

この場合設定は反映されているのでしょうか。
よろしくお願いします。

windows10 Home 64bit version1803

おはようございます、この度はお役に立てて光栄でございます<(_ _)>
アドオン輻輳プロバイダの設定表示につきましては、CTCPとCubicとではアドオン輻輳アルゴリズムの仕様が若干異なりますので、現状で問題ございません。
設定はしっかり反映されていますのでご安心くださいb

PCのアプリ起動が遅くてCPU以外全て切り分け交換しても直らず。そんな状態で2年近く過ごしてやっぱり買い換えか?(買い換えたところで問題解決していないから意味ないだろうな)とずっと悩んでおりました。
色々手当は行ったのですがどれもダメで、やはり初期のパケットミスが関係あるのかもと思ってネットで検索していたらこの掲示板にたどり着きました。

一通り手当を行うと、全てが速いこと!!!ネットは一度通じれば速度測定ではそれなりの成績がでるので、最初の糞詰まりwがこれで全て直ってしまいました!。
Excelなどのアプリの起動が遅くて毎度暴れてましたが、これですっきりと作業が出来、フリーセルのする時間も増えそうです!

丁寧な解説大変ありがとうございました!!多謝。

>にわとり様
はじめまして、ご吉報有難うとざいます(*・ω・*)
今後のPCライフがより快適になりますように・・・!!

はじめましてこんばんは 最近pcのオンラインゲーム関連が重く有線にしても変わらず 検索していたところこちらの記事を見つけました 色々試してみたのですが 残念ながら治らず。。。
しかし設定を変える前からfastなどでテストしても400mbpsが平均で
何一つ問題なくダウンロードやアップロードはできてたので最後の測定サイトを試してみた結果 msのみがやけに高く62msと出てしまいました
他の二つは100以上とかなりいい感じなのですが msのみ悪い時の対処法などはわかりますでしょうか...

>やーみ様
お世話になります、場合によってはかなりいい数値を叩き出しておいでなのですね。恵まれた環境であろうだけに非常にもったいないと思います。
特にPCといった不安定なガジェットですと、たくさんのタスクを熟しながらゲームをしたり速度を図ったりしていますよね。
純粋な目的と目標ありきで回線速度を求める、という考え方そのものがネットユーザにしてナンセンスなのです。
本来であれば やーみ様の筐体スペック等お聞きしたいところなのですが
ご質問に至った背景がゆらっと見えてきた感じがしましたので単刀直入に申し上げます。
『マシンにいろいろなことをさせすぎていらっしゃいませんか?』
足してダメなら引いてみろ、消去法でマシンの状態を省エネ化させてみましょう。

お早い返事ありがとうございます
マシンにいろんなことをさせすぎていないか、ですがここ最近pcを
買い換えたのでそんなことはないと思っていたところよく考えてみたら
コントローラーの接続 ヘッドホンやキャプチャーボードなど 外のものをたくさん付けていました 
ただ残念なことに外した状態で何度か測ってみましたが変わりはないようでした・・
pcスペックは自分で言うのもなんですがかなり高い物なので
大体のゲームやアプリの設定を最高品質にしていました
ここはスペック次第で回線に全く影響がないかとおもっていたんですが
ここであえて省エネ設定にしてこの後試したいと思います
アドバイスありがとうございました これでも治らないようでしたら
ルーター本体の買い替えも視野に入れてみます

>やーみ様
こんばんは、レスありがとうございます<(_ _)>
msといいますのは、pingの長さでしょうか?
これはDNSの性能や通信経由、接続同時セッション数、ないしはマシン内の通信IOにおけるラグによっても若干左右されますので、通信環境はできるだけスマートに講じたほうが得策かと思われます。

特に物理的な回線環境でおすすめなのは、IPoEに対応したNEC製Atermと筐体との直結ですね・・・。
ゲームをやっていらっしゃるのなら遅延ACKを低くしていらっしゃると思いますが
もしこの値を触っていたら「3」に戻して様子を見てはいかがでしょうか。

またお早い返信ありがとうございます
DNSはグーグルの8888や早いと噂の1001を試したりしましたが
変わりがなかったので自動にしてますね、、、
遅延ACK はあまり聞きなれないですが
色々調べてるときにそれらしき物を無効か1にした覚えがありますね、、、
度々ありがとうございます

Σ(゚ロ゚*)ハッ
やーみ様!まだご覧になっていたら、ゲームの画質やオーバークロック等を切り下げてみてくんなまし!!

「YouTubeのLQがスイスイ↔4Kで少しラグる」
これとまったく同じ理屈ですわ・・・!!

十円玉 にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください