请问下作者,KCP 与TCP Reno有什么区别?

hfsqlsce  于 2022-11-02  发布在  其他
关注(0)|答案(2)|浏览(267)

TCP reno 一样有 慢启动、拥塞控制、快重传、快恢复的设计。是不是有重复造轮子的嫌疑。

sbdsn5lh

sbdsn5lh1#

tcp准确说只有个una做确认,kcp是una加ack,同时tcp是延迟发送ack和kcp是非延迟ack,还有选择性重传和全部重传,rto增长规则等区别,比tcp快这件事情是有无数测试支持的,否则本项目也不会有那么多衍生项目。

再kcp可以相对自由的整合到各种udp为基础的协议栈中,tcp不行。kcp前面还可以对接fec模块,tcp你想加都加不了。

kcwpcxri

kcwpcxri2#

tcp准确说只有个una做确认,kcp是una加ack,同时tcp是延迟发送ack和kcp是非延迟ack,还有选择性重传和全部重传,rto增长规则等区别,比tcp快这件事情是有无数测试支持的,否则本项目也不会有那么多衍生项目。

再kcp可以相对自由的整合到各种udp为基础的协议栈中,tcp不行。kcp前面还可以对接fec模块,tcp你想加都加不了。

kcp协议收到数据会把ack添加到acklist里边,等到下个internal才驱动ikcp_flush发送ack,这样kcp不也是延迟ack了吗?

相关问题