- 締切済み
コマンド画面の説明を
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- asciiz
- ベストアンサー率70% (6803/9674)
>わかりやすく説明していただける方はおりますでしょうか? そもそも何のために1460バイトのPINGパケットを飛ばそうとしているのでしょうか? まずpingコマンドにつけられているオプションより、 >-l サイズ 送信バッファーのサイズです。 >-f パケット内の Don't Fragment フラグを設定します (IPv4 のみ)。 ということですから、pingパケットを1460バイトで送信する、このパケットは分割するな(Don't Fragment=DF)、という指定で、pingテストをしていることになります。 しかし、あなたのルータまたはワイヤレスアダプタのMTU設定(Maximum Transmission Unit、ユニット(パケット)最大転送長)は1,460バイト未満である、ということが、そのメッセージより見て取れます。 通常のネットワーク送受信では、MTUの小さいネットワークがあった場合、そこで自動的にパケットを分割して、送信します。多少転送効率は落ちますが、通信できないわけではありません。 しかしここで、DF(Don't Fragment)指定があると、パケットを分割するな、と言うわけですので、「それじゃあ通信できません」と経路側でエラーになってしまいます。 それが「パケットの断片化が必要ですが、DF が設定されています」の意味です。 pingテストで相手に到達する前に、エラーになってしまいますから、エコーのパケットも返ってこず、pingテストは100%失敗となってしまいます。 ---- このメッセージを見て、あなたはどうしたいですか。 どうしても1460バイトまでのパケットを飛ばしたいなら、ルータおよびワイヤレスLANの、MTU値を1460以上に設定してください。 ただし無線LANネットワークにおいてMTU値を大きくしすぎた場合、特定端末が長時間(といってもミリ秒単位ですけど)電波を占有するため、パケット送信待ちの時間が長くなり、かえって転送効率が落ちるかもしれません。 むやみに大きければ良いわけでもないのが、ネットワーク調整の難しいところ。 >コリジョンとは >http://itpro.nikkeibp.co.jp/article/Keyword/20130909/503384/ >一方、無線LANでは「CSMA/CA」という仕組みで衝突を防ぐ。(中略) >フレームを送る前にほかに通信中の機器がないかをチェックする。 >通信中であれば待機し、通信中でなければ待ち時間の後にデータを送信する。 別にそんなこだわりがなければ、何も変更する必要はありません。そのまま使って構わないでしょう。 そこまでこだわる人が、-f -l オプションでMTU最適値を探し出し、ルータやネットワークアダプタの設定をいじったりするわけです。 最適値が見つけられれば、数%~10%程度、転送速度が上がる可能性があります。(←このメリットだけのために苦労できますか?) (参考ページ等) >第10回 IPパケットの構造とIPフラグメンテーション (1/3) >http://www.atmarkit.co.jp/ait/articles/0304/04/news001.html >pingでMTUサイズを調査する >http://www.atmarkit.co.jp/fwin2k/win2ktips/652pingmtu/pingmtu.html
- mshr1962
- ベストアンサー率39% (7417/18945)
下記のURLを参照してください。 MTUを調べる方法 PS3やスマートフォンでも調べられます。 http://www.akakagemaru.info/port/network-mtu.html ↑は、ネットワーク接続が不安定な環境の調査の一つの結果みたいですね。 断片化しないMTU値を確認して、上限を設定することで高速安定化させる方法のようです。 Windows MTU 最適値を設定して通信速度を上げたりPINGを安定させる http://blog.livedoor.jp/naka_tyaso/archives/51971407.html