tuic:基于QUIC协议的Rust高性能代理


基于 QUIC 协议构建的精细 TUICed 高性能代理,TUIC从一开始就是基于QUIC协议设计的。它可以充分利用QUIC带来的优势。
TUIC 的目标是即使在质量较差的网络上也能提供高度可用和高效的代理,并尽可能减少握手延迟。
TUIC 使用 QUIC 的流机制将所有任务多路复用到单个 QUIC 连接中。这意味着除非QUIC连接被强制中断或者在最大空闲时间内没有任务,否则协商新的中继任务不需要经过QUIC握手和TUIC认证的过程。

TUIC有两种UDP中继模式。

  • 本地模式 - 使用QUIC的数据报来传输UDP数据包。与本地UDP一样,数据包可能会丢失,但省略了确认机制的开销。中继的数据包仍然由QUIC加密。
  • quic - 将UDP数据包作为QUIC流传输。由于有确认和重传机制,UDP数据包可以保证100%的交付率,但因此有额外的传输开销。请注意,每个UDP数据包都是作为一个单独的流来传输的,流量也是单独控制的,所以一个数据包的丢失和重传不会导致其他数据包被阻塞。

用户空间拥塞控制
由于QUIC是通过UDP实现的,其拥塞控制的实现不受平台和操作系统的限制。对于质量差的网络,BBR算法可以在服务器和客户端使用,以达到更好的传输性能。