Linux で実行されているコントローラー (サーバー) にデータをアップロードするウィンドウで実行されているソフトウェア (クライアント) の問題を調査しています。1024
ソフトウェアは一度にバイトをアップロードし、アプリケーション層を待ちますACK
( send and wait
)。ただし、モデムを介してファイルをアップロードすると、TCP packets
フラグメント化されるため、一部のお客様はいくつかの問題に遭遇しています。モデムなしで同じ動作を再現しようとしています。MTU
次を使用して、コントローラーの を 500 に設定してみました。
ifconfig eth0 mtu 500 up
しかし、それはパケットの断片化を強制しませんでした (wireshark で観察)。MTU
を使用してウィンドウ内を設定すると、同じことが起こります
netsh interface ipv4 set subinterface <my_interface> mtu=500 store=persistent
正しいインターフェイスを選択していると確信しています。MTU を変更しても効果がない理由は何ですか?
編集: Windows で MTU 検出を実行すると、次のようになります。
MTU path scan to 172.20.35.101, ttl=64, limit=48
# 16 processing - best MSS 1472 (estimated MTU 1500) [pPPPPpPppPpppppp]
#1 MSS IN RANGE 1 <== 1471 ==> 1472
#2 MSS EXCEEDED 1473 <== 14911 ==> 16384
ただし、コントローラの ifconfig は MTU が 576 であることを示しています。
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 30:18:CF:00:10:CC
inet addr:172.20.35.101 Bcast:172.20.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:576 Metric:1
RX packets:5281739 errors:1 dropped:0 overruns:0 frame:1
TX packets:184845 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:378840649 (361.2 MiB) TX bytes:19017453 (18.1 MiB)