KCP同 UDT/ENET的性能比较

原创 2016年02月19日 10:47:36

如果不丢包那么 KCP()和 TCP性能差不多,KCP不会有任何优势,但是网络会卡,造成卡的原因就是丢包和抖动,有同学在内网这样好的环境下没有用任何丢包模拟直接跑,跑出来的数据是差不多的,但是放到公网上,放到3G/4G网络情况下,差距就很明显了,公网在高峰期有平均接近10%的丢包,wifi/3g/4g下更糟糕,这正是造成各种网络卡顿的元凶。

感谢asio-kcp的作者 zhangyuan 对 KCP 与 enet, udt做过的一次横向评测,结论如下:

  • ASIO-KCP hasgood performace in wifi and phone network(3G, 4G).
  • Extra using 20% ~ 50% network flow for speed improvement.
  • The kcp is the first choice for realtime pvp game.
  • The lag is less than 1 second when network lag happen.3 times better than enetwhen lag happen.
  • The enet is a good choice if your game allow 2 second lag.
  • UDT is a bad idea.It always sink into badly situation of more than serval seconds lag. And the recovery is not expected.
  • enet has the problem of lack of doc. And it has lots of functions that you may intrest. kcp’s doc is chinese. Good thing is the function detail which is writen in code is english. And you can use asio_kcp which is a good wrap.
  • The kcp is a simple thing. You will write more code if you want more feature.
  • UDT has a perfect doc. UDT may has more bug than others as I feeling.

具体见:横向比较这里。截取一段在网络糟糕时,asio-kcp/enet的延迟数据:

worst network lag happen: 
asio: 10:51.21 
291  295   269   268   231   195   249   230   225   204

enet: 10:51.21 
1563   1520    1470    1482    1438    1454    1412    1637    1588    1540


KCP 快速可靠协议

原文和源码地址:https://www.oschina.net/p/kcp              KCP 是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平...
  • kaizi318
  • kaizi318
  • 2017年02月05日 15:40
  • 4249

kcp协议详解

kcp协议是传输层的一个具有可靠性的传输层ARQ协议。它的设计是为了解决在网络拥堵情况下tcp协议的网络速度慢的问题。kcp力求在保证可靠性的情况下提高传输速度。kcp协议的关注点主要在控制数据的可靠...
  • dxpqxb
  • dxpqxb
  • 2017年08月16日 16:50
  • 1249

kcp源码走读

kcp协议与tcp协议类似,是一种ARQ协议。他的优点在于比tcp的延迟更小30%-40%,但相应的会牺牲一部分的带宽,大该比tcp多浪费10%~20%。tcp的设计目标是增大网络利用率,而kcp的设...
  • dxpqxb
  • dxpqxb
  • 2017年08月16日 17:09
  • 509

一步一步教你用Kcptun给Shadowsocks加速!

这次来说说如何让翻墙速度更快,用起来就像墙内一样。这里介绍一个免费的工具Kcptun,它是一个非常简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流。而 ...
  • wankunde
  • wankunde
  • 2017年07月04日 10:15
  • 6435

快速可靠协议 - KCP

快速可靠协议 URL: https://code.google.com/p/ikcp/  KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,...
  • skywind
  • skywind
  • 2013年04月15日 17:31
  • 8777

几种UDP网络库的整理Raknet,UDT,ENet,lidgren-network-gen3

UDT库 https://sourceforge.net/projects/udt/?source=directory     C#包装:https://github.com/dump247/udt...
  • andyhebear
  • andyhebear
  • 2016年04月21日 17:18
  • 10166

用Kcptun给shadowsocks加速 和 使用心得(PC端和安卓端)

参考文章 https://blog.kuoruan.com/110.html 应该基本可以满足的 其中需要注意的几点是: 1.如果要让ss和kcptun稳定运行,使扶墙访问速度稳定不崩溃,vp...
  • londa
  • londa
  • 2017年04月28日 14:29
  • 17791

UDP可靠传输,UDT和UDX协议比较

UDT协议和UDX的比较1,UDT从上面的图片中,在控制台中,是UDT 4.6版本的客户端联上了我公网的服务器.模拟发送数据.我对appclient的输出信息做了简单修改,比如输出的第一列是实时速度,...
  • wwwllg
  • wwwllg
  • 2010年09月15日 09:59
  • 17543

几种UDP网络库的整理 Raknet,UDT,ENet,lidgren-network-gen3

几种UDP网络库的整理Raknet,UDT,ENet,lidgren-network-gen3
  • yuanchunsi
  • yuanchunsi
  • 2017年12月08日 17:04
  • 211

可靠的UDP编程(ENET库)

可靠的UDP编程(ENET库) 大家都知道UDP这个东西太不可靠了,存在着乱序,丢包,包重复等缺点,但它的速度快,包有界等优点,但在实际编程中要自己处理乱序啊之类的问题会发疯的。...
  • luxiaoyu_sdc
  • luxiaoyu_sdc
  • 2012年04月12日 17:06
  • 5296
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:KCP同 UDT/ENET的性能比较
举报原因:
原因补充:

(最多只允许输入30个字)