ゼロMTU(最大トランスユニット)のネットワーク上でデータを送信する
-
27-09-2019 - |
質問
データの断片化が無効になるようなデータを送信したいと思います。たとえば、Pingで、書く場合
ping localhost -M do -s 65507
-m do:断片化を無効にする-s 65507:最大パケットサイズ
それは私にのようなエラーを与えます
From localhost (127.0.0.1) icmp_seq=1 Frag needed and DF set (mtu = 16436)
これを行うか、他のソフトウェアを使用する他の方法はありますか。できればiperf。
解決
Dont Fragment(DF)フラグを探しているように聞こえます。パケットごとに設定されます IPヘッダーのフラグ. 。 DFセットを使用してMTUよりも大きい送信されるものはすべて、ICMPエラーメッセージが生成されます。 DFセットなしで、ルーターがフラグメントして送信する場合があります。 ICMPエラー(クレイジーな妄想的なファイアウォール)を食べるか、奇妙に動作する壊れたシステムがたくさんあります。
RFC791 IPデータグラムの断片化に関するルールの詳細を提供します。
典型的なMTUは1500バイトです。 IPv4の最小MTUは576ですが、IPv6の場合は1280です。ギガビットイーサネットおよびその他のリンクは、しばしばはるかに大きなMTUをサポートします。
他のヒント
イーサネットのMTUは、ヘッダーを含む1500バイトです。それを無視することはできません。断片化せずにその大きなパケットを送信する方法はありません。
所属していません StackOverflow