zander
V2EX  ›  互联网

Google 发布了 BBR 第一个公测版,类似 zetatcp, 锐速等。

  •  
  •   zander · Oct 18, 2016 · 16383 views
    This topic created in 3521 days ago, the information mentioned may be changed or developed.

    This commit implements a new TCP congestion control algorithm: BBR (Bottleneck Bandwidth and RTT)

    有兴趣的可以试试。

    https://github.com/google/bbr

    30 replies    2017-01-18 09:57:01 +08:00
    shinko
        1
    shinko  
       Oct 18, 2016
    This is not an official Google product.
    Showfom
        2
    Showfom  
    PRO
       Oct 18, 2016 via iPhone
    @shinko 为啥
    ivanlw
        3
    ivanlw  
       Oct 18, 2016
    @Showfom README 写的
    laincat
        4
    laincat  
       Oct 18, 2016
    这个好像很厉害。。。
    cxlxkin
        5
    cxlxkin  
       Oct 18, 2016
    google 也来单边加速插一脚?感谢楼主让我获得这个消息
    GPU
        6
    GPU  
       Oct 18, 2016
    Google 员工闲得蛋疼弄出来的?
    zander
        8
    zander  
    OP
       Oct 18, 2016
    @GPU TCP 太烂人神共愤吧。
    est
        9
    est  
       Oct 18, 2016
    我告诉你们一个比 zetatcp, finalspeed, kuntcp, spdy 快 n 倍的东西: UDP 。
    czkwg8
        10
    czkwg8  
       Oct 18, 2016 via Android
    @est 有些运营商\网络环境给你砍得生活不能自理
    ehs2013
        11
    ehs2013  
       Oct 18, 2016
    @est UDP 限速,你再快也没用
    est
        13
    est  
       Oct 18, 2016   ❤️ 2
    @ehs2013
    @czkwg8

    把 protocol number 强行改成 tcp 的即可。
    redsonic
        14
    redsonic  
       Oct 18, 2016
    不管什么样的叉子都无法解决蛋糕太少的问题, 只会使一部分人先吃到蛋糕而已。
    zander
        16
    zander  
    OP
       Dec 9, 2016   ❤️ 1
    la0wei
        17
    la0wei  
       Dec 10, 2016
    @est 改 protocal number 是什么技能? 17->6?
    est
        18
    est  
       Dec 11, 2016
    @la0wei 差不多。表示自己撸了一个 socks5 over RST 。
    la0wei
        19
    la0wei  
       Dec 12, 2016
    @est 表示每个词都看懂,但是……
    srrshweee
        20
    srrshweee  
       Dec 15, 2016
    额。。。我在 ramnode 和 indovirtue 的 vps 上面都测试了,不如速锐。甚至不如默认的算法
    zander
        21
    zander  
    OP
       Dec 15, 2016
    @srrshweee 没有最好的,只有最适合的。
    liwei
        22
    liwei  
       Dec 19, 2016   ❤️ 1
    @est 我试了一下直接改 IP 头 protocol number 的方法,在我这里是不行的,貌似会被运营商的转发设备丢弃,因此只好使用在 UDP 头前面加上一个 fake TCP 头的方法(并且 TCP 头部里面的一些 flags 需要合适,例如带 SYN 标志的都可以转发,而单独的 RST 标志的数据包会被丢弃),想请教一下您是如何实现的?
    est
        23
    est  
       Dec 19, 2016
    @liwei 我这里没有屏蔽 udp 。

    单独的 rst 会丢包?牛逼。
    est
        24
    est  
       Dec 19, 2016
    @liwei
    你确认你『单独的 rst 』 是合法的 tcp 么?我感觉可能是你的 tcp 可能没拼对。怎么生成的?建议试试把一个正常的 rst 改个 seq num 和端口再发一下试试能不能收到。如果是 nat 则不能改端口。要打洞。
    liwei
        25
    liwei  
       Dec 19, 2016 via Android
    @est 不增加 fake tcp 头部的时候修改 protocol number 是通过 tc-pedit 实现的,增加 fake tcp 头的时候是用 sendip 发送的数据包,单独的 rst 会丢包,但是如果先发送一个 syn ,在极短的一段时间内后续发送的 rst 能够接收到。
    我对运营商网络里面的设备不熟悉,所以暂时也搞不清楚原因,感谢你的指点。
    est
        26
    est  
       Dec 19, 2016
    @liwei 好神奇。 ttl 看看那一跳丢的呢?
    Damn
        27
    Damn  
       Jan 1, 2017
    @est 求分享
    est
        28
    est  
       Jan 1, 2017
    @Damn 分享出来下场就是和 ss 和 ssr 和 goagent 作者一样。
    linhua
        29
    linhua  
       Jan 18, 2017   ❤️ 1
    @est @liwei
    好巧,实现了一个类似的,不过还有 bug
    https://github.com/linhua55/some_kcptun_tools/tree/master/relayRawSocket
    est
        30
    est  
       Jan 18, 2017
    @linhua 赞!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   983 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 22:26 · PVG 06:26 · LAX 15:26 · JFK 18:26
    ♥ Do have faith in what you're doing.