IPERF を使用して、ある PC から別の PC にパケットを送信しています。IPERF で MSS (Maximum Segment Size) をテストしているときに、次のことが観察されました。
MSS = 20 バイトのパケットを送信します。
iperf -c 192.168.1.98 -P 1 -i 5 -p 5001 -M 20 -m
上記のコマンドは、MSS = 20 バイト、
MTU = MSS + 40 バイト = 60 バイトのパケットを送信すると予想していましたが、IPERF は MSS = 36 バイト (MTU = 76 バイト) を示しています。
IPERF は常に、指定したサイズよりも 12 バイト小さいサイズの MSS を送信することがわかりました。
ここで、パケットを送信する PC は Linux マシンであり、これらのパケットを受信する PC は Windows マシンであることに注意してください。Linux では IPERF コマンドを使用してパケットを生成しますが、Windows では JPERF の照合が実行され、着信パケットに関する情報が表示されます。
もう 1 つの重要なことは、送信したパケットを受信した後の Windows マシン上の JPERF が次のように表示することです: MSS および MTU サイズが不明です (TCP_MAXSEG は OS でサポートされていませんか?)
MSSがどのように/なぜ減少するのか考えていますか?