multi path 一般怎么做,测试 TCP 基本惨不忍睹 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
nuk

multi path 一般怎么做,测试 TCP 基本惨不忍睹

  •  
  •   nuk 2023 年 8 月 12 日 1863 次点击
    这是一个创建于 987 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想做一个基于 multi path tcp 的东西,现在是基于 TAP 接口的。 因为想着二层可以偷懒不用重排。

    在内网测试 TCP 和 UDP 基本都能有 300Mbps 左右。 接着在公网测试,延迟 150ms ,UDP4 条流有 160Mbps 左右,TCP 大概只有几 Mbps

    不知道现在有没有现成的好用的 multi path tcp 的用户态实现,不是基于 UDP 的。

    目前只看到有个蓝灯的实现,里面多了重传和基于 RTT 的发送 https://github.com/getlantern/multipath

    第 1 条附言    2023 年 8 月 12 日
    写了个基于蓝灯的 multipath 的 tcp 代理,发现基本可以跑满速,结帖
    第 2 条附言    2023 年 8 月 12 日
    iperf 测试可以打到 400Mbps ,但是在上面的 tinc 隧道还是只能 70M ,不知道瓶颈在哪里。
    6 条回复    2023-08-13 15:05:02 +08:00
    pagxir
        1
    pagxir  
       2023 年 8 月 12 日 via Android
    用一下 bbr 吧。mptcp 不是这么用的
    deorth
        2
    deorth  
       2023 年 8 月 12 日 via Android
    有个 multipath quic 的 draft ,你可以找找有没有现成的实现
    nuk
        3
    nuk  
    OP
       2023 年 8 月 12 日
    @deorth 阿里有个 xquic 实现了,但是这个不是基于 TCP 连接的
    nuk
        4
    nuk  
    OP
       2023 年 8 月 12 日
    @pagxir 这个和 bbr 没关系吧,tcp 单条流最多 70M ,但是只要多条流就可以好几个 70M ,这种场景 bbr 也能加速?
    sofukwird
        5
    sofukwird  
       2023 年 8 月 13 日 via Android
    tinc 是只用单核的,所以瓶颈是在 tinc 这里
    你可以跑下 tinc 的 iperf 测试看看
    但话又说回来,就算 tinc 只能用单核在我电脑上也能和 wireguard-go 用多核的性能差不多
    nuk
        6
    nuk  
    OP
       2023 年 8 月 13 日   1
    @sofukwird tinc 跑了 iperf ,大概 500M 左右,wireguard-go 肯定比 tinc 高,因为我用的就是 wireguard-go ,从 windows 连接电信测速线速 1000M 能跑满。但是两个 wireguard-go 之间跑,大概也只能 500M 。
    tinc 我试过把加密直接用 memcpy 替换,还是只能 500M 左右,我估摸着是 tap 接口的限制。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2764 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 09:45 PVG 17:45 LAX 02:45 JFK 05:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86