开发者选项

mKCP 协议介绍

了解 mKCP 协议。

mKCP 是一种牺牲一部分带宽来换取更低延迟和更稳定连接的传输协议。它特别适合在网络质量不佳、丢包严重的环境下使用,例如国际网络连接、高峰时段的网络拥堵等。

mKCP 的全称是 modified KCP,它是在开源项目 KCP (A Fast and Reliable ARQ Protocol) 的基础上,由 V2Ray 团队进行优化和修改而来的。

主要特点:

  • 更快的重传机制:采用了更激进的重传策略。它不需要漫长的等待,一旦检测到某个数据包可能丢失,就会立即重发。这大大缩短了因丢包造成的延迟。
  • 以空间换时间 (浪费带宽换低延迟):为了实现快速传输,mKCP 会发送一些冗余的数据包,并且确认(ACK)包的发送也比 TCP 更频繁。这意味着,要传输同样大小的文件,mKCP 会比 TCP 消耗更多的流量(通常会多 10%-20%)。 这种“浪费”是有价值的,因为它确保了在任何一个数据包丢失时,接收方都能快速地通过冗余信息或快速重传来恢复数据,从而保证了连接的低延迟和流畅性。
  • V2Ray (mKCP) 的优化:V2Ray 团队对原始的 KCP 协议做了进一步优化,形成了 mKCP。这些优化包括减小协议头部大小、改进确认包的发送机制等,使其在保证性能的同时,尽可能地减少了不必要的带宽浪费,并增强了其流量的隐蔽性。