当前位置: 首页 > news >正文

【网络协议】基于UDP的可靠协议:KCP

TCP是为流量设计的(每秒内可以传输多少KB的数据),讲究的是充分利用带宽。而 KCP是为流速设计的(单个数据包从一端发送到一端需要多少时间),以10%-20%带宽浪费的代价换取了比 TCP快30%-40%的传输速度。TCP信道是一条流速很慢,但每秒流量很大的大运河,而KCP是水流湍急的小激流。KCP有正常模式和快速模式两种,通过以下策略达到提高流速的结果:

RTO翻倍vs不翻倍:

TCP超时计算是RTOx2,这样连续丢三次包就变成RTOx8了,十分恐怖,而KCP启动快速模式后不x2,只是x1.5(实验证明1.5这个值相对比较好),提高了传输速度。

选择性重传 vs 全部重传:

TCP丢包时会全部重传从丢的那个包开始以后的数据,KCP是选择性重传,只重传真正丢失的数据包。

SACK机制,每次ACK时还返回一组标记,告知发送方哪些Segment已经发送了

快速重传:

发送端发送了1,2,3,4,5几个包,然后收到远端的ACK: 1, 3, 4, 5,当收到ACK3时,KCP知道2被跳过1次,收到ACK4时,知道2被跳过了2次,此时可以认为2号丢失,不用等超时,直接重传2号包,大大改善了丢包时的传输速度。

延迟ACK vs 非延迟ACK:

TCP为了充分利用带宽,延迟发送ACK(NODELAY都没用),这样超时计算会算出较大 RTT时间,延长了丢包时的判断过程。KCP的ACK是否延迟发送可以调节。

延迟ACK:TCP为了充分利用带宽,在一些情况下,接收方可能会收到多个数据段。在延迟发送ACK的情况下,接收方可以在一定的小时间窗口内等待或聚合多个数据段的接收,从而一次性发送一个ACK确认多个数据段。这可以减少网络中ACK报文的数量,从而降低网络拥塞。

UNA vs ACK+UNA:

ARQ模型响应有两种,UNA(此编号前所有包已收到,如TCP)和ACK(该编号包已收到),光用UNA将导致全部重传,光用ACK则丢失成本太高,以往协议都是二选其一,而 KCP协议中,除去单独的 ACK包外,所有包都有UNA信息。

非退让流控:

KCP正常模式同TCP一样使用公平退让法则,即发送窗口大小由:发送缓存大小、接收端剩余接收缓存大小、丢包退让及慢启动这四要素决定。但传送及时性要求很高的小数据时,可选择通过配置跳过后两步,仅用前两项来控制发送频率。以牺牲部分公平性及带宽利用率之代价,换取了开着BT都能流畅传输的效果。

抛弃拥塞控制,追求极致速度

TCP的拥塞控制机制(如慢启动、拥塞避免、快速重传等)是为了保证网络公平性和稳定性,但这也让TCP在丢包时表现得过于“怂”。KCP直接抛弃了这些机制,采用更激进的策略,允许用户自定义流控和拥塞控制,甚至可以不控制。这种“莽夫”式的方式让KCP在丢包时依然能快速重传,保持高吞吐量。

更小的协议头开销:

KCP的协议头比TCP更精简,减少了额外的开销。虽然这点对性能提升有限,但在高频率、小数据包场景下,积少成多也能带来一定的优势。

无连接状态,轻量级:

KCP是无连接的,不需要像TCP那样维护复杂的连接状态(如三次握手、四次挥手、滑动窗口等)。这种轻量级的设计让它更适合高频、短连接场景。

相关文章:

  • Xposed模块开发:运行时修改技术
  • 全星研发管理APQP软件系统:助力汽车零部件企业高效研发,打造核心竞争力
  • MyBatis XMLMapperBuilder 是如何解析 SQL 映射文件的? 它读取了哪些信息?
  • 用Python打造AI玩家:挑战2048,谁与争锋
  • Chat2DB:让数据库管理像聊天一样简单
  • csv文件格式和excel数据格式有什么区别
  • 解决linux mysql命令 bash: mysql: command not found 的方法
  • 【AVRCP】Notification PDUs 深入解析与应用
  • Ruby 字符串(String)
  • 关于软航OFFICE文档控件软件在Chrome 133版本上提示扩展已停用的原因及处理办法
  • 通过 SVG 使用 AI 生成理想图片:技术实现与实践指南
  • 【地图 Map】——8
  • 50个常用的DeepSeek提示词
  • ChatGPT-Next-Web开源项目V2.16.0最新版本NextChat容器部署安装教程
  • Model Context Protocol 的生命周期
  • VBA第二十七期 数据录入中验证格式有效性
  • http proxy的原理是什么
  • 深度剖析陶瓷防静电地板的特性优势
  • matlab图论分析之指标计算(二)
  • BUU SQL COURSE 1
  • 92岁上海交大退休教师捐赠百万元给学校,其父也曾设奖学金
  • 广西北部湾国际港务集团副总经理潘料庭接受审查调查
  • 秦洪看盘|交易新逻辑,银行股成A股稳定器
  • 最高降九成!特朗普签署降药价行政令落地存疑,多家跨国药企股价收涨
  • 习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式
  • 季后赛主场优势消失之谜,这事竟然要赖库里