V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rv54ntjwfm3ug8
V2EX  ›  宽带症候群

请问如何计算 MTU?

  •  
  •   rv54ntjwfm3ug8 · 2021-05-08 13:05:44 +08:00 via iPhone · 3745 次点击
    这是一个创建于 1282 天前的主题,其中的信息可能已经有所发展或是发生改变。
    没学过计网。家里用了 4 个路由器(光猫+交换机+无线路由器+树莓派 4 旁路由) SSH 断流一直很严重,看起来像 MTU 的问题,但 ping 命令指定包大小好像没什么问题,找了几个计算工具都不会用,尝试直接把路由器 MTU 改小,断流现象更严重了。
    11 条回复    2021-05-11 09:04:57 +08:00
    Tengwait
        1
    Tengwait  
       2021-05-08 14:01:39 +08:00
    其实没什么所谓,光猫的 MTU 肯定是有设置的,你的包到了光猫的时候就被分片了,只要你的 MSS 的大小不大于光猫的 MTU 就好,至于 SSH 断流,可能是你走公网访问的时候有丢包,大概率你的服务器是海外的吧
    dier
        2
    dier  
       2021-05-08 14:03:08 +08:00
    抓包看,如果发送的数据字节超过指定大小,数据在传输的时候会分片传输
    dier
        3
    dier  
       2021-05-08 14:04:20 +08:00
    不过我觉得断流的问题跟 MTU 的关系不大,应该还是跟服务器之间网络的问题
    jasonyang9
        4
    jasonyang9  
       2021-05-08 14:19:37 +08:00
    以下自己现学的。

    MTU 指 2 个节点之间,数据链路层的最大传输单元,PMTU 是完整路径上的最大数据单元,取决于其中最小的那个 MTU 。

    自动分段在一些情况下是做不到的。

    PMTU 的自动检测依赖 ICMP 某个包,但由于大部分网络设备屏蔽了 ICMP,导致 PMTU 自动检测无法进行。

    上面说的 MSS 是 TCP 的最大段大小,可以在路由器上钳制( TCP MSS clamping ),这样一来只要是 TCP 数据包,都会由于 MSS 的设定而将 MTU 也限制在合理范围内。
    geekvcn
        5
    geekvcn  
       2021-05-08 15:56:21 +08:00 via iPhone
    光猫桥接 MTU 1500,光猫拨号 1500-8 1492,光猫桥接路由器拨号 1492,大多数主流系统默认值 1500 。所以如果不是什么非主流运营商最佳 mtu 是 1492,最佳保守值是 1480
    cwbsw
        6
    cwbsw  
       2021-05-08 16:19:51 +08:00
    建议往其它方向寻找原因。
    或者你应该详细描述你的症状,这样网友才能帮你云诊断。
    dotiean
        7
    dotiean  
       2021-05-08 21:02:23 +08:00 via iPhone
    AllenHua
        8
    AllenHua  
       2021-05-09 06:16:18 +08:00 via iPhone
    @dotiean #7 山上的笋被你夺🥣了
    sherlock1122
        9
    sherlock1122  
       2021-05-09 20:39:59 +08:00
    `netstat -i` 可以查看各个 port 的 MTU 。
    MTU 一般是 1500.
    有效数据长度一般是 1500 - 20 ( tcp) - 20(ip) -12 (timestamp) = 1448B
    wireshark 抓包可以看一下。
    sherlock1122
        10
    sherlock1122  
       2021-05-09 20:42:58 +08:00
    MTU 一般只会影响延迟,丢包不太会。
    最近发现 Intel 的 10G 网卡在 3 到 4 个包左右,也就是 4344B 和 4345B 的不同负载下,scatter-gather io 有比较大的延迟,正在苦逼的分析代码中。
    doveyoung
        11
    doveyoung  
       2021-05-11 09:04:57 +08:00
    用 ping 去猜,然后设置,一般不会是 MTU 的问题
    windows
    ping -l 1472 -f 1.1.1.1

    linux
    ping -s 1472 -M do 1.1.1.1

    macOS
    ping -D -s 1472 1.1.1.1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2661 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:34 · PVG 14:34 · LAX 22:34 · JFK 01:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.