Windows でPingを打つと3~4時間でパケットロス 改善に向け て試せる事

LAN内からインターネット外にあるサーバにPingをうっていると、どうも時々パケットロスする。

本来は映像配信を長時間安定させたい(エンコーダ:win ⇒ インターネット ⇒ サーバ)という目的だが、時々サーバから切断される。理由が分からない。

そこで、Pingをエンコーダからサーバに向けて長時間うっているとパケットロスしている事が分かった。ただ、LinuxからのPingではパケットロスする事がない。

1.pingを長時間掛けているとルータがパケットロスしませんか?
http://www.rtpro.yamaha.co.jp/RT/FAQ/Windows/ping-packet-loss.html
WindowsのARP情報は、通信が継続していても一定時間ごとに一旦クリアされ、再びARP解決を行い、ARP解決の最中ではパケットが正常に送信されない事がある。

2.Windows Vista/7のオフロードを無効化する
http://www.ginnokagi.com/2011/12/windows-vista7.html
ネットワーク処理の一部をNICに行わせる事で、パフォーマンスを向上する機能がオフロード。それが悪さをしてネットワーク状況を悪化させる。

3.NICの電源管理でデバイスの電源をオフにできないようにする
https://social.technet.microsoft.com/Forums/windows/en-US/5e4f49d8-10be-4537-8ff0-01d927c93749/packet-loss-in-win7vista-but-not-xp?forum=w7itpronetworking
NICドライバにて、デバイスの管理⇒電源の管理で電力の節約のために、コンピュータでこのデバイスの電源をオフにできるようにするのチェックを外す

4.Windows FireWall ,WindowsDefenderを無効にしてみる。

5.MTUサイズをフレッツ光用に1454にしてみる

arp -s では設定できなくなっているので注意

 

C:\Windows\system32>netsh interface ipv4 show interface

Idx Met MTU 状態 名前
--- ---------- ---------- ------------ ---------------------------
1 50 4294967295 connected Loopback Pseudo-Interface 1
12 5 1500 disconnected ワイヤレス ネットワーク接続
14 50 1500 disconnected Bluetooth ネットワーク接続
16 10 1500

arp -a にて、物理アドレス(MACアドレス)を調べる

C:\Windows\system32>netsh interface ipv4 set neighbors "ローカル エリア接続" 192.168.200.77 xx-xx-ca-00-xx-38

もう一度 arp -a して、種類に静的と表示されれば割り当て完了

インターフェイス: 192.168.200.74 --- 0x10
インターネット アドレス 物理アドレス 種類
192.168.0.1 00-xx-eb-48-xx-4b 動的
192.168.0.70 e8-xx-35-f0-xx-41 動的
192.168.0.73 b8-xx-3a-79-xx-b5 動的
192.168.0.77 xx-xx-ca-00-xx-38 静的
192.168.0.254 00-xx-de-3f-d9-d1 動的

一度割り当てたら、再起動しても静的設定は消えない。

arp情報を削除したい時は昔ながらのコマンドでできる。

arp -d 192.168.0.77

 

C:\Windows\system32>netsh int ip show offload

インターフェイス 1: Loopback Pseudo-Interface 1

udp transmit チェックサムはサポートされています。
tcp transmit チェックサムはサポートされています。
udp receive チェックサムはサポートされています。
tcp receive チェックサムはサポートされています。

インターフェイス 12: ワイヤレス ネットワーク接続
インターフェイス 14: Bluetooth ネットワーク接続
インターフェイス 16: ローカル エリア接続

ipv4 transmit チェックサムはサポートされています。
udp transmit チェックサムはサポートされています。
tcp transmit チェックサムはサポートされています。
tcp giant send offload はサポートされます。
ipv4 receive チェックサムはサポートされています。
udp receive チェックサムはサポートされています。
tcp receive チェックサムはサポートされています。

レジストリエディタで作業する

regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Paramete

rsをクリックし、新規でDWORD値を作成する。エントリー名を”DisableTaskOffload”とし、そのDWORD値を”1″とする。

DisableTaskOffload.jpg
DisableTaskOffload.jpg

うまく設定できたか確認する

C:\Users\haishintaro6>netsh int ip show offload

インターフェイス 1: Loopback Pseudo-Interface 1
インターフェイス 12: ワイヤレス ネットワーク接続
インターフェイス 14: Bluetooth ネットワーク接続
インターフェイス 16: ローカル エリア接続

コンピュータの管理から、NICを選択し、プロパティを開く

電源の管理タブにて、電力の節約のために、コンピュータでこのデバイスの電源をオフにできるようにするのチェックを外す。

netsh interface ipv4 show interface
Idxを調べる

netsh interface ipv4 set interface idx mtu=1454
※idxは上記で調べた番号(NICを指定)する。