1
tcp 2016-08-17 08:40:57 +08:00 via iPhone
水管就那么大…
|
2
Laynooor 2016-08-17 09:12:11 +08:00 via Android
自从上行带宽大了后,迅雷满速下东西的同时也可以愉快地开网页打游戏了,延迟也很稳定不波动
|
5
Baymaxbowen 2016-08-17 09:56:52 +08:00 via Android
开迅雷下东西,家里电视都得转菊花
|
6
mhqschen 2016-08-17 10:08:48 +08:00 2
LZ 想要专业点的回答,可惜楼上净在撤别的。。
|
7
liuxu 2016-08-17 10:17:15 +08:00
楼主是想问,同样是连接,凭什么迅雷就能抢 http 的网速。
|
8
txydhr 2016-08-17 10:24:20 +08:00 via iPad
因为迅雷建立的连接数不止 4 个,热门点的往往上百,远远大于浏览器。
|
9
imn1 2016-08-17 10:31:20 +08:00
我的 dd-wrt 上的脚本
echo "16384" > /sys/module/nf_conntrack/parameters/hashsize prefix=/proc/sys/net/ipv4/netfilter/ip_conntrack echo 300 > $prefix_generic_timeout echo 60 > $prefix_udp_timeout echo 30 > $prefix_udp_timeout_stream echo 1800 > $prefix_tcp_timeout_established echo 120 > $prefix_tcp_timeout_syn_sent echo 60 > $prefix_tcp_timeout_syn_recv echo 30 > $prefix_tcp_timeout_fin_wait echo 30 > $prefix_tcp_timeout_time_wait echo 30 > $prefix_tcp_timeout_close echo 30 > $prefix_tcp_timeout_close_wait echo 15 > $prefix_tcp_timeout_last_ack 其中几个 wait 值根据自己需要调优,玩 P2P 都是必须的,不然机器就会大量阻塞 自己调优吧,也不是个个路由器都适合用这个 如果你的网卡和路由器都是壕级,可以忽略跳过 |
10
zhujinliang 2016-08-17 10:40:09 +08:00 via iPhone
就好比卖票就一个窗口(网卡缓冲区),大家排队买票,你自己一个人去排队,敌方派 100 人去排队。。。
|
11
hellov22ex 2016-08-17 11:14:26 +08:00
用好点的 QOS ,现在满速下载延时最多从 8 变成 12.
|
12
jasontse 2016-08-17 11:26:37 +08:00 via iPad
|
13
bazingaterry 2016-08-17 11:43:44 +08:00
估计是连接数的问题,调小之后就感觉就算跑满了还是能上网的。不过还是等待老司机解答一下。
|
14
KevinChan 2016-08-17 11:47:57 +08:00 via iPhone
上行占用太大了
|
15
imn1 2016-08-17 11:52:06 +08:00
@jasontse
是的,我的路由器是世纪初产品了,连 ipv6 都没有 不过 timeout 等等还是有需要的,连接数太多(阻塞),还是吃 CPU 的,还有洪水问题 这个脚本是 dd-wrt 官方提供的脚本,然后我自己修改适合自己使用的,不玩 p2p 也没必要用 |
16
goodryb 2016-08-17 13:28:47 +08:00
我觉得楼主 搜索一下 迅雷+LSP ,四个问题都解决了
|
17
hyq 2016-08-17 14:00:22 +08:00
我觉得是路由器处理不过来,我现在开着迅雷,玩游戏都不卡。
以下是我的不靠谱猜测 普通 http 不到 10 个链接,迅雷开了 1000 个链接,路由器如果平均分配 cpu 时间, http 只能抢到 1%的资源。 |
18
kumiko 2016-08-17 14:09:02 +08:00
比如我打守望先锋,平时延迟只有 7ms
开了 utorrent 下载后,下载速度 10MBps (宽带是 200mb,所以下载速度没有满) 但游戏的延迟已经变成 300 多了 |
19
fcicq 2016-08-17 14:09:29 +08:00 1
只回答 1.
正常的 TCP 流量控制算法都是链接均分也就是公平的(只能从别处另行限制), 从多连接下载等效于丢包时缩减窗口量变为 1/N, 如果是多主机多链接的话好处更多. ACK 的话 RFC4341 说每组包应当返回 1-2 个 ACK. 间接可以算出最低上传带宽来. 一般的 QoS 都是 ACK 优先, 发完 ACK 还剩下多少可想而知... |
20
nifury OP |
21
popok 2016-08-17 16:49:18 +08:00 via iPhone
@sakuyamaij 你的网络肯定适配到百兆模式了,不然你 200 兆的带宽,为何只能跑 10M 每秒?
|
22
Halry 2016-08-17 16:52:22 +08:00
软路由没压力
|
27
ragnaroks 2016-08-17 18:47:39 +08:00
我用的是极路由刷的梅林,里面有个小包优先,开启之前一下载游戏(csgo)基本处于卡死状态,开启后顶多上升 5ms(15ms->20ms)
|
28
ragnaroks 2016-08-17 18:48:02 +08:00
对了,这个好像对浏览网页之类的无效,网页还是卡
|
29
datocp 2016-08-17 20:22:13 +08:00 2
1,首先家用网络跟企业带宽的最大一个区别就是并发数有限制。像家里用的电信 8M 光纤大概在 1500 个左右的并发数。
2,控制流量有直接对流量进行控制,看不见的使用并发限制对流量进行控制,所以一旦超过 1500 个左右的并发,那么电信局端开始丢包,那么 tcp 的 3 次握手过程就无法建立,那么流量自然会被抑制。 3,其它的可能设备本身的固件优化就限制了并发的连接,甚至电信有意无意的提供有问题的固件。曾经就在 ADSL 时代使用过电信送的 ADSL modem 上海贝尔吧,这 modem 的特点就是一旦使用 p2p 程序流量就开始自动波动。。。后来刷 tplink 的固件解决。 4,迅雷跟 QQ 旋风有很大差别,迅雷随便就是 1200+并发数,而 QQ 旋风才只有 400+左右。从平时观察的经验来看,显然迅雷发起了很多无意义的并发数。甚至一个设计不合理的 QOS 规则会导致连路由管理界面都无法打开。。。 5,9 楼提供的针对 tcp udp 的连接消亡控制是有意义的,它能有效的让一些不必要的连接快速消亡,但是显然不主动控制,这些默认的消亡时间还是不够快。 5,所以问题就在如何控制并发数量在 1500 以下。 ddwrt 提供了一种非常有效的针对特定 ip 抑制并发的方法 https://www.dd-wrt.com/wiki/index.php/Preventing_Brute_Force_Attacks 最终的例子就变成 a.使用 limit 对源 ip 192.168.1.2 发往外界的并发数进行匹配发送,抑制了发送的包,自然根据 tcp 的握手过程抑制了接收的包。 limit 非常平滑不像 connlimit 一样会直接造成网络断开,更丰富的控制选项可能就是 hashlimit 了 b.规则 1 规则 2 对网页浏览端口和其它端口进行自上而下的区分,似乎简单的 iptables 规则的上下排序就能解决迅雷问题。总共有 100 包,每秒相应可以产生 60 包,这个 limit 的解释还是比较晕,自己 google 吧 c.规则 3 抑制 icmp 包的生成,似乎在一些 p2p 环境确认有用。 d.规则 4 规则 5 对剩余的过量的包用 REJECT 进行快速丢弃, 9 楼的 timeout 消亡设置就有快速的回应效果了 e.规则 6 剩余的其它包只能丢弃处理了。 a="`iptables -vnL FORWARD --line-numbers | grep "PMTU" | cut -c1-5` - 1";a=`expr $a` 规则 6 iptables -I FORWARD $a -s 192.168.1.2 -j DROP 规则 5 iptables -I FORWARD $a -s 192.168.1.2 -p udp -j REJECT --reject-with icmp-proto-unreachable 规则 4 iptables -I FORWARD $a -s 192.168.1.2 -p tcp -j REJECT --reject-with icmp-proto-unreachable 规则 3 iptables -I FORWARD $a -s 192.168.1.2 -p ICMP --icmp-type echo-request -m limit --limit 4/sec -j ACCEPT 规则 2 iptables -I FORWARD $a -s 192.168.1.2 -m limit --limit 60/s --limit-burst 100 -j ACCEPT 规则 1 iptables -I FORWARD $a -s 192.168.1.2 -p tcp -m multiport --dport 80,443 -m limit --limit 60/s --limit-burst 100 -j ACCEPT; 上面的方法针对特定 ip 对付迅雷时打开网页是有效果的。只是如果处理不好--limit --limit-burst 对其它正常应用是有一定的抑制作用的 6,openwrt 采用的是对 INPUT 方向的 syn_flood 进行抑制,那么回应的包自然也相应抑制。昨天刚迅雷过虽然网速才 300-800kb/s 之间波动,但是至少网页打开流畅。显然 openwrt 的防火墙规则还是有很大的区别于 ddwrt tomato 的性能上的优化。 -A INPUT -i pppoe-wan -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn_flood -N syn_flood -A syn_flood -m limit --limit 3/sec --limit-burst 25 -j RETURN -A syn_flood -j DROP 7,一个设计良好的 qos 规则也是有一定的抑制效果的。可以参考 我的 tomato 原版 QOS 设定 http://www.right.com.cn/forum/thread-102891-1-1.html (出处: 恩山无线论坛) |
30
swsh007 2016-08-17 20:44:13 +08:00 via Android
迅雷从开始就是流氓, p2p 就是被玩坏的,变成各种肉鸡。曾经测过迅雷开启连接数马上过千, bt 电驴官方客户端没这么黑。
|
32
txydhr 2016-08-17 22:40:57 +08:00 via iPhone
@datocp 是的 迅雷动不动就上千 吃掉太多路由器资源 尤其是老旧的路由器。。
我直接用 BT 同时下 3 部电影才 400 多连接数, 50M 对等,我一个人几乎跑满下行带宽。。 2 室友玩 dota2 完全不卡,不像国内开个迅雷, PPTV 之类,其他人别想正常上网。。。 下载了 2 年,话说我已经被 ISP 请去喝了两次茶了,连下载的文件名都标出来了,说再侵犯版权就降到拨号速度。。再也不敢下了。 |
33
hahahasnoopy 2016-08-18 13:03:57 +08:00 via Android
@txydhr 国内 isp 还管盗版?
|
34
HankAviator 2016-08-22 19:18:48 +08:00
@hahahasnoopy 不像 [国内] 开个迅雷……
|
35
hahahasnoopy 2016-08-31 00:35:20 +08:00
@HankAviator 你可以通过百度云或者迅雷之类的离线下载方式,然后从他们的服务器上下载到本地应该就没有这方面的问题了,直接 bt 下载可能会被钓鱼
|