V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  jedihy  ›  全部回复第 117 页 / 共 117 页
回复总数  2330
1 ... 108  109  110  111  112  113  114  115  116  117  
2014-08-06 14:21:00 +08:00
回复了 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-08-06 14:09:06 +08:00
回复了 yanest 创建的主题 云计算 所谓的单边 tcp 加速真有那么神奇吗?
单边要看哪一边,如果是接收方,那几乎没什么效果。接收方加速只能改大通告窗口要不就是每收到一个数据包回一个ACK。Zeta TCP的接收方加速原来调研过,就这么个原理。发送方加速是有效果的,通过改进拥塞控制算法。说明白点,就是让拥塞窗口大一些。比如慢启动阶段增窗更快,初始窗口更大,或者丢包的时候少剪窗或者不剪窗,一般的加速就是这几个方法。当然,好的改进算法还要考虑fairness、fate等等,不过加速厂商估计不会考虑那么多了,能加速多发包就是王道,使网络更加拥塞了她是不care的。
2014-08-05 06:49:12 +08:00
回复了 sliuqin 创建的主题 分享创造 夫妻档作品:此刻最美番茄钟
@sliuqin,求一个码,已经离不来番茄了。
jedihy#126.com
1 ... 108  109  110  111  112  113  114  115  116  117  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5873 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 06:16 · PVG 14:16 · LAX 22:16 · JFK 01:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.