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 · 40594 次点击
    这是一个创建于 3764 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有用过的吗?想了解一下。另外这个东西的原理是什么?为什么没有免费的?
    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  
       2014-07-28 14:48:50 +08:00
    @yanest 国内如果用的 bgp 的话基本没啥大的效果,这货用在国外的服务器,然后在国内效果还是很不错的。我也问过一些老外的访客,他们访问也没啥大的效果,该跑满的带宽还是跑满的
    Showfom
        15
    Showfom  
       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  
       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  
       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   ·   实用小工具   ·   2899 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:35 · PVG 22:35 · LAX 06:35 · JFK 09:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.