kcp

by skywind3000 · Developer Tools

:zap: KCP - A Fast and Reliable ARQ Protocol

New0 ratings16,899 starsActive
Developer ToolsDeveloper ToolCC++
↓ Download 2.1.1GitHub⚑ Report
kcp — image 1
kcp — image 2
1 / 2

About this project

KCP - A Fast and Reliable ARQ Protocol README in English 简介 KCP是一个快速可靠协议,能以比 TCP 浪费 10%-20% 的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定义下层数据包的发送方式,以 callback的方式提供给 KCP。 连时钟都需要外部传递进来,内部不会有任何一次系统调用。 整个协议只有 ikcp.h, ikcp.c两个源文件,可以方便的集成到用户自己的协议栈中。也许你实现了一个P2P,或者某个基于 UDP的协议,而缺乏一套完善的ARQ可靠协议实现,那么简单的拷贝这两个文件到现有项目中,稍微编写两行代码,即可使用。 注意:KCP 目前更新到 V2,增加了可插拔的流控算法机制,可以不改协议的情况下替换流控算法,老的 v1 足够稳定,我放到了 v1 这个 branch 里。 技术特性 TCP是为流量设计的(每秒内可以传输多少KB的数据),讲究的是充分利用带宽。而 KCP是为流速设计的(单个数据包从一端发送到一端需要多少时间),以10%-20%带宽浪费的代价换取了比 TCP快30%-40%的传输速度。TCP信道是一条流速很慢,但每秒流量很大的大运河,而KCP是水流湍急的小激流。KCP有正常模式和快速模式两种,通过以下策略达到提高流速的结果: RTO翻倍vs不翻倍: …

Technologies

C++CCMakeacceleratorackarq

Project health

Recently updated
Last update2 months ago
Contributors34
Latest release2.1.1
Open issues & PRs196
LicenseMIT
On GitHubsince 2014

GitHub

16,899
stars
2,627
forks
34
contributors
196
open issues & PRs
C
language
2 months ago
last commit
View on GitHub ↗All releases ↗

Reviews

out of 5 · 0 ratings
★★★★★
0%
★★★★
0%
★★★
0%
★★
0%
0%
Sign in to write a review
No reviews yet
Be the first to review kcp.

Built by

skywind3000
Imported from GitHub · not yet claimed on GitPalace
View developer pageSign in with GitHub to claim

Maintain skywind3000/kcp? Claiming verifies admin access through your GitHub account and gives you control of this listing.

You might also like