1
noe132 2020-08-14 21:43:40 +08:00
假设你是 ISP,你给你的客户提供了 50M 的上行。他按照 100M 的速度发包,你该怎么办?
当然是限速。通常来说被 traffic shaping 后,一些包被随机丢弃了 |
2
LPeJuN6lLsS9 2020-08-14 22:23:46 +08:00
太天真了,怎么可能无效。而且 kcp 窗口设太大反而降低你自己的体验
https://zhuanlan.zhihu.com/p/24938843 |
4
ccsexyz 2020-08-14 23:26:10 +08:00
tcp 丢包之后会主动降低发送速率
|
5
jousca 2020-08-15 01:16:58 +08:00
@my2492 出现这样的情况是因为 udp 协议的基本原理 ------UDP 发送端无法检测拥塞,它不知道带宽是否占满。所以它就是发出去 1000Mbps 的包都可以,但是上端路由器一般都具备包队列和丢弃技术,会对你多发的 UDP 进行丢弃,以降低 UDP 流量。所以你才会发现服务器只能收到 30Mbps 的包。
|
6
jousca 2020-08-15 01:23:30 +08:00
所以 KCP 发包速度自己控制下,不要超过自己实际上行带宽 70%。 不要没完没了的发,运营商对你线路进行 UDP QOS 你就哭去把。
|
7
kokutou 2020-08-15 07:44:53 +08:00 via Android
你发包是你发包,但是运营商可以丢弃啊
你检测的是从你路由器本地出去的速度,到运营商那边就给你丢了 kcp 不要超过带宽,超过带宽就没多大意义了。。。 |
8
brMu 2020-08-15 08:00:03 +08:00 via Android
测下速,看接受端实际接受速度是多少
|
10
cjpjxjx 2020-08-15 10:02:50 +08:00 via iPhone 11
就像是你妈对你进行每秒 10 句的唠叨,上传带宽为 100b/s,但你每秒只听进去了 1 句,接收带宽为 10b/s,其他都被你丢弃了
|
12
hyperbin 2020-08-15 10:24:44 +08:00 via Android 1
TCP 会主动检测丢包情况降低速度,UDP 不会,就像拿脸盆往老鼠洞泼水,很多水都没进去,TCP 会检测这些没进去的水,改成拿杯子倒来确保水都能进去,最后报告:这个鼠洞每秒大约能进 100ml 水,
UDP 用大水缸倒水后报告:刚才 1 秒内往鼠洞倒了 300 斤水(至于进去多少它才在乎) |
15
sujin190 2020-08-15 15:08:26 +08:00 1
kcp 发包只要不超过你物理连接速度就可以啊,带宽限速在运营上那边,又不在路由这,而且就现实来说,流量越大的重要程度越低,所以从运营商那边来说,同等带宽想,优先保证低流量业务更有利于提升用户体验节省成本,再说你长时间满带宽使用或者超带宽发送数据包那么滥用可能就越高,那么给你更低的发包优先级和更高丢包优先级再正常不过了
|
17
bclerdx 2020-08-15 23:54:38 +08:00
水流以最细的那根为你的最大速率哦,这就是木桶效应。
|
18
james19820515 176 天前
1.把带宽余量跑出来了。
2.限速有效,不然就跑出千兆了。 |
19
james19820515 176 天前
超过余量的丢包。
|