所谓的单边 tcp 加速真有那么神奇吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
yanest
V2EX    云计算

所谓的单边 tcp 加速真有那么神奇吗?

  •  
  •   yanest 2014-07-28 08:08:40 +08:00 via iPhone 41325 次点击
    这是一个创建于 4175 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有用过的吗?想了解一下。另外这个东西的原理是什么?为什么没有免费的?
    44 条回复    2016-08-25 23:50:04 +08:00
    yanest
        1
    yanest  
    OP
       2014-07-28 08:09:08 +08:00 via iPhone
    比较火的貌似有个锐速
    tjmao
        2
    tjmao  
       2014-07-28 08:23:47 +08:00 via iPhone
    原理不是写给你看了吗,改进拥塞控制算法。为什么没有免费,因为是商业产品。发送方向丢包25%以上一样卡死,吹的成分多些。
    llbbzh
        3
    llbbzh  
       2014-07-28 08:28:16 +08:00 via iPhone
    原理是优化TCP的拥塞控制算法,保证比较差的线路也能有良好的连接。
    楼主可以看一下ZetaTCP的介绍。锐速的内核就是ZetaTCP。http://www.appexnetworks.com.cn/technology/zetatcp.html
    看完网页后点开里面的“....技术白皮书”来看一下

    另:其实单边加速的效果远远没有宣称的那么神奇
    ine181x
        4
    ine181x  
       2014-07-28 09:50:32 +08:00
    http://www.amazon.cn/gp/product/B00JMKWHFU/ref=as_li_ss_tl?ie=UTF8&camp=536&creative=3132&creativeASIN=B00JMKWHFU&linkCode=as2&tag=r6-23

    可以看一下这本《Web性能权威指南》前面几章 拥塞控制算法的提升肯定是有限的 而且可以通过使用新版本linux内核和参数来改善。
    fredcc
        5
    fredcc  
       2014-07-28 10:25:42 +08:00
    那么好用,还要cdn和bgp干啥
    ytf4425
        6
    ytf4425  
       2014-07-28 11:02:55 +08:00
    日本Linode经测试无效果
    所以LZ你自己看着办吧。。
    itsjoke
        7
    itsjoke  
       2014-07-28 11:34:29 +08:00
    以前测试过这个产品
    对于很多业务来说,实际没有效果
    仅供参考!
    wdlth
        8
    wdlth  
       2014-07-28 11:39:38 +08:00
    有个免费的是把包发两遍……
    webflier
        9
    webflier  
       2014-07-28 12:22:05 +08:00
    @wdlth 我在用,效果杠杠的~
    nocheater
        10
    nocheater  
       2014-07-28 12:26:27 +08:00
    两倍发包的建议不要用,国际带宽就这么点,大家都这么玩就完蛋了
    llbbzh
        11
    llbbzh  
       2014-07-28 12:30:58 +08:00 via iPhone
    @ytf4425 微博上的magami的作品“岛风GO”就用了日本Linode的机房,经测试还是有一点效果的
    yanest
        12
    yanest  
    OP
       2014-07-28 12:31:15 +08:00
    这玩意云在国内的线路上有用吗
    BOOM
        13
    BOOM  
       2014-07-28 14:35:03 +08:00
    我在用net speeder...就是把包发两遍。。。
    国内没必要,至于国际带宽,我的网站充其量也就15K,两倍包也就30K。

    然后,锐速和zeta tcp貌似是一家的吧,基本设计,板块构造都一样诶。。
    Showfom
        14
    Showfom  
    PRO
       2014-07-28 14:48:50 +08:00
    @yanest 国内如果用的 bgp 的话基本没啥大的效果,这货用在国外的服务器,然后在国内效果还是很不错的。我也问过一些老外的访客,他们访问也没啥大的效果,该跑满的带宽还是跑满的
    Showfom
        15
    Showfom  
    PRO
       2014-07-28 14:50:53 +08:00
    @ytf4425 那是你本地出口带宽的缘故啦= =我这边Linode日本的用了以后就满速了
    ytf4425
        16
    ytf4425  
       2014-07-28 15:16:08 +08:00
    @Showfom 晚上,在线youtube
    wzxjohn
        17
    wzxjohn  
       2014-07-28 15:18:20 +08:00   1
    我记得不光是两倍发包而且是无视拥塞控制算法发到我爽为止。很多机房已经开始把这种流量当成攻击流量了。。。
    Showfom
        18
    Showfom  
    PRO
       2014-07-28 15:19:03 +08:00
    @ytf4425 我指的是从本地下载服务器里的东西的速度,web 服务,不是指 VPN 之类的代理服务。

    以前听过谁说,这货会提高服务器的上行速度,但是会减慢下行速度,所以 VPN 慢也正常
    yanest
        19
    yanest  
    OP
       2014-07-28 16:50:12 +08:00
    @wzxjohn linode应该不限制吧?没听说哪家不让用了
    lsylsy2
        20
    lsylsy2  
       2014-07-28 16:52:25 +08:00   1
    @Showfom 有下载优化的开关,默认没有打开
    sdysj
        21
    sdysj  
       2014-07-28 16:53:46 +08:00
    我觉得那个net-speeder对gfw干扰有奇效,不过如果墙更狠一点就没用了。
    clowwindy
        22
    clowwindy  
       2014-07-28 17:18:40 +08:00
    据我测试 YouTube 的发包算法比 hybla 还猛……
    Showfom
        23
    Showfom  
    PRO
       2014-07-28 17:19:36 +08:00
    @lsylsy2 是吗。。。我试试去
    yanest
        24
    yanest  
    OP
       2014-07-29 08:17:34 +08:00
    发邮件给zeta-TCP的销售问了问价格,被吓到了。买一台软件LotServer的价格是15000元/台/年。
    jedihy
        25
    jedihy  
       2014-08-06 14:09:06 +08:00   1
    单边要看哪一边,如果是接收方,那几乎没什么效果。接收方加速只能改大通告窗口要不就是每收到一个数据包回一个ACK。Zeta TCP的接收方加速原来调研过,就这么个原理。发送方加速是有效果的,通过改进拥塞控制算法。说明白点,就是让拥塞窗口大一些。比如慢启动阶段增窗更快,初始窗口更大,或者丢包的时候少剪窗或者不剪窗,一般的加速就是这几个方法。当然,好的改进算法还要考虑fairness、fate等等,不过加速厂商估计不会考虑那么多了,能加速多发包就是王道,使网络更加拥塞了她是不care的。
    jedihy
        26
    jedihy  
       2014-08-06 14:21:00 +08:00   2
    想要自己diy接近Zeta TCP也是可以的。
    For Win,
    第一个,windows系统下注册表里面修改ACK每个都回,位置我忘了,Google一下一大把,一般魔兽玩家都会。
    第二个,写一个驱动,勾住ACK,修改advertisement window 为0xffff。
    For Linux,
    由于Linux内核中,ACK回复跟win不一样,它有自己的逻辑,其实很多时候就是一个数据包一个ACK,所以这里不改也差不多。
    同样地,写一个驱动勾住ACK,修改advertisement window 为0xffff。

    在我们原来的测试中,甚至可以比Zeta还快。
    这就是免费的接收方单边加速方法。
    发送放单边加速的话,windows就不要想了,改不了内核。
    Linux教你一个简单的方法,修改内核源码net/ipv4/tcp_input.cc
    static inline void tcp_moderate_cwnd(struct tcp_sock *tp)
    {
    tp->snd_cwnd = min(tp->snd_cwnd,
    tcp_packets_in_flight(tp) + tcp_max_burst(tp));
    tp->snd_cwnd_stamp = tcp_time_stamp;
    }
    这里的min改成max,就会有比较好的加速效果了。虽然这是个病态的行为,但是TCP速率在大丢包环境中会有较大的提升。至于道理,这里就不说了,需要较大篇幅和对内核源码的熟悉。
    lonely520224
        27
    lonely520224  
       2014-08-06 15:05:30 +08:00
    @jedihy 好专业,感觉有了这个Zeta TCP都不必买的样子
    onesmile
        28
    onesmile  
       2015-01-27 22:35:01 +08:00
    锐速20M版本已经免费了。但是更高版本还是收费的,锐速官网www.serverspeeder.com。BTW毕竟是知识产权,收费的话还是有人给提供服务的。
    aboutblank
        29
    aboutblank  
       2015-01-29 12:54:51 +08:00
    26楼的方法听起来很神奇的赶脚,有时间试一下。不过zeta TCP确实也挺牛掰的,我们公司在用。@onesmile锐速最近还有活动什么注册摇奖之类的,对锐速感兴趣的话可以看看
    BGYL
        30
    BGYL  
       2015-01-30 10:07:14 +08:00
    @ytf4425 gfw.im 土豪站长之一
    butbuy
        31
    butbuy  
       2015-02-05 18:11:48 +08:00
    呵呵,讨论真热烈,正好前几天在测lotserver的效果,和对方的工程师交流了一下,他们没有使用额外发包的方式,只是根据丢包延时探测网络情况,动态调整发包速度,不会给网络增加负担。
    测之前我以为也就10%左右的提升,测完之后大出意料,150ms延时的链路竟然能提升一倍的传输速度,对我们公司这种跨国链路来说还挺适用的。
    价格看着有点高,不过那与技术无关了,是商务上的事了。
    @onesmile 免费版本是会一直免费吗?不知道和商用版比起来咋样
    @jedihy 你的方法稳定性如何?测了速度有多大的提升吗?有空我也试试你的方法,多空交流哈。
    jedihy
        32
    jedihy  
       2015-02-05 18:47:41 +08:00
    @butbuy 测过,但是没有跟lotserver比过。接受端的方法和lotclient比过,可以认为是一模一样的性能。
    jedihy
        33
    jedihy  
       2015-02-05 18:49:10 +08:00
    @butbuy 加速比的关键在于丢包率和RTT,这两个东西高的话,加速比可以很高,比如说10倍加速比。
    butbuy
        34
    butbuy  
       2015-02-10 16:35:51 +08:00
    @jedihy 我实验了一下你的方法,修改tcp_moderate_cwnd(),感觉效果不太明显,300ms延时5%丢包情况下最快也只有1.5倍的加速比,而相同情况lotserver测试的结果能有9倍加速比,这差距太大了。是我参数没调整好?还有需要调节的参数吗?
    jedihy
        35
    jedihy  
       2015-02-10 20:20:57 +08:00
    @butbuy 是在cubic的基础上吗?
    jedihy
        36
    jedihy  
       2015-02-10 20:24:27 +08:00
    @butbuy 如果是cubic的话也只有1.5的话,初始窗口改大到30,丢包减窗的部分也要改一下,可以加一个简单的判断,比如rtt增大了10%才减窗,对应门限的减小也加个系数。
    butbuy
        37
    butbuy  
       2015-02-13 12:01:19 +08:00
    是cubic
    regeditms
        38
    regeditms  
       2015-06-24 12:06:05 +08:00
    效果挺好的,我的vps在linode日本节点,不用大概150kb 如果用了可以达到1024kb 可以看1080p了.
    ymdqqqq
        39
    ymdqqqq  
       2015-07-13 14:32:45 +08:00
    实测效果惊人,我们公司已经准备提前解约换CDN了。
    crazycen
        40
    crazycen  
       2015-10-05 15:08:37 +08:00
    本来准备试试的,但是安装时,发现我的内核版本太新,就没安装成功!
    FinalTheory
        41
    FinalTheory  
       2015-10-19 20:54:08 +08:00
    @clowwindy 能请教一下是怎么做的测试吗?
    mikangchan
        42
    mikangchan  
       2016-02-26 11:45:58 +08:00
    所谓的单边就是发包和拥塞优化...
    看自己的情况咯。
    最好的还是双边加速,可以直接多线程。
    mikangchan
        43
    mikangchan  
       2016-02-26 11:46:30 +08:00
    不过估计大部分都是想开个 ss 或者其他商业程序,又不想付费锐速。
    caola
        44
    caola  
       2016-08-25 23:50:04 +08:00
    net-speeder 就是把 TCP 包发送两次,就是用多一倍的宽带流量,来换取更好的丢包率。反正我现在也在 OVH 上使用这个
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2339 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 06:05 PVG 14:05 LAX 22:05 JFK 01:05
    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