Vai*_*pta 4 linux ubuntu networking tcp ipv4
我无法将大于1.2 kB的文件从我的系统(Ubuntu)上传到我的网站,但请求一直停滞不前。我以某种方式找到了此命令echo 2 > /proc/sys/net/ipv4/tcp_mtu_probing
,现在可以将任何大小的文件从桌面上传到我的网站。我不知道此命令的作用,为什么会这样。请帮助我确定此问题。
我echo 2 > /proc/sys/net/ipv4/tcp_mtu_probing在台式机上运行,但我没有更改服务器上的任何内容,它可以正常工作。
根据man 7 tcp:
tcp_mtu_probing(整数;默认值:0;从Linux 2.6.17开始):
此参数控制TCP分组化层路径MTU发现。可以将以下值分配给该文件:
0禁用
1默认情况下禁用,当检测到ICMP黑洞时启用
2始终启用,使用tcp_base_mss的初始MSS。
这意味着一旦启用,您的操作系统就会尝试使用路径MTU发现机制在客户端和服务器之间找到MTU 。在您的情况下,它可能会增加默认的MTU(在Linux上为1500),从而允许发送更大的数据包。
您可以通过运行ip a以下命令在界面上检查MTU :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN # <= here MTU is 16436 bytes
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
# below MTU is 1500 bytes
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:28:fd:4c brd ff:ff:ff:ff:ff:ff
inet 192.168.50.2/24 brd 192.168.50.255 scope global eth0
inet6 fe80::20c:29ff:fe28:fd4c/64 scope link
valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)
这是一个奇怪的行为,您无法传输文件,因为IP分段和TCP分段通常会在通过网络发送文件之前先对文件进行分块。也许您应该检查计算机上的默认分段/分段配置是什么。
| 归档时间: |
|
| 查看次数: |
8000 次 |
| 最近记录: |