1

我正在调查在寡妇上运行的软件(客户端)的问题,该软件(客户端)将数据上传到在 Linux 上运行的控制器(服务器)。软件一次上传1024字节,并等待应用层ACKsend and wait)。但是,一些客户在通过调制解调器上传文件时遇到了一些问题,因为TCP packets会出现碎片。我试图在没有调制解调器的情况下重现相同的行为。我尝试MTU使用以下方法将控制器的设置为 500:

ifconfig eth0 mtu 500 up

但这并没有强制数据包碎片化(在wireshark中观察到)。当我MTU使用设置 in windows时也会发生同样的情况

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)
4

0 回答 0