
网络系统
文章平均质量分 86
omegayy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
KCP解读:C#库类图
源码的核心类图,便于大家理解源码中的类型关系。作者做了很多接口、扩展的设计,核心逻辑定义在KcpCore部分,其他一些类可以进行重新、扩展。原创 2025-01-08 10:29:05 · 373 阅读 · 0 评论 -
KCP解读:拥塞控制
本文介绍了KCP协议中的快速重传和快速恢复算法。快速重传通过接收方发送三次重复ACK,发送方快速重传丢失的数据包。快速恢复算法在快速重传后调整拥塞窗口cwnd和慢启动阈值ssthresh,避免网络拥塞严重时的性能下降。具体步骤包括调整cwnd、重传丢失包、根据ACK调整cwnd等。文中还展示了KCP源码中相关变量和流程,如ssthresh、cwnd和nocwnd。原创 2025-01-07 13:37:39 · 1376 阅读 · 0 评论 -
KCP解读:滑动窗口
本文介绍了KCP协议中的滑动窗口机制。滑动窗口通过允许发送方在未收到确认应答前继续发送数据,提高了传输效率。窗口大小由接收方的处理能力决定,发送方根据接收方的窗口大小发送数据,避免接收方处理不过来。文中通过图示详细解释了发送方滑动窗口的工作原理,展示了已发送并确认、已发送未确认和未发送但在接收方处理范围内的数据部分。原创 2025-01-06 17:42:36 · 1375 阅读 · 0 评论 -
KCP解读:重传机制
本文介绍了KCP协议的重传机制,包括两种丢包情况及其处理方法。通过增加una字段,KCP实现了选择性重传,减少了不必要的重发。还介绍了快速重传机制,当收到三个相同的ACK报文时,提前重传丢失的报文段。文中提供了相关源码示例,解释了KCP如何通过una和fastack字段实现高效的重传机制。原创 2025-01-06 17:17:34 · 627 阅读 · 0 评论 -
KCP解读:基础消息收发
源码解读最基础的消息收发部分,这里以C#版本为基础讲解。kcp已经被port到很多语言和平台,它们都是C语言版本的移植,正常来说为了移植容易,保持一致性。方法、变量命名是一样的,区别不大。原创 2025-01-04 09:00:00 · 958 阅读 · 0 评论 -
KCP技术原理
开源地址:KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定义下层数据包的发送方式,并以 callback的方式提供给 KCP。这里翻译一下,供参考。原创 2025-01-03 15:18:12 · 1131 阅读 · 0 评论