- 2024-11-09KCP详解
1.介绍 KCP是一种在应用层的旨在优化网络传输性能的快速的可靠的协议,KCP本身并不会直接处理底层网络通信,而是作为一个中间层协议,其通常基于UDP,这意味着用户要自己定义底层的发送方式,并且通过回调传递给KCP。2.KCP原理 2.1网络传输如何做到可靠
- 2024-09-01实现UDP可靠性传输(KCP介绍使用)
1、TCP协议介绍TCP协议是基于IP协议,面向连接,可靠基于字节流的传输层协议1、基于IP协议:TCP协议是基于IP协议之上传输的,TCP协议报文中的源端口+IP协议报文中的源地址+TCP协议报文中的目标端口+IP协议报文中的目标地址,组合起来唯一确定一条TCP连接。2、面向连接:与UDP不同,TCP在传输数
- 2024-08-19UDP的可靠性传输——KCP
目录一:TCP是怎么做到可靠的?1、UDP和TCP的区别 2、ARQ协议(AutomaticRepeat-reQuest)2.1、ARQ协议-停等式(stop-and-wait)2.2、ARQ协议-回退n帧(go-back-n)2.3、ARQ协议-选择性重传(selectiverepeat)3、RTT和RTO4、流量控制5、如何进行流量控制(滑动窗口)6、流量控
- 2024-04-30KCP 协议介绍与优化项
参考:https://luyuhuang.tech/2020/12/09/kcp.htmlhttps://xiaolincoding.com/network/https://coolshell.cn/articles/11564.html1.概述kcp是一个基于udp的应用层协议,其只负责实现ARQ算法,需要调用者提供网络数据收发和时钟驱动能力。其典型图示如下:ikcp_sendi
- 2024-03-15[原创] KCP 源码解析(下)
ikcp_input先从下层协议将数据读出来,并将对应的包头信息解析出来,根据不同的包头命令进入不同的处理逻辑。intikcp_input(ikcpcb*kcp,constchar*data,longsize){ IUINT32prev_una=kcp->snd_una; IUINT32maxack=0, //收到的这组包里最大的ack latest_ts=0
- 2024-03-15[原创] KCP 源码分析(上)
KCP协议是一种可靠的传输协议,对比TCP取消了累计确认(延迟ACK)、减小RTO增长速度、选择性重传而非全部重传。通过用流量换取低时延。KCP中最重要的两个数据结构IKCPCB和IKCPSEG,一个IKCPCB对应一个KCP连接,通过这个结构体维护发送缓存、接收缓存、超时重传时间、窗口大小等。I
- 2023-12-16KCP源码剖析和应用解析
一,什么是KCPKCP是一个快速可靠的协议,基于UDP的类似TCP的协议。随着网络带宽的不断增大,在很多网络应用场景中,TCP的旧有特性对当今一些要求及时响应的网络要求不符合。而TCP又是嵌在操作系统内核中的模块,用户态软件不能够自定义来修改太多TCP的细节。所以推出了KCP以应对延迟越
- 2023-12-04Golang使用kcp
安装goget-ugithub.com/xtaci/kcp-goimport("fmt""github.com/xtaci/kcp-go""golang.org/x/net/ipv4""golang.org/x/net/ipv6""net")//KCP服务器funcserver(){//创建一个UDP连接u
- 2023-06-12音视频技术开发周刊 | 231
面向在线教育业务的流媒体分发演进几年前,很多人对在线网课还非常陌生。随着移动设备的普及和音视频技术的发展,如今在线教育产品百花齐放。而在线教育产品能服务千万学子离不开流媒体分发技术的支撑。本次LiveVideoStackCon2021音视频技术大会北京站邀请到了网易有道研发工程师周
- 2023-03-21KCP协议浅析
概述KCP协议结合了TCP和UDP协议的特点,是一个快速可靠的协议。引述官方介绍:KCP是一个快速可靠协议,能以比TCP浪费10%-20%的带宽的代价,换取平均延迟降低30%-40%,且最大延
- 2023-01-01unix网络编程3.3——UDP(三)UDP可靠性传输2——KCP协议(下)
目录系列文章unix网络编程1.1——TCP协议详解(一)unix网络编程2.1——高并发服务器(一)基础——io与文件描述符、socket编程与单进程服务端客户端实现unix网络编程2.2——高并
- 2022-11-01游戏服务器架构:如何避免缓存积累延迟
不管使用TCP还是KCP,你都不可能超越信道限制的发送数据。TCP的发送窗口SNDBUF决定了最多可以同时发送多少数据,KCP的也一样。当前发送且没有得到ACK/UNA确认的数据,都会
- 2022-11-01游戏服务器架构:使用KCP 加速游戏消息,让全球玩家流畅联网
定义 kcp协议是传输层的一个具有可靠性的传输层ARQ协议。 它的设计是为了解决在网络拥堵情况下tcp协议的网络速度慢的问题。