問題タブ [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.

0 投票する
2 に答える
1510 参照

c - NETLINK_ROUTEオプションを介してNetlinkソケットを介して特定のインターフェイス(eth0またはeth1)のMTUサイズを設定できません

特定のインターフェイス(たとえばeth0またはeth1)のMTUサイズを1100に設定するプログラムを作成しました。また、リクエストメッセージは、オプションを介してNetlinkソケットを使用してユーザースペースから送信されNETLINK_ROUTEます。

メッセージはユーザースペースから正常に送信されますが、を確認したところifconfig eth0、MTUサイズはまだ古い値(1500)を示しています。正しく確認していますか?また、カーネルがMTUサイズを正しく設定しているかどうかをどのように知ることができますか?以下の私のプログラムを見つけて、間違っている場合は修正してください。

0 投票する
3 に答える
3850 参照

c++ - C++でプログラムでMTUを決定するにはどうすればよいですか。

複数のUDPパケットで大きなデータをクライアントに送信する必要があるアプリケーションで作業していますが、UDPソケットのMTUをプログラムで決定するにはどうすればよいですか?

WindowsとLinuxの両方でこれを実行できる必要があります。

0 投票する
0 に答える
452 参照

http - 正確に 3 つのイーサネット フレームの後で HTTP 接続が停止するのはなぜですか?

接続が停止する前に、ヘッダーを含めて HTTP 経由で正確に 4380 バイトを送信するアプリケーションを見ています。4380 は、1500 バイトのイーサネット フレームの最大セグメント サイズのちょうど 3 倍です (1500 バイトから TCP/IP ヘッダーの 40 バイトを引いて 3 を掛けます)。

接続は開いたままのようです。データが受信されていないだけです。

正確に 3 つのイーサネット フレームの後で停止するのはなぜですか? 理由をどこから探し始めるべきですか?

0 投票する
1 に答える
2438 参照

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転送と何の関係がありますか?何らかの理由でイーサネットトラフィックを確認するのは、単なるループバックアドレスではありませんか?

0 投票する
4 に答える
8439 参照

python - コードを介してネットワークのMTU値を見つける方法(Python)?

Pythonでudpプロトコルを使用してデータを送信する必要があるコードを作成する必要があります。パケットサイズをネットワークのMTU値に設定する必要があります。Pythonでコードを記述しているネットワークのMTU値を決定する方法はありますか?

0 投票する
1 に答える
2857 参照

android - Android TCP /IPMTUのビルド時構成

実行時にMTUを読み取って設定することが可能であることを私は知っています。

これには、電話を再起動した後、このように設定されたMTUが保持されないという問題があります。

では、Android Open Source Projectソースを使用して独自のビルドを構築するときに、インターフェイスのデフォルトMTUを構成するにはどうすればよいですか?

これについてはどこにも言及されていないようで、greppingコードは役に立たないようです。また、これが行われるデフォルトのLinuxカーネル構成ファイルはAndroidには存在しないようです。

これを行う方法は確かにあるはずですよね?

0 投票する
1 に答える
4212 参照

command-line - コマンドラインから Win XP で MTU を設定する

コマンドラインから MTU を設定したい。私はXPで実行しています。

私はもう試した:

netsh interface ipv4 set サブインターフェイス "ローカル エリア接続" mtu=1300 store=persistent

しかし、それは機能していません。

「ipv4」を「ip」に変更しようとしましたが、役に立ちませんでした。トークン「サブインターフェース」が認識されません。

何か案は?

前もって感謝します。

0 投票する
2 に答える
1510 参照

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 タグによるものではありません

説明はありますか?