なぞ

<ワカンナイ>

回線のチューニング回です

hai!

今日はネットワーク環境のチューニングを目的とした日記を書きます。

以前にもACNBの熱帯の項目で取り扱ったことはあるのですが、

もうだいぶ前の記事だし、埋もれちゃってて探すの大変になっちゃったしね。

基本的には以下の手順でチューニングしていきます。

 

・回線速度測定サイトで現在の速度を計測する

TCP/IP Analyzerで現在の設定値を確認する(画面のSSなどを取ること)

・Netshコマンド、またはレジストリの設定値を書き換えて高速化を図る

・回線速度測定サイトで現在の速度を計測する

 

以上の手順を繰り返すことになります。

普通なら一通りの手順を通してやるだけで回線速度を引き上げることができますが、

環境によってはかえって遅くなる、など不測の事態も起こりえますので、

設定を書き換える前には必ず以前の設定を覚えておく事を忘れないようにしてください。(SSとして記録するなど)

 

それではまずは現在の回線速度を計測してみましょう。

以下のサイトを開き、表示されている地図から「最寄り」の地域を選び、

計測を進めてください。

途中の回線登録についてはスキップを選択しても問題ありません。

なお、関東地方の方に限っては「マルチセッション版」が使用できますので、

こちらを利用するとより精度の高い結果が得られる場合があります。

netspeed.studio-radish.comこのサイトではJavaを用いた正確な速度計測が可能なのが特徴です。

当然PCにJavaが入ってないと計測できませんが、

他のサイトより格段に精度が高く、さらに高速回線にも対応しているのでお勧めです。

 

速度は如何ほどでしたでしょうか?

こちらの環境では以下のような結果が出ました。

上りに比べて下りがちょっと遅く、ゲージもばらつきがでてますね。

しかし昼間ならみんなが回線を使いますのでこんなものでしょう。

もしもどの時間帯でもゲージがガタガタで、速度も安定しない・・・という場合は、

根本的に回線の品質が悪いと考えられますので、

一度ネットワークの業者に相談をするか、別の回線を引き込むことをお勧めします。

f:id:syedream:20170605111430p:plain

比較用に画面のSSを取った上で、次のステップにいきましょう。

 

次はTCP/IP Analyzerというブラウザからお使いの回線の設定情報を参照できる、

とても便利なサイトをご紹介します。

これは、ルーターなどを介してインターネットに接続している際に起こりがちな、

パケットの断片化など、そういうのが起きてないのかの確認が簡単にできて便利です。

http://www.speedguide.net/analyzer.php

 

上記のページを開きますと・・・なにやら英文でつらつらと何か書かれています。

下のSSではMTU=1454と書かれていますが、

これが現在設定されているMTUという値で、

簡単に言ってしまえば、ネットに接続した際、1パケットおくるごとに

1454個分のあめ玉を送っているとお考え下さい。

f:id:syedream:20170605105345p:plain

じゃあじゃあ、このMTUを多くすれば速くなるんじゃ・・・?

という疑問もわいてきますが、実は回線と一言でいっても色々種別があり、

最適なMTU値が異なっています。

例えば関東地方で多く使われているフレッツ光回線ではMTUの上限は1454です。

これ以上の値をPC側で設定してしまうと、

1454からはみ出した分、つまり46個分の余ったあめ玉は次のパケットとして、

わざわざ二回に分けて送信することになってしまい、

結果として本来1パケットで済むはずの通信が2パケット必要になってしまう上、

次に送るべき3パケット目もこのような事態になっているので、

どんどんどんどん速度が遅くなっていくという悪循環が起こってしまうのです。

WindowsOSのMTU初期設定値は1500ですので、

回線をチューニングしていないと速度が出ない、ということはこういうことです。

ちなみにですが、上記のサイトで出てきたMTUと、

Windowsで設定したMTU値が異なる場合も出てくるかと思います。

これは、ルーターを介した接続の場合、ルーターが自動的に最適とするMTUに調整しているか、またはONUという機械を介している場合にMTU値を強制的に調整されている可能性があります。 こうなってしまうと、やはり先程出した問題のように、Windows側で送信したパケットは2個に分断され、別々に分けられてから送信されますから、やはり速度は遅くなってしまいます。

・・・と、説明が長くなってしまいましたが、

とりあえずさっきのサイトで表示されたMTU値にしておけば大丈夫と覚えてください。

では早速設定MTUを設定したりしてみましょう。

 

[コマンドを使用したチューニング]

一番簡単な方法としてはコマンドプロンプト、またはPowerShellがあります。

1.コマンドプロンプト or PowerShellを管理者権限で起動する

2.netsh interface ipv4 show interface と入力してみる

 

何か出ましたか?

こちらの環境では以下のような画面が出ました。(既ににチューニング済みです)

f:id:syedream:20170605113145p:plain

ここにもMTUという文字列が書いてありますね。

だいたい見ればなんとなく察しがつくかと思いますが、

これがお使いのパソコンで使われているネットワークアダプタの一覧です。

ひとつだけ、妙にMTUが高いのがありますが、

これはループバックインターフェースなので、調整の対象外です。

上の図でconnectedとなっている部分が現在接続に使っている部分なので、

この部分のMTUを調整します。

一番左上にIDXと書いてあって、それぞれ40、1、2...と割り振られていますが、

このIDX番号でネットワークアダプタを選択し、MTUを入力します。

入力の仕方は以下の通りです。

1.コマンドプロンプト、またはPowerShellを管理者権限で起動します

2.netsh interface ipv4 set interface idx mtu=1454 と打ち込みます

書き換えるべき箇所は赤文字にしておきました。IDXの値は環境によって違うので、

最初に書いたコマンド「netsh interface ipv4 show interface」で確認してください。

なお、今回はMTUを1454としていますが、

ここには先程のTCP/IP Analyzerで調べた値を入力することになります。

 

ついでなのでWindowsのおせっかい機能で、

Vista以降のOSでは標準で有効になっているRWINの自動調整機能も調整しましょう。

1.コマンドプロンプト、またはPowerShellを管理者権限で起動します。

2.netsh interface tcp set global autotuninglevel=disable と打ち込みます。

OKと出ればOK。

上記の設定では自動調整を無効化していますが、このパラメータはいくつか種類があり、highlyrestrictedrestrictedexperimental、そして無効とするdisabledが存在します。 多くの回線では『highlyrestricted』とすることで、ネットワークの速度を引き上げることができる可能性が高いですが、環境によって結果が異なりますので、各設定値を試してみてください。尚、experimentalを選択した場合、極端にwebブラウジングが遅くなったりするケースがありますのでご注意ください。

私の場合はRWIN値は自分で決めたい派なのでこの機能は無効にしています。

 

[レジストリを使用したチューニング]

1.以下のURLから設定用ツール(tuneapp)をダウンロードします。

http://www.geocities.co.jp/SiliconValley-Sunnyvale/9990/

2.ファイルを解凍後、管理者権限で『tuneapp.exe』を起動します。

3.カテゴリ欄でTCP/IPを選び、右側のアダプタ欄から使用中のNICを選びます。

4.ウィンドウ右側の『TCP遅延ACK』の値を2から1に変更します。

5.ウィンドウ下側の『設定反映』を選択しWindowsを再起動してください。

→設定が適用されます

6.念のため、tuneapp.exeを再度起動して『TCP遅延ACK』の値が1になっている事を確認してください。

 

こんなところかな!

実はまだまだたくさん設定できる個所はあるのですが、

ここだけ設定しておくだけで体感できるほどに違いはでるかと思います。

もっと!もっとだー!グヘッっていう人は私に直接聞いてくれれば教えます。

あっ、あと最後に言い忘れてましたが、

各種設定をしたあとは必ずOSを再起動してください。

設定が反映されません。

以上、回線のチューニング回でした!!