写点什么

加速文件传输协议如何工作

作者:镭速
  • 2023-04-13
    广东
  • 本文字数:2250 字

    阅读完需:约 7 分钟


流行的文件传输协议(例如 FTP / S,SFTP 和 HTTP / S)取决于名为 TCP 的基础协议。TCP 的问题在于,随着网络条件(例如延迟和数据包丢失)的增加,网络吞吐量会大大降低。这在很大程度上归因于用于确保 TCP 可靠性的算法。TCP 使用滑动窗口算法,该算法会随着延迟和数据包丢失的增加而降低吞吐量。结果是,基于 TCP 的文件传输协议通常无法充分利用可用带宽,实际上大大增加了传输文件所需的时间。在卫星,跨大陆和越洋文件传输中经常可以看到这种效果。

AFTP(加速文件传输协议)通过更改执行文件传输的方式来解决此问题。AFTP 并非仅依赖于 TCP,而是具有使用 TCP 和 UDP 协议组合的两个通信通道。第一个通道称为控制通道,使用 TCP,并负责诸如用户身份验证,文件管理和协调文件传输之类的任务。第二个通道称为数据通道,使用 UDP 并负责传输文件数据。与 TCP 不同,在类似的网络条件下,与 TCP 相比,UDP 不会遭受相同程度的吞吐量降低。AFTP 可以通过 UDP 传输大多数数据来利用这一点,从而提供最佳吞吐量。  

AFTP 对我有用吗?

在高延迟(> 50ms)的高带宽网络(> 5Mbps)中使用时,AFTP 可以提供最大的性能提升。例如,考虑到这两个位置之间的地理距离,通过 45Mbps 连接在东京和洛杉矶之间进行文件传输可能会具有较高的延迟,并且将从使用 AFTP 中受益。相反,通过 100Mbps 连接在 LAN(局域网)上的两个主机之间的文件传输不太可能具有高延迟,也不会受益于使用 AFTP。

什么是延迟?

在网络中,等待时间是对数据包从一个网络点到达另一个网络点所花费的时间的度量。延迟可能受许多变量的影响,包括点之间的距离,点之间的网关数量以及所使用的介质(例如,无线,光纤)。延迟通常以毫秒(ms)为单位。示例:洛杉矶的主机 A 和东京的主机 B 之间的延迟时间为 200 毫秒。

什么是丢包?

当一个或多个数据包无法到达其预期的目的地时,数据包丢失是一种网络状况。数据包丢失是指未到达目的地的数据包的百分比,也称为丢失或丢弃的数据包。示例:洛杉矶的主机 A 和东京的主机 B 之间的数据包丢失率为 1.0%。

什么是吞吐量?

吞吐量是通过网络的实际数据传输速率。吞吐量通常以 bps(比特/秒)为单位。由于网络条件(例如延迟和数据包丢失),吞吐量通常是带宽的一小部分。示例:洛杉矶的主机 A 和东京的主机 B 之间的吞吐量为 5Mbps。

什么是带宽?

带宽是理论上通过网络传送数据的最大速率。带宽通常以 bps(比特/秒)为单位。示例:洛杉矶的主机 A 和东京的主机 B 之间的带宽为 45Mbps。

什么是 TCP?

TCP(传输控制协议)是一种可靠的基于 IP 的网络协议,其中所有数据包均按顺序发送,如果数据包丢失,它将自动尝试重新发送该数据包。

什么是 UDP?

UDP 是 TCP 协议的兄弟,两者都依赖于基础 IP 堆栈。与 TCP 不同,UDP 不需要按顺序发送数据包,并且不会自动尝试重新传输丢失的数据包。数据包的重传和重新排序是高级协议(在本例中为 AFTP)的职责。

镭速文件传输协议优势

镭速传输团队自主研发出一款高速传输协议 Raysync Protocol。该文件传输协议彻底消除传输技术的底层瓶颈,克服传统网络、硬件的限制,充分利用网络带宽,实现超低延时、高速、端到端的输出服务,传输速率提升数 100X,能够轻松满足 TB 级别大文件和海量小文件极速传输需求。

镭速传输 Raysync Protocol 协议主要通过如下两方面来改善文件传输效率:

更有效的拥塞判断及处理

目前主流的拥塞判断是基于二十几年前的网络情况设计的,其基本假设是任何丢包都反映了网络拥塞。这一假设与现代网络情况已完全脱节。现代网络丢包常常并不是由拥塞因素引起的。这一脱节导致文件传输协议常常进入过于保守的传输状态。

镭速传输协议拥塞检测算法会自动收集路径上已有的背景传输信息(丢包、时延以及抖动),根据文件传输速度准确判断出实际的拥塞情况,既不过于保守也不过于激进,可以有效充分利用路径带宽。

更准确及时地进行丢包判断恢复制机制

标准文件传输协议-TCP 协议栈通过两种手段判断丢包:

接收端连续重复确认包(Dup-ACK)的数量;

ACK 超时;

当有较多丢包时,往往要靠 ACK 超时来判读超时并引发重传。现代网络的丢包经常是阵发,一个连接上有多个数据包同时丢失是常有的事。因此标准文件传输协议 TCP 经常要靠超时来重传补洞,往往导致出现几秒甚至上十秒的等待状态,让传输长时间停滞甚至中断。这是影响标准 TCP 效率主要问题之一。

镭速传输协议放弃了传输文件传输协议-TCP 协议把传输报文序列既用来作为传输的字节计数又作为可靠传输的确认标识的做法,设计了全新的 ACK 数据算法。传输发送方根据传输接收方返回的 ACK 信息,传输发送方可以第一时间精确判断出丢包情况并进行数据重发,而不用依赖多个 ACK 的累计确认或 ACK 超时定时器来触发数据重发,极大的提升了传输速度和传输实时性。

镭速传输协议对比 TCP 协议测试数据如图 2:



图 2:镭速传输协议对比 TCP 协议测试数据

镭速文件传输加速服务

为应对大文件传输、海量小文件传输、跨国文件传输、P2P 加速传输,数据容灾备份,一对多、多对多异构数据传输,多客户端并发传输,智能双向同步,对象存储等文件传输难题,镭速传输可以将自身的文件传输协议 Raysync Protocol 协议轻松置入企业现有软件系统中,同时支持镭速 Proxy 代理加速、FTP 加速、RaySHH 加速、SDK 传输应用集成等多种加速方式。



镭速传输提供一站式文件传输加速解决方案,旨在为 IT、影视、生物基因、制造业等众多行业客户实现高性能、安全、稳定的数据传输加速服务。传统文件传输方式(如 FTP/HTTP/CIFS)在传输速度、传输安全、系统管控等多个方面存在问题,而镭速文件传输解决方案通过自主研发、技术创新,可满足客户在文件传输加速、传输安全、可管可控等全方位的需求。


用户头像

镭速

关注

还未添加个人签名 2023-01-04 加入

还未添加个人简介

评论

发布
暂无评论
加速文件传输协议如何工作_镭速_InfoQ写作社区