在Linux或Windows中更改MTU无效
我正在调查widows上运行的软件(客户端)的一个问题,该软件将数据上传到linux上运行的控制器(服务器)。软件一次上载在Linux或Windows中更改MTU无效,linux,windows,tcp,mtu,Linux,Windows,Tcp,Mtu,我正在调查widows上运行的软件(客户端)的一个问题,该软件将数据上传到linux上运行的控制器(服务器)。软件一次上载1024字节,并等待应用层ACK(send and wait)。然而,一些客户在通过调制解调器上传文件时遇到了一些问题,因为TCP数据包变得支离破碎。我试图在没有调制解调器的情况下重现同样的行为。我尝试使用以下方法将控制器的MTU设置为500: ifconfig eth0 mtu 500 up 但这并没有迫使数据包变得支离破碎(在wireshark中观察到)。当我在wind
1024
字节,并等待应用层ACK
(send and wait
)。然而,一些客户在通过调制解调器上传文件时遇到了一些问题,因为TCP数据包
变得支离破碎。我试图在没有调制解调器的情况下重现同样的行为。我尝试使用以下方法将控制器的MTU设置为500:
ifconfig eth0 mtu 500 up
但这并没有迫使数据包变得支离破碎(在wireshark中观察到)。当我在windows中使用
netsh interface ipv4 set subinterface <my_interface> mtu=500 store=persistent
我认为您需要在网络交换机上进行此更改,而不是在机器上进行此更改。@HarryJohnston实际上,我认为
Wireshark
只会在数据包被NIC分割之前显示数据包,如下所述:
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 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)