WINSの中心で『先生!』と叫ぶ

ゴール前の鞍上に『先生!』と叫んで最後の一押しをする、それが至福の時・・・。

コマンドプロンプトからMTU最適値を求める

2007年01月04日 14時09分45秒 | PC
(手順 1)
「スタート→プログラム→アクセサリ→コマンドプロンプト」、DOS画面が開いたら、
 ping -f -l xxxx www.goo.ne.jp
  (xxxxは「1500」以下の数値、「www.goo.ne.jp」のところは任意のアドレスで良い)
と入力し、Enter。
数値を小さくして行き、「Packet needs to be fragmented but DF set.」が表示されなくなった時のxxxxを覚えておく。

(手順 2)
先程覚えておいたxxxxに「28」を足したものがMTU最適値。
 例:xxxxが「1426」だった場合 → 1426 + 28 = “1454”

(「28」を足す理由)
実際のMTUの値は、pingコマンドを使った場合のヘッダー部分のデータ量を足した値になる。
pingコマンドでは、ICMP(Internet Control Message Protocol)というプロトコルを使ってデータを送るが、この時、パケットの先頭(ヘッダー)に28バイト分の情報を足している。
従って、MTUの最適値とは、「パケットが断片化しないギリギリの数字(=xxxx)+28」となる。


このMTU最適値から「40」を引いたものを「MSS」という。
 例:MTU最適値が「1454」だった場合 → 1454 - 40 = “1414”

(「40」を引く理由)
パケットには「TCPヘッダー」「IPヘッダー」と呼ばれる制御情報があり、それぞれが20バイトずつある。その為、MTU値からその2つ(40バイト)を引く必要がある。


最新の画像もっと見る