SpeedGuide.net TCP/IP Analyzer ←現在の動作環境が表示できます。
5、MTU値のコマンドによるMTU値の確認方法◆ ソフトでの読み出しやレジトリで確認する方法もあるが、実際の通信状況で確認するのが確実なので、その方法を説明する。 ※ 基本的な考え方(参考) ・ネットワークの通信試験でもっともポピュラーなコマンドが、ping(Paket InterNet Groper)コマンドである。読み方はピングというのが一般的に浸透しているようだ。本来は、ping-pongをピンポンと呼ぶように、ピンと呼ぶのが正しいのだろうが・・・ ・ネットワーク機器は、pignコマンドに対して、ICMP(Internet Control Message Protocol)エコーを返すのがルールだが、多量のpingコマンドを送りつけ、応答処理のためにサーバの機能を麻痺させるping爆弾といういたずら防止のために、一部のサーバではソフト的に応答を停止している場合もあるので、下記のコマンドで、確認するには、まず、応答を返してくれるサーバであることを確認してから行う。 ・ping コマンドをオプションを省略して行うと、MTU値がどうなっていてもフラングメント処理により、サーバが応答すれば正常に結果が表示される。 ・ping コマンドでは、送信するデータサイズの指定は実際のデータ部のサイズで行うが、実際には処理には、IPヘッダ部(20バイト)とTCP(ICMP)ヘッダ部(8バイト)が必要なので、MTU値が、1500バイトで設定されている場合にフラグメント(データサイズが指定した入れ物より大きいため、分割して通信する処理)の発生なしに通信できるサイズを指定するためには、MTU値から28バイトを引いた値を設定する。 なお、TCPヘッダは通常は40バイトで計算するので、IPヘッダとの合計は40バイトだが、PingコマンドではTCP(ICMP)ヘッダ部が8バイトなので、合計28バイトで計算する。 ※ ヒント 下記の操作で、設定した値でうまく動作していることも確認できます(最後の「参考」を参照)。 ■ MTU値が、1500バイトとなっていることを確認する場合の操作例 ・pingコマンドに、分割処理禁止の指定(オプション -f) と データサイズ指定(オプション -l 1472)、1500-28=1472、フレッツADSLでは、1454-28=1426 ・指定はすべて半角で、コマンドは半角の空白で区切ります。例 データサイズ指定 -l (1ではなくLである)の後に半角にスペースを入れて、データサイズを指定する) @ コマンドプロンプトを呼び出す(スタートメニューの中から呼び出してもよいがここでは直接呼び出している)。 A Windows2000では、CMDでも構わない(commandではよい)。 ・他のWindows B サーバが応答するかどうかを確認している。ここでは、www.ocn.ne.jp を指定しているが、www.yahoo.co.jp でもIPアドレスを直接指定してもよい。 ・下図では、www.ocn.ne.jpをDNSサーバへ問い合わせて、実際のネットワーク上のアドレス(IPアドレス)210.190.142.135 のサーバに対して、レスポンス要求を4回返すように処理が行われ、結果として、32バイトのデータを送り、210.190.142.135から40ms(msは、1/1000秒の単位)のReply(返事) があったということである。 ・最後のTTL(Time To Live)は、このコマンド(パケット)の有効期間を表すもので最初は255の値がセットされて送りだされる。ネットワークではルータやサーバなどの機器がバケツリレーのようにデータ(パケット)を中継して通信する。この中継毎にTTLの値は減っていく仕組みになっており、下図では240にまで減算されている。つまり、それだけ、経由して応答が返ってきたということだ。万が一、ネットワークがループ上になっていつまでも、パケットがネットワーク上をさ迷うな状態になっても、TTL値が減っていくので、値が0になった時点でパケットは消滅する仕組みになっている。この仕組みのおかげでネットワーク上を無駄なパケットが延々とさ迷うことを防げるが、距離が遠くて中継が255を超えるような相手にはパケットが到達できない恐れもある。このような特殊な場合には、-i オプションでTTL値を多く設定も可能である。
C www.ocn.ne.jpサーバに対して、データサイズを超えても分割処理を行わないで、指定したデータサイズで試験を行った結果である。 ・1500-8-20=1472 を指定して、正常に応答が返っているため、MTU値は1500以上で動作していることが確認できた。
D こんどは、データサイズを1バイト増やして、1473 で試験してみると、「パケットは分割する必要がありますが、分割禁止の指定がされています」というメッセージが表示されて、4回送信した結果、受信できなかったことを示してします。 ・すなわち、MTU値は、1500で動作していることが確認できました。 ・フレッツADSLでは、-f -l 1426で正常で、-f -l 1427でエラーになれば、MTU値は正常な1454に設定されていることが確認できます。 参考
|