RaySync 传输协议的有效带宽利用率分析介绍

最近在评论区收到不少朋友反应[RaySync FTP]文件传输的效果挺好,谢谢大家的鼓励。也有部分熟悉技术的同学希望介绍下原理,有部分同学咨询RaySync传输协议会不会是通过超量发包来达到快速传输,担心网络流量利用率低,比如[net-speeder]的双倍发包来抵抗网络丢包。

这篇文章从原理和实测数据两方面,给大家介绍一下RaySync 传输协议的有效带宽利用率。

RaySync 传输协议原理简介:

1、RaySync 协议是在UDP协议之上,增加了RaySync的报文封装,完成了拥塞控制、报文确认、丢包重传等一系列完整的功能,可对比的实现包括[UDT]、[QUIC]、[KCP]。
2、RaySync传输协议重传机制参考了TCP的快速重传,但是做了全新的报文和确认机制设计,RaySync的重传机制可以确保在网络中丢失的报文在1个RTT时间就立刻得到重传,同时可以把由于网络乱序而触发的误重传率控制在1%以内,保障了网络带宽的充分有效利用。
3、RaySync 传输协议从电信行业IPSIGTRAN规范的[SCTP]传输协议也借鉴了一些功能设计,比如单个连接(connection)内部多流(stream)的特性,使RaySync 传输协议在两个端点之间多流传输时,无需建立多条连接,实时性得到了优化。

RaySync 数据传输带宽有效性利用对比:

RaySync 传输协议测试方法和数据收集方法简介

  • 使用RaySync FTP客户端,从RaySync FTP 服务器下载文件
  • RaySync FTP 服务器为Linux系统,RaySync FTP客户端为Windows系统
  • 使用Linux tc工具在服务器端控制丢包率和时延大小
  • 使用tcpdump在服务器端抓取网络实际发送流量
  • 测试时关闭RaySync FTP内置的压缩功能,保证传输文件所有数据未经压缩。
带宽(Mbps) 丢包率(%) 时延(毫秒) 测试文件大小(MB) 实际网络发送流量(MB) 传输完成时间(秒) 网络带宽利用率 网络带宽有效利用率
100 2% 100 1000 1028 85 97% 94%
100 5% 100 1000 1060 88 96.3% 90.9%

从上面实测数据看,RaySync 传输协议在高丢包和高时延环境中,可以保持良好的有效带宽利用率。丢失的数据报文重传是基于精准重传算法策略判断,并非net-speeder工具的暴力双倍发包。

上一篇:win10和win server 2016新的TCP功能介绍


下一篇:为什么新开发的可靠传输协议都是基于UDP协议?