【问题标题】:echo 2 > /proc/sys/net/ipv4/tcp_mtu_probing able to resolve my issue but why ? What this command does?echo 2 > /proc/sys/net/ipv4/tcp_mtu_probing 能够解决我的问题,但为什么?这个命令有什么作用?
【发布时间】:2016-09-24 02:22:30
【问题描述】:

我无法从我的系统 (Ubuntu) 请求将大于 1.2 kB 的文件上传到我的网站,只是一直停滞不前。比不知何故我找到了这个命令echo 2 > /proc/sys/net/ipv4/tcp_mtu_probing 现在我可以将任何大小的文件从我的桌面上传到我的网站。 我不知道这个命令做了什么,为什么会这样。请帮我找出这个问题。

我在我的桌面上运行了echo 2 > /proc/sys/net/ipv4/tcp_mtu_probing,它运行正常我没有在服务器上进行任何更改。

【问题讨论】:

    标签: linux ubuntu networking tcp ipv4


    【解决方案1】:

    根据man 7 tcp

    tcp_mtu_probing(整数;默认值:0;自 Linux 2.6.17 起):

    此参数控制 TCP 分组层路径 MTU 发现。 可以为文件分配以下值:

    0 禁用

    1默认禁用,检测到ICMP黑洞时启用

    2 始终启用,使用 tcp_base_mss 的初始 MSS。

    这意味着一旦启用,您的操作系统会尝试使用Path MTU discovery 机制在客户端和服务器之间查找 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
    

    这是一种奇怪的行为,您无法传输文件,因为 IP 分段和 TCP 分段通常会在通过网络发送文件之前对文件进行分块。也许你应该检查一下你机器上的默认碎片/分段配置是什么。

    【讨论】:

    • 感谢您的帮助。你能帮我解释一下为什么我首先需要这个命令,而我之前也完全能够上传大文件。
    • 这可能是由于几个参数。你的问题没有一个答案。也许默认的 MTU 很好,并且到您的服务器的路由发生了变化,并且其中一个路由器现在丢弃大小高于其 MTU 的数据包,而不是对它们进行分段,因为设置了位 DF(不要分段)。你应该看看你的系统设置(/proc/sys/net/ipv4/ 文件夹开始)并使用traceroute 了解两个端点之间发生了什么。
    • 感谢您的帮助。最后我发现一个修复不知道它会工作多长时间。 ubuntu 14.04 中存在一个错误,它在我的情况下将 MTU 设置得非常高,约为 9000。我已将 MTU 改回 1200,现在一切正常。
    猜你喜欢
    • 2019-08-02
    • 1970-01-01
    • 2021-04-09
    • 2013-02-03
    • 2022-07-27
    • 1970-01-01
    • 2022-11-30
    • 2018-01-25
    • 2021-05-25
    相关资源
    最近更新 更多