V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  jedihy  ›  全部回复第 120 页 / 共 120 页
回复总数  2392
1 ... 111  112  113  114  115  116  117  118  119  120  
2014 年 8 月 6 日
回复了 yanest 创建的主题 云计算 所谓的单边 tcp 加速真有那么神奇吗?
想要自己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速率在大丢包环境中会有较大的提升。至于道理,这里就不说了,需要较大篇幅和对内核源码的熟悉。
2014 年 8 月 6 日
回复了 yanest 创建的主题 云计算 所谓的单边 tcp 加速真有那么神奇吗?
单边要看哪一边,如果是接收方,那几乎没什么效果。接收方加速只能改大通告窗口要不就是每收到一个数据包回一个ACK。Zeta TCP的接收方加速原来调研过,就这么个原理。发送方加速是有效果的,通过改进拥塞控制算法。说明白点,就是让拥塞窗口大一些。比如慢启动阶段增窗更快,初始窗口更大,或者丢包的时候少剪窗或者不剪窗,一般的加速就是这几个方法。当然,好的改进算法还要考虑fairness、fate等等,不过加速厂商估计不会考虑那么多了,能加速多发包就是王道,使网络更加拥塞了她是不care的。
2014 年 8 月 5 日
回复了 sliuqin 创建的主题 分享创造 夫妻档作品:此刻最美番茄钟
@sliuqin,求一个码,已经离不来番茄了。
jedihy#126.com
1 ... 111  112  113  114  115  116  117  118  119  120  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1462 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 16:45 · PVG 00:45 · LAX 09:45 · JFK 12:45
♥ Do have faith in what you're doing.