(手順 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バイト)を引く必要がある。
「スタート→プログラム→アクセサリ→コマンドプロンプト」、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バイト)を引く必要がある。