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

一个老话题, pppoe 的 mtu 值。

  •  
  •   LinKang777 · 108 天前 via iPhone · 2832 次点击
    这是一个创建于 108 天前的主题,其中的信息可能已经有所发展或是发生改变。
    广东山区电信,ros 路由拨号获取的公网 ip ,同一个 ac ,看过 mac 和名字都一样。获取到的 ip 有些默认 mtu 是 1480 ,有些是 1492 ,很奇怪。

    而且 1480 的 ip 明显延迟低 4ms

    所以不知道咋设置路由器的 mtu ,设置成 1480 还是?
    13 条回复    2024-01-11 19:46:38 +08:00
    yyysuo
        1
    yyysuo  
       108 天前
    op 是不是都不用考虑这种问题了,默认就带的,ros 这么牛逼,为什么不默认呢。
    datocp
        2
    datocp  
       108 天前
    这是个非常高深的问题,公说公有理,婆说婆有理,比如我搜索到的讨论结果是 1454 ,但实际在一些网件的路由根本无法设定。
    然后当年谈 mtu 主要是解决亚马逊英文站访问慢问题,但按 tplink 提供的文档就很 low 了,根据不同网站确认 mtu 根本无法做到。

    然后解决因为 mtu 访问网站慢,我的 openwrt 路由最终的设定是这样的。据说解决了 mtu 就能很大的解决因为分包重组而导致的网络呑吐。
    # iptables -t mangle -S
    -A FORWARD -o eth1 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
    -A FORWARD -i eth1 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
    LinKang777
        3
    LinKang777  
    OP
       108 天前 via iPhone
    YGBlvcAK
        4
    YGBlvcAK  
       108 天前
    爱快的 TCPMSS 之前默认是 1440 ,大概 1 年前改为 1400 了,应该是他们多年经验得出 1400 是最稳定的方案,我也就懒得折腾了,跟着大佬走肯定是最稳妥的
    LinKang777
        5
    LinKang777  
    OP
       108 天前 via iPhone
    可能说法不准确,active mtu ,应该翻译成什么?默认的?活动的?
    Oohuo
        6
    Oohuo  
       108 天前   ❤️ 1
    看了下城域网配置,对上互联是 4470 ,对下拨号是 1400
    mantouboji
        7
    mantouboji  
       108 天前
    标准以太网数据帧的 MTU 是 1500 ,PPPoE 的头占掉 8 个字节,所以一般情况下 PPPoE 链接的 MTU 是 1500—8=1492

    但是如果运营商内部有一些特殊路由,可能会在 1500 的基础上再占用一些,给到用户的 PPPoE MTU 自然就会更小。

    比如上海的电信宽带,普通 PPPoE 拨号得到的 MTU 是 1492 ,但是“精品网”账号得到的就要少 50 个字节。鬼知道干啥去了。

    从二十几年前有 ADSL 的时代,我们都是用 3 楼的方法解决的。

    对于 RouterOS 也是一样,

    /ip firewall mangle add action=change-mss chain=forward comment="Change MSS to PMTU" new-mss=clamp-to-pmtu passthrough=yes protocol=tcp tcp-flags=syn

    /ipv6 firewall mangle add action=change-mss chain=forward comment="Change MSS to PMTU, make HTTPS happy" new-mss=clamp-to-pmtu out-interface-list=WAN passthrough=yes protocol=tcp tcp-flags=syn
    Dzsss
        8
    Dzsss  
       108 天前
    Mikrotik 拨号上网如果不设置 MTU ,默认是获取最大的,电信可能是 1492 ,移动可能是 1480 。默认 MTU 和延迟无关,ping 包才 64 ,远远不及分包的阈值。

    Active MTU=当前 MTU ,
    比如线路最大是 1492 ,默认就是 1492 ,
    手动设置 1480 ,Active MTU 就是 1480 ,
    1400--1400
    1300--1300
    1600--1492

    1 楼是没用过 Mikrotik 的,使用快速设置会自动添加 mss 参数,正确配置 Mikrotik 网页秒开是最基本的。
    Bingchunmoli
        9
    Bingchunmoli  
       108 天前 via Android
    我是跟随光猫和硬路由默认设置都是 1492
    zhangsanfeng2012
        10
    zhangsanfeng2012  
       108 天前
    两次拨号路径不一样,所以延迟不一样,跟 mtu 没关系
    ppoozl
        11
    ppoozl  
       108 天前
    我这支持微巨帧,带 max-payload 拨号,MTU 可以给到 1976
    ppoozl
        12
    ppoozl  
       108 天前
    不过大于 1500 的 MTU 没意义,一般服务器那边标准 MTU 就是 1500 。pppoe 能到 1976 ,也只能到 BRAS 。再后面还是分包
    asdgsdg98
        13
    asdgsdg98  
       108 天前
    光猫默认 1492 ,要是这个数值有问题那运营商早就改了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2770 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:21 · PVG 23:21 · LAX 08:21 · JFK 11:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.