基于 udp 定制传输层协议,引入顺序性和适当程度或者可调节程度的可靠性,修改流控算法。适当放弃重传,如:设置最大重传次数,即使重传失败,也不需要重新建立连接。比较知名的 tcp 加速开源方案有:quic、enet、kcp、udt。其中,quic 是源自 google 的 tcp 替代方案,其主要目的是为了整合 TCP 协议的可靠性和 udp 协议的速度和效率,其主要特性包括:避免前序包阻塞、减少数据包、向前纠错、会话重启和并行下载等,然而 QUIC 对标的是 TCP+TLS+SPDY,相比其他方案更重,目前国内用于网络游戏较少。kcp 的作者是国内优秀开发者,社区也发展良好,kcp 的作者和社区开发者对 enet、kcp、udt 做了性能测试,kcp 表现不错,其次是 enet,表现最差的是 udt。不过,这里也提出一个问题,原始 enet 保留了 tcp 重传的指数避让特性,每次重传间隔还是乘以 2,默认 rto 也较高,这可能是测试中 enet 表现不如 kcp 的主要原因。
时间: 2024-10-12 18:00:34