タグ別アーカイブ: ネットワーク

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

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

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

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

3.ネットワーク自動最適化機能のレベルを変更する。
・DOSプロンプトを管理者権限で開く。
・以下のコマンドを入力する。

#Receive Side Scaling(RSS)の無効化
netsh int tcp set global rss=disabled
#TCP Chimney Offloadの無効化
netsh int tcp set global chimney=disabled
#Network Direct Memory Access(NetDMA)の無効化
netsh int tcp set global netdma=disabled
#アドオン輻輳制御プロバイダーの切り替え
#Windows8.1以降の方は、手順3.5を参照
netsh interface tcp set global congestionprovider=ctcp
#受信ウィンドウ自動チューニングレベルの変更
netsh int tcp set global autotuninglevel=normal
#(上記で効果が得られなかった場合)
netsh int tcp set global autotuninglevel=highlyrestricted
#設定反映の確認
netsh int tcp show global

3.5.Windows8.1以降のOSでアドオン輻輳制御プロバイダーをCTCPにする方法
・以下のソースコードをテキストエディタにコピペし「CTCP.reg」を作成、実行する。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0]
"0200"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"1700"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

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

set supplemental congestionprovider=ctcp

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

netsh int tcp show global

4.レジストリエディタで、ネットワークデバイスのチェックサムをOFFにする。
・スタートメニュー→ファイル名を指定して実行→regedit
・開いたレジストリエディタで以下のパスへ移動。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
・DWARD値「DisableTaskOffload」が見つからなかったら、新規作成する(16進数で)。
・DWARD値「DisableTaskOffload」の値を「1」にする。

5.レジストリエディタで下記のパスに移動し、新規DWARD値を作成する(10進数で)。
・HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\windowsNT\CurrentVersion\NetworkCards\8
上記パス中のキー「ServiceName」にイーサネットデバイスのインターフェースIDが入っているので、これをメモる。
HKEY_LOCAL_MACHINE\SYSTEM\CorrentControlSet\Services\Tcpip\Parameters\Interfaces\{先程メモったインターフェースID}」
このパスの中にDWARD値「MTU」を作り、10進数で「1454」と値を入れる。

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

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

6.再起動

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

回線速度の計測はコチラから。
http://netspeed.studio-radish.com/

Linuxのネットワーク高速化

/etc/sysctl.confの末端に以下を追加し、OS起動時にも起こされる「sysctl -p」で反映。

#sudo vi /etc/sysctl.conf
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_keepalive_time = 20
net.ipv4.tcp_keepalive_probes = 4
net.ipv4.tcp_keepalive_intvl = 5
net.core.rmem_default = 873800
net.core.wmem_default = 873800
net.core.rmem_max = 1747600
net.core.wmem_max = 1747600
net.core.optmem_max = 20480
net.ipv4.tcp_syncookies=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.eth0.accept_redirects=0
net.ipv4.conf.lo.accept_redirects=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.eth0.accept_source_route=0
net.ipv4.conf.lo.accept_source_route=0
#sudo sysctl -p