kcp 协议: https://github.com/skywind3000/kcp 根据描述,kcp 是相比于 tcp 以牺牲带宽为代价,降低网络延迟; 那我就提出个问题:如果将网络上所有 tcp 替换为 kcp ,每个人感受到的延迟会变低么?因为相应的重传机制和拥塞避免机制都被修改了。
另外:在功能上 kcp 和 quic 有类似之处,但我没有看到任何比较 kcp 与 quic 的测试.
1
RatioPattern 2022-06-24 11:57:22 +08:00
我用他主要是抗丢包和增加带宽,延时都一样
|
2
RatioPattern 2022-06-24 11:57:46 +08:00
准确的说,是增加有效带宽
|
3
zagfai 2022-06-24 14:26:55 +08:00
@RatioPattern 降低延迟说的是 tcp 需要等待重传,这种带来的延迟吧
|
4
i3x 2022-06-24 14:41:55 +08:00 via Android
就是冗余数据校验恢复实现的抗丢包。
quic 是 udp 。 udp 封装薄。 只要 udp 加了类似的方法,冒充 tcp 的链接过程,对抗运营商 udpqos 又有冗余数据....当然运营商能过功夫网也不管,但是 ids 甚至家用路由器的 ips 都主动给砍了。。。。 |
5
eason1874 2022-06-24 14:45:14 +08:00
我去年梯子改 kcp ,速度快到飞起,网页秒开,看 youtube 比看 B 站都快,但是才用半天就被运营商阻断了。。。
|
6
ty359 OP 我其实就是想说,kcp 并不适合给大多数应用装上。互联网本身是君子协定,你想怎么发包按理说都管不到你。
但是如果大家都用 kcp 这种协议,在增加了网络整体负载的情况下,每个人感受到的延迟也不一定有改善。这是一个囚徒困境啊。 |
7
ty359 OP 反过来说,如果是想只增加自己应用的连接质量,那办法多了去了。
直接伪造 tcp 头不走 tcp 协议栈,然后再额外发包,这种运营商抓都抓不到。 |
8
ty359 OP 由于历史原因,tcp 本身有他设计的不合理的地方,但对应提出的解决方案应该站在整个互联网的视角,不应该只为了自己快一点就完事了。
|
9
ScepterZ 2022-06-24 16:20:11 +08:00
你这个想法,貌似经常在讲解 bbr 算法的文章里看到,囚徒困境这种事说明系统有问题,不可能靠大家的善良解决的,规则不变必然会这样
|