芒云MangCloud高性能海量数据传输技术白皮书

Aspera  速铂高性能海量数据传输解决方案

 

概述

Aspera 速铂的核心技术 fasp TM 是一种全新的软件技术。它彻底克服了传统数据传输软件例如 FTP, HTTP 以及 Windows CIFS 中的固有瓶颈,实现了在各种共享和私有网络环境中传输速度的最大化。这种技术可以获得完美的传输效率,不为网络延迟和丢包所限制。并且,用户享有对传输速度以及不同传输流之间带宽共享的无以伦比的控制。不管网络距离和动态性能如何,即便是在最困难的网络条件下(例如卫星,无线和洲际远程链接 ) , 文件传输时间仍然可以得到保障。FASP 具有内置的,完整的安全性,包括连接节点安全验证,传输中数据加密以及数据完整性验证。

 

高速文件传输的挑战

和传统的基于磁带的邮件递送相比,通过数字化网络传输来实现海量数据的递送具有经济高效的特点。在理想情况下,数据文件可以 通 过 现 有 应 用 程 序 例 如 FTP 文件传输,HTTP 网上递送以及 Windows CIFS 拷贝实现在全世界范围内 IP 网络间快速,经济的传输。但是,在实际网络中,传统的手段无一不陷入传输速度的瓶颈中,以至于甚至无法利用已有网络带宽的一小部分。这是由于这些应用都基于同一种传输协议--TCP。

传输控制协议(TCP)有一个根本的速度瓶颈;这个瓶颈随着传输延迟和网络丢包率的增加而变得愈发明显。速度瓶颈的形成和 TCP 控制数据流量速率的机制密切相关。TCP 发送端需要得到数据接收端收到每个数据包的确认消息才向网络中注入新的数据。但是由此产生的传输速率的增加却随传输延迟的增加而减小。当遇到丢包时,TCP 简单的认为所有丢包都是因为网络拥塞造成的,而无法区分拥塞造成的丢包和信道本身差错造成的丢包。在这种情况下,TCP 就会迅速的减低自身的传输速率。简而言之,TCP 的传输速率在丢包时下降过多,而在正常情况时增加又太过缓慢,以至在高速广域网上无法充分利用已有带宽。对于所有基于 TCP 之上的传输应用而言,它们无一不受以下几个方面的限制:

 

 

图 1 :图示为在 OC-3 (155Mbps )链接上用 TCP  传输单个大文件的性能。显而易见 ,TCP  传输 吞吐 量随传输延时和网络丢包率的增加而迅速减小。

 

■ 速率缓慢以及带宽利用率低下

基于 TCP 的文件传输带宽利用率极低。在局域和校园网这些延迟和丢包率都较小的环境中(10 微秒/0.1%),TCP 在千兆网上的最大吞吐率仅为 50Mbps。当在广域网上传输时,这个问题变得更加突出。在典型的洲际网络或卫星链接上,传输吞吐率可能仅为已有带宽的百分之 0.1 到 1。

有时网络工程师试图通过调整 TCP 协议栈参数,部署 TCP 加速装置或采用并行 TCP的方法以求获得更高带宽利用率。但是这些方法仅仅在网路本身条件较好的情况下有效。当网络信道本身的丢包率较大时,由于 TCP 无法有效区分拥塞引起的和信道本身差错引起的丢包,其吞吐量仍然将会很低。例如在卫星和无线网中,传输速率往往极低以至于文件根本无法传完。

 

■ 传输速率不稳定

如前所述,TCP 采用一种基于丢包的速率控制机制。其依赖于丢包来实现减速而在其他时候线性加速。当信道本身没有丢包是,TCP 只有短暂超出网络已有带宽以至产生丢包的情况下才能减速。这样的设计决定了即使在最理想的情况下,TCP 也只能在最优速率上下震荡。当网络加载负荷变化时,TCP 的传输速率也随之剧烈震荡。某些 TCP 加速器可以使其速率在无错的环境中更平滑,但是在有丢包的环境中仍然无法避免震荡。

 

■ 缺少安全性和可监控性

除了被 TCP 缓慢和不稳定的传输速率所限制以外,传统的文件传输应用往往不具备现代商业所必需的安全性和可管理性。例如 FTP 没有内置的安全机制,往往需要额外的机制来确保内容窃取和篡改。而且有关性能和传输的统计数据也常常无法得到。这对管理传输进程极为不利。

 

速铂FASP 解决方案

速铂的文件传输产品线完全基于 fasp 高速传输协议。fasp 是一种全新的应用层协议,特别为企业关键型文件传输所设计,可以满足其所需的高速度,可预测性和百分之百的安全可靠性。fasp 出众的性能对所有的网络传输媒体皆适用。

 

■ 高速可靠

和 TCP 吞吐率的特性相比,fasp 的传输速率完全不受网络延迟的影响,并且也对网络丢包有很好的鲁棒性。如图 2 所示,在OC-3(155Mbps)网络链接上,fasp 实现了传输速率的最大化,在某些情况下可以比TCP 快千倍。其速率具有可预测性。例如在 10%的丢包情况下,fasp 的吞吐率可以达到网络链接带宽的 90%。在极端情况下,fasp 的吞吐率仅为终端系统的吞吐能力(通常是磁盘读写吞吐率)所限制。

fasp 是在用户数据报协议(UDP)之上开发的应用层协议。和那些基于并行 TCP 的应用不同,fasp 在单个数据流上实现了速度最大化。借助于革新性的文件流线化技术,fasp的传输速率在分发大批小文件时同样可以得到保障。例如,在从美国到新西兰的OC-3 链接上传输一千个 2 兆字节的小文件,传输速率同样可以接近 155Mbps。所以 fasp 实现了在高速广域网上传输海量数据(和文件大小无关)的传输速率最大化。相反,并行 TCP 技术往往在有丢包的高速广域网上无法实现速率最大化,在传输大量小文件时速率也不稳定,而且需要耗费大量系统资源。

作为一种数据传输协议,fasp 具有应用层传输的完全可靠性。fasp 的可靠性设计是基于一种负反馈的机制:接收端检测到丢包并把需要重传的包信息反馈给发送端。通过理论优化,fasp的重传机制只针对真正的丢包,没有冗余传输和带宽浪费。其重传效率接近百分之一百。

正因为可以提供极高的下载速度,而且其速率稳定不随动态网络条件变化,fasp 可以很好的支持渐进式传输,例如在媒体播放器中播放一个远程媒体流。而对于其他基于 TCP 的应用例如 HTTP 下载来说,如用于远程播放则通常起始缓慢,并且在播放过程中经常由于网络拥塞而造成图像抖动甚至是播放中断。

 

 

图 2 :图示为在 OC-3 (155Mbps )链接上用 fasp TM 传输单个大文件的性能。相对于 TCP  而言,fasp 的传输吞吐量不受 传输延时的影响 ,而只随网络丢包率的增加而缓慢减小。

 

 

图 3 :fasp 的文件流线化技术 使 高速传输大 批 量小文件成为可能。这 幅 图 展 示了洲际传输 1000  个 未 经 归档的 的 2  兆字节小文件的性能。传输速率完全平稳 ,在文件间没有中断 。

 

 

图 4 :一个 fasp  数 据 流和 一个 TCP  数据流共享带宽。Fasp 可以有效利用TCP 所不能利用的带宽。

 

 

图 5 : 两个 个 fasp  数 据 流和 两个 个 TCP  数据流共享带宽。Fasp  可以实现和TCP  之间的带宽公平共享

 

■ 自适应速率控制

在理论上 fasp 没有速率上限,可以完全利用任意速度网络的带宽。fasp 采用和 TCP完全不同的速率控制机制,从而实现带宽利用的最大化以及和已有 TCP 数据流公平分享带宽。

有效而公平的自动速率控制

和 TCP 不同,fasp 的速率控制是基于网络中的排队延迟。和丢包相比,排队延迟是预测网络拥塞更快更有效的信号。当网络没有负荷(检测不到排队延迟或排队延迟很小)时,fasp 可以迅速提速以充分利用带宽。当网络拥塞时,fasp 可以迅速减速以获得应有的带宽。fasp 的这套速率控制机制还具有带宽共享的公平性。如图 4 所示,当已有 TCP 数据流不能充分利用链路带宽时,fasp 可以自动提速占据余下的带宽。当链路因为有多个数据流存在而变得拥挤时,fasp 数据流可以实现和 TCP 数据流等量公平共享链路带宽。

响应终端速度瓶颈

如前所述,在超高速网络环境例如千兆网中,速度瓶颈往往不在网络链路本身,而在终端系统,尤其是存储设备的吞吐能力。fasp自适应速率控制不仅可以自动发现现有的网络带宽,而且也能对存储设备动态吞吐率的作出理想的响应。当存储设备设备成为瓶颈是,fasp 可以自动减速以避免其超速运转所造成的丢包以及其他负面影响。当检测到存储设备不再繁忙时,fasp自动提速以充分利用其数据吞吐能力。

可灵活设置的带宽策略

用户可以对每个 fasp 数据流获取带宽的能力进行设置。除了和其他数据流对等共享带宽(如图 4 所示)外,fasp 还支持其他带宽共享机制。比如用户可以选定用固定速率传输,从而使传输速率不受网络负荷的变化而变化。这种策略通常在私有网络环境中适用。此外,用户还可以选定后台传输模式,从而在检测到 TCP 数据流后减到最低速以便将所有带宽留给 TCP 数据流。最后,用户还可以将某一些 fasp 数据流设定成为高优先级的数据流;这些数据流在和其他普通优先级的 fasp 数据流共享带宽是会获得更高的传输速率。

 

■ 完整的安全机制

fasp 提供了完整的内置安全机制。fasp 的安全模式完全基于开放标准的密码体系,包括了:1)通过标准安全外壳(SSH)对传输终端进行验证;2)对传输中数据加以128 位强密码(AES-128)加密;3)对每个数据块进行完整性验证以抵御象中间人以及匿名 UDP 之类的恶意攻击。另外,在不同系统间进行 fasp 传输不会改变文件本身的安全属性。引进以上安全机制对传输速率并没有削弱。在加密模式下,fasp 可以在个人笔记本上实现 40-80Mbps 的广域网传 输 , 在 P4 或 单 处 理 器 上 实 现100-150Mbps 的传输,在双核或双处理器工作站上实现 200-400Mbps 的高速传输。

 

FASP 和FTP 性能比

以下几幅图比较了 fasp 文件传输和 FTP 文件传输在典型网络条件下的吞吐率和所需时间。所有的 fasp 和 TCP 测试都是在 Aspera 的实验室完成的。在每一个测试中,一个 1GB的文件在两台预装有 fasp 和 FTP 1 的测试机之间互传。测试机的芯片为奔腾 4,操作系统是Debian Linux。在测试机之间,一台装有NIST NET 的工作站被用来模拟不同网络环境,提供应有的传输延迟和丢包率。

■ 千兆城 域网和广域网

传统的基于 TCP 的文件传输技术譬如 FTP在遇到丢包的时候迅速减速,所以无法在高速网路链接上长期保持平稳的传输速度。例如,在城域网条件下,基于 TCP 的文 件 传 输 的 理 论 最 大 吞 吐 量 大 约 是50Mbps,无论链接带宽是多少。如图所示,实际的 FTP 吞吐量更少只有 22 Mbps。相比而言,单个 fasp 数据流在相同的条件下可以获得 100%的带宽利用率。在本图中,fasp 数据流的吞吐率为 509 Mbps,接近了磁盘读写速度的极限。也许更加重要的是,fasp 在延迟和丢包率增加的情况下仍然可以保持几乎相同的速度(在 200 微秒2%丢包率下达到 505 Mbps)。与此同时FTP 的吞吐率则减低到了 550Kbps。两者的传输速率差距达到了近千倍。

 

 

■ 跨 洲网络传输

一个从洛杉矶至纽约(90 微秒延迟)的FTP 文件传输在网路丢包较低(0.1%)的时候可以实现 5-6 Mbps 的速率。但当丢包率增加到 1%的时候,FTP 的文件传输速率减低到了 1.4 Mbps。而 Aspera 速铂的 fasp的吞吐率在远程跨洲链路上也可以实现最高的文件传输速率。在一个有 90 微秒延迟,丢包率为 1%,带宽为 155 Mbps 的跨洲网络链接上,fasp 的传输速率可以达到154 Mbps,比 FTP 快 100 倍。在更典型的45Mbps 的跨洲链路上,fasp 的传输速率仍然比 FTP 快 30 倍左右。
1 在实际情况下,FTP 的吞吐率在不同操作系统不同版本的实现,以及不同丢包模式下略微有所不同。但是它们的结果都比较相似。

 

 

■ 洲际网络传输

fasp 相对于 FTP 的速度优势在洲际远程网络链接上也非常明显。在延迟 150 微秒丢包率 2%的环境下,FTP 的平均传输速度低于 700Kbps。而 fasp始终保持着稳定的传输速率。通过 fasp,一个 1 千兆字节的大文件可以在 10 Mbps 的链接上用少于 15 分钟的时间传完,实现 9.9 Mbps 的平均速度,无论网络延迟有多大。如下图所示,在一个45 Mbps 的链接上,fasp 的传输速率可以达到 44.3 Mbps,用 3 分多钟完成一个 1GB 文件的传输。

 

 

■ 高延迟卫星链 路

卫星链路特有的高延迟和高丢包率对 FTP的传输性能有极大的影响,甚至使通过卫星传输大量数据变得不切实际。而 fasp 的传输速率则不为单个或一连串卫星链接所带来的延迟和丢包而受影响。如下图所示,单个 fasp 数据流可以在 45 Mbps 的卫星链路上实现接近百分百的带宽利用。即使在超常的丢包率(20%)的条件下,其吞吐率仍可以接近 40 Mbps.而 FTP 的传输吞吐率一直在 100 Kbps 以下。

 

 

FASP 和 其余 加速技术的比较

如何提高广域网中海量数据传输的速度是一个被广泛关注的问题。工业界和研究机构都试图用不同的方法来提高传输速度。一般来说,已知的不同于 fasp TM 的解决方法可以被归为以下几类:基于 TCP/IP 协议的优化;基于 UDP 的加速;基于纠错编码的机制。

■ 修改 改TCP/IP 协议 栈

对已有 TCP/IP 协议栈进行参数优化是一种比较常见的加速方式。这些加速方法通常会通过调整协议栈参数从而使 TCP 可以维持更大的发送窗口,并且有选择性的报告丢包(SACK)以防止 TCP 在一个往返时间内速率下降过多。一些更高级的机制直接修改 TCP 的速率控制机制。譬如,这些“高速”TCP 协议通常在丢包的时候速率减少更缓慢,而在无网络拥塞的时候速率增加更快。但是,因为这些协议并没有改变 TCP 根本的基于丢包的速率控制,所以只能在丢包比较小的情况下充分利用带宽,而在丢包比较严重的情况下带宽利用率仍然极其低下。
非标准的 TCP/IP 协议栈通常以独立的代理服务器的形式部署在数据中心或广域网链接的前端。这通常需要安装新的硬件设备或更换已有的操作系统。相比而言,速铂的产品可以和现有的运行环境无缝集成,无需对已有软硬件设备做出改动。

■ 并行 行TCP 数据流

另一种对已有 TCP/IP 协议栈提供加速的方法是实施并行 TCP 数据流。显而易见,当单个 TCP 数据流带宽利用率很低时,用多个数据流可以使总的带宽利用率增加。但是由于这种简单的方法没有对 TCP 的速率控制机制做出任何改进,所以在丢包率严重的情况下(大于 10%),其性能仍然不能得到保障。打开多个数据流会大量耗费客户端和服务器端的 CPU 和内存资源。更严重的是,由于 TCP 的带宽控制是基于丢包的,所以当并行 TCP 获得更高的带宽利用率的同时,其实际上已经在瓶颈链路上造成了大量的丢包和拥塞,以至于其余应用无法正常工作或导致其速度及其缓慢。

■ 前 向差错控制

前向差错控制是(FEC)一种在广域网传输中经常被采用的技术。它的原理是在发送的原始数据之上加传一定比例的冗余码,这样当网络拥塞造成丢包的情况下可以通过校验码恢复部分原始数据。严格来说,前向差错控制并不是一种纯粹的加速机制,而只是一种可靠性手段,因其并未对传输速率有何改善。前向差错控制只能在一般丢包的情况下改善传输的可靠性,而其本身在丢包严重的情况下并不能提供完全的可靠性。前向差错控制相关的编码/解码需要耗费一定量的 CPU 资源,在高速网络环境中往往通过特殊硬件实现。相比而言,fasp TM 所采用的负反馈重传机制可以保证传输 100%可靠,并且 CPU消耗很小。

■ 基于UDP 的流量 喷发

由于传统 TCP 传输协议的低效,以及修改TCP 协议本身的复杂性,近几年人们相应推出了一些基于 UDP 的传输协议。其中比较常见的开源协议譬如 Tsunami 和 UDT,正被许多商用产品(Signiant, File Catalyst和 Sterling Commerce)使用。不幸的是,这些协议并没有高质量的设计,仅仅是采用了基于 UDP 的流量喷发。更具体的说,这些协议通常可以保证传输的可靠性,而在此之上采用简单的速率控制来响应网络拥塞。但由于其粗糙的可靠性机制和速率控制设计,这些协议往往传输效率很低,并且会加重网络拥塞造成大量丢包,对网络中其余的 TCP 数据流有极坏的影响。

以 UDT 为例,图 6 汇出了单个 UDT 数据流在 T3 广域网络链接上的性能。如图所示,UDT 在广域网上(延迟 100 微秒, 丢包1%)上的传输速率极不稳定。由于其过于简单的速率控制机制,传输速率在很多时候大大超过了网络已有带宽,从而造成严重拥塞。尽管从表面上看,T3 网络链接的吞吐率接近 100%,但这是以大量丢包为代价的。更严重的是,由于 UDT 可靠性设计上的缺陷,大量的网络带宽被用来反复传递重传数据。而有效的源文件数据只占总数据量的九分之一。简而言之,为了修复 1份数据包,UDT 重传了 8 次原始数据!这造成了它的有效带宽利用率很低。

又如图 7 所示,正因为 UDT 本身会造成大量的拥塞和网络丢包,所以在和另一个 TCP 数据流共享带宽时(45Mbps 网络),TCP 数据流的性能大大削弱,传输速率几乎降到 0。只有当 UDT 退出时,TCP 才能有效利用带宽。

而和 UDT 相反,fasp TM 的传输机制可以使其和 TCP 数据流相对公平的共享带宽。综上所述,我们在表 1 中总结比较了 fasp TM 和其他几种加速方式的性能特点。

 

 

图 6 :UDT  在 T3(45Mbps) 链 路 上的性能。 其 中网络延时为 为100ms,  丢包率为 百 分之一。

 

 

图 7 : 个 一 个 UDT 个 数 据 流 和 一 个 TCP  数 据 流 在T3(45Mbps) 链 路 上共享带宽。 其 中网络延时为 50ms,  丢包率为0。

 

 

 

fasp  高速传输协议

在不同网络距离种类和数据量下皆能实现速率的最大化
• 实现了在不同种类网络下端对端数据传输的速率最大化。传输速率不受传输距离和网络质量的影响。
• 传输大批小文件是的速率和传输单个大文件类似。
• 使用非常简便,无需专用设备或高性能硬件去保持很高的传输速率。

无以伦比的带宽控制
• 提供了精确的速率控制(预设或在运行中实时调整)以确保传输时间。
• 运用自适应带宽控制机制来充分利用空余带宽并且和其他数据流共享也有带宽。
• 提供快速的发掘机制可以测量任意发送接收端之间的瓶颈带宽。
• 可在运行中动态调整带宽共享的策略。用户可以根据自身所需预设或改变个体的传输速率和完成时间。
• 支持完美的渐进式传输,譬如网络媒体播放。传输速度不会因为拥塞和距离锐减,从而确保了对输入数据的迅捷而平滑的处理。

完整的安全性
• 包括了完整的,内置的安全机制。开放标准的密码体系进行用户验证,数据加密和数据完整性检验。
100%软件产品
• 基于标准的 IP 网络协议开放的应用层协议和传输软件。不需要对传输端已有操作系统和驱动做任何改动。不需要额外的设备,无需改变现有网络设置。

鲁棒性和可管理性
• 自动的断点续传和失败重传机制。
• 提供了端对端传输进程的报告和详细的性能统计数据以便于监控和计费。同时提供了可定制的传输前和传输后事件处理。

灵捷开放的架构
• 支持在所有主要操作系统之间的跨平台文件目录传输。提供可扩展的软件开放包(SDK),便于用户开发自有程序。