問題タブ [mtu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - NETLINK_ROUTEオプションを介してNetlinkソケットを介して特定のインターフェイス(eth0またはeth1)のMTUサイズを設定できません
特定のインターフェイス(たとえばeth0
またはeth1
)のMTUサイズを1100に設定するプログラムを作成しました。また、リクエストメッセージは、オプションを介してNetlinkソケットを使用してユーザースペースから送信されNETLINK_ROUTE
ます。
メッセージはユーザースペースから正常に送信されますが、を確認したところifconfig eth0
、MTUサイズはまだ古い値(1500)を示しています。正しく確認していますか?また、カーネルがMTUサイズを正しく設定しているかどうかをどのように知ることができますか?以下の私のプログラムを見つけて、間違っている場合は修正してください。
c++ - C++でプログラムでMTUを決定するにはどうすればよいですか。
複数のUDPパケットで大きなデータをクライアントに送信する必要があるアプリケーションで作業していますが、UDPソケットのMTUをプログラムで決定するにはどうすればよいですか?
WindowsとLinuxの両方でこれを実行できる必要があります。
http - 正確に 3 つのイーサネット フレームの後で HTTP 接続が停止するのはなぜですか?
接続が停止する前に、ヘッダーを含めて HTTP 経由で正確に 4380 バイトを送信するアプリケーションを見ています。4380 は、1500 バイトのイーサネット フレームの最大セグメント サイズのちょうど 3 倍です (1500 バイトから TCP/IP ヘッダーの 40 バイトを引いて 3 を掛けます)。
接続は開いたままのようです。データが受信されていないだけです。
正確に 3 つのイーサネット フレームの後で停止するのはなぜですか? 理由をどこから探し始めるべきですか?
tcp - loの64kmTUの利点は?
Linuxカーネルでこのコミットを見て、混乱しました。
16436バイトのループバック電流mtuは、フレームあたり3つ以下のMSS TCPセグメント、つまり48Kバイトを許可します。mtuを64Kに変更すると、TCPスタックが大きなフレームを構築できるようになり、スタックのオーバーヘッドが大幅に削減されます。
バルクTCP転送のパフォーマンスが最大30%向上する可能性があります。これは、2つの64KBセグメントに対して1つのACKメッセージがあり、/ proc / sys / net / ipv4/tcp_reorderingのデフォルト制限に達する可能性が低いためです。
loはTCP転送と何の関係がありますか?何らかの理由でイーサネットトラフィックを確認するのは、単なるループバックアドレスではありませんか?
python - コードを介してネットワークのMTU値を見つける方法(Python)?
Pythonでudpプロトコルを使用してデータを送信する必要があるコードを作成する必要があります。パケットサイズをネットワークのMTU値に設定する必要があります。Pythonでコードを記述しているネットワークのMTU値を決定する方法はありますか?
android - Android TCP /IPMTUのビルド時構成
実行時にMTUを読み取って設定することが可能であることを私は知っています。
これには、電話を再起動した後、このように設定されたMTUが保持されないという問題があります。
では、Android Open Source Projectソースを使用して独自のビルドを構築するときに、インターフェイスのデフォルトMTUを構成するにはどうすればよいですか?
これについてはどこにも言及されていないようで、greppingコードは役に立たないようです。また、これが行われるデフォルトのLinuxカーネル構成ファイルはAndroidには存在しないようです。
これを行う方法は確かにあるはずですよね?
command-line - コマンドラインから Win XP で MTU を設定する
コマンドラインから MTU を設定したい。私はXPで実行しています。
私はもう試した:
netsh interface ipv4 set サブインターフェイス "ローカル エリア接続" mtu=1300 store=persistent
しかし、それは機能していません。
「ipv4」を「ip」に変更しようとしましたが、役に立ちませんでした。トークン「サブインターフェース」が認識されません。
何か案は?
前もって感謝します。
c++ - Raw Socket は 1504 バイトを受信します (MTU = 1500)
私のアプリケーションでは、次の命令で raw ソケット (LINUX カーネル 3.8.5) を開きます。
すべて正常に動作しています。受信して別のインターフェイスに送信できます。しかし、ある時は
そのソケットでは、1518 (1504 ペイロード バイト + 14 ETH_HLEN) が返されます。
この 1518 バイトのバッファを送信しようとすると、命令が
EMSGSIZE (メッセージが長すぎます) を返します。
私の NIC インターフェイスでは MTU が 1500 であるため、::recvfrom で最大 1514 (ペイロード + ETH_HLEN) バイトが取得されると予想されることに注意してください。
ethtype は 0x0800 であるため、vlan タグ付きフレームではないため、これらの 4 バイトの「余分な」は vlan タグによるものではありません
説明はありますか?