速度向上のために


通信速度向上のための方法を紹介します。


1.通信設定パラメータの変更

①TCP/IPの基礎知識

LANやWANなどのネットワークを構築する時はTCP/IPと呼ばれるプロトコル(コンピューター同士がデータをやり取りするときに必要な約束)が使用されます。このプロトコルはは1本の回線の中を、多くのその回線利用者の通信データをパケットという単位に分割して通信する方式です。携帯電話のメールなどもこのパケット方式を利用しており、よくパケ代という言葉も使われます。パケットには通信を正しく行うために決まった量のヘッダやフッタ(通信制御用の付加情報)が付加されるため、実際のデータ量よりも大きくなってしまいます。パケットごとにヘッダやフッタが付加されるということは、パケット数が増えるほど、実際のデータ以外の情報が増えることを意味しています。つまり、簡単に言ってしまえば、同じデータを伝送するならパケット数はなるべく少ない方が良いのです。


このプロトコルの中には様々な設定値があります。特に重要なものに、MTUとRWINと呼ばれるものがあります。これらはパケットをやりとりする際に重要な役割を果たしています。これら通信のデータ転送に最適な状態に設定しなおしてやることにより、パケット数を減らして、無駄の無いスムーズなやりとりが可能になります。

②MTUとは
  MTUとはMax Transfer Unitの略で、パケットサイズの上限を決めるパラメータのことです。上の説明だけでは、一見パケットサイズは大きいほど無駄が減って良いようにも思えますが、あまり大きくしすぎてしまうと、細かなデータをたくさんやりとりする場合(たとえば、細かな画像がたくさんあるホームページを閲覧する場合など)に効率が悪くなるという結果を招いてしまいます。MTUの大きさは、利用するネットワーク環境に応じて最も適切なものを設定してあげることによって、データの転送がスムーズに行われるようになるのです。しかし残念ながら、WindowsはデフォルトではこのMTU値の設定がブロードバンド環境に最適な設定とは言えない状態になっています。そこで、このMTUの値を調整して単位パケットあたりのサイズを最適化し、データ転送の効率を高めてやることが速度向上のポイントとなるのです。

③RWINとは
TCP/IPプロトコルは、送信側と受信側のコンピューターがお互いデーターの送信、受信をしながらデーターを送ります。データーを送った場合、ある一定間隔毎に受信側のコンピューターは受け取ったことを送信側に報告をします。RWINはこの、受信側のコンピューターが送信側に送る応答の間隔になります。RWINが64KBであれば、最初の64KBで応答を返し、次の128KBで2回目の応答を返します。つまり、RWIN値を大きくするとデータ、コンピュータ同士の応答が発生が少なくなり、送受完了までの時間が短くなります。しかし、あまり大きすぎると、間違ったデータが流れてきた際に、再送信にかかる時間が長くなってしまい、通信速度が遅くなってしまいます。ただし、経験上、Windows 95/98のデフォルトのRWINの値は小さすぎるといわれており、手動でRWINの値を書き換えるツールなどを使用して通信速度を上げる方がよアップさせる方よいでしょう。



2.MTUとRWINの最適値を求める

 

①最適なMTU値の求め方 

  MTU値は、コマンドプロンプト(Windows2000の場合はコマンドプロンプト)からpingコマンドを用いて行います。Windows xpの方は、スタート→プログラム→アクセサリー→コマンドプロンプト になります。

  コマンドプロンプトに下の図のように、「ping -f -l 1400 61.58.39.147」と入力してみてください。次の様な画面が現れます。

「Reply from xxxxxx」

上記のように表示されない場合は1400の数字の部分をな小さい値に変えて試してみてください。例えば1300や1350等という風に。



ここで使用したpingコマンドの内容は、「ping -f(パケットの断片化を認めないようにするオプション) -l(パケットサイズを指定するオプション) [パケットサイズ] [相手のアドレス]」というようになっています。上記の場合、1400バイトのパケットを61.58.39.147のコンピューター送り、相手からの応答を受信するまでの時間を測定しています。次に、サイズが1450バイトのパケットを送信してみます。



このような画面が表示されたでしょうか?もし表示されない場合はパケットサイズを15000や1600など、表示されるまで適当にパケットサイズを大きくして試してみてください。
  上記の画面をみるとわかりますが、先ほどと違い

「Packet needs to be fragmented but df set」

と表示されています。
これはパケットサイズを大きくしすぎた為にパケットが断片化してしまったのです。

MTUの最適値はこの「パケットが断片化するパケットサイズの直前の値+28」の値なのです。つまり言いかえれば、『パケットが断片化しない最大のパケットサイズ+28』ということになります。ここで説明したpingコマンドを使って送信するパケットのサイズをいろいろと変化させながら、パケットが断片化しない最大の値を探してください。余談ですが、28という数値はpingコマンドを実行する時に付け加えられるヘッダのサイズとなります。

これでMTUの値が算出されました。
パケットが断片化する前の直前の数値 + 28 となります。

②RWINの最適値を算出
  インターネットに最適なRWINの値は、先ほど求めたMTUの値から計算で求めることができます。

 上記で求めた最適MTUからRWINを算出します
最適RWIN値=「(MTU値 - 40 ) × 10 ~ 200」
です。 幅が有りますが、何回も設定を変更して最適値を調査します。


3.設定をする

MTUとRWINを求めたら、設定をしましょう。
パラメータはレジストリに記録されているので、値を変える時には間違いの無いように注意深い作業が必要です。簡単にレジストリ値を変更できるツールを紹介しますので、こちらを利用して変更するのが確実です。自動で適切なMTU値とRWIN値を見つけることも出来ます。

EditMTU(フリーツール)

 


モバイル版ZEROスピードテスト

携帯版インターネットの回線速度を手軽に測定できます。

ZEROスピードテストモバイル版QRコード

http://zero-tools.com/speed/m/