高性能海量数据传输技术白皮书_V2.0

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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实现了在高速广域网上传输海量数据(和文件大小无关
)的传输速率最大
图2:图示为在OC-3(155Mbps)链接上用fasp TM传输单个大文件的性能。

相对于TCP而言,fasp的传输吞吐量不受传输延时的影响,而只随网络丢包率的增加而缓慢减小。

化。

相反,并行TCP技术往往在有丢包的高速广域网上无法实现速率最大化,在传输大量小文件时速率也不稳定,而且需要耗费大量系统资源。

作为一种数据传输协议,fasp具有应用层传输的完全可靠性。

fasp的可靠性设计是基于一种负反馈的机制:接收端检测到丢包并把需要重传的包信息反馈给发送端。

通过理论优化,fasp的重传机制只针对真正的丢包,没有冗余传输和带宽浪费。

其重传效率接近百分之一百。

正因为可以提供极高的下载速度,而且其速率稳定不随动态网络条件变化,fasp可以很好的支持渐进式传输,例如在媒体播放器中播放一个远程媒体流。

而对于其他基于TCP的应用例如HTTP下载来说,如用于远程播放则通常起始缓慢,并且在播放过程中经常由于网络拥塞而造成图像抖动甚至是播放中断。

图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和FTP1的测试机之间互传。

测试机的芯片为奔腾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次原始数据!这造成了它的有效带宽利用率很低。

图6:UDT在T3(45Mbps)链路上的性能。

其中网络延时为100ms, 丢包率为百分之一。

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

只有当UDT退出时,TCP
才能有效利用带宽。

图7:一个UDT数据流和一个TCP数据流在T3(45Mbps)链路上共享带宽。

其中网络延时为50ms, 丢包率为0。

而和UDT相反,fasp TM的传输机制可以使其和TCP数据流相对公平的共享带宽。

综上所述,我们在表1中总结比较了fasp TM和其他几种加速方式的性能特点。

TM加速TCP/IP并行TCP/IP前向差错控制UDP流量喷发有效传输速率最大

高带宽利用率
有效利用CPU资源
高效恢复丢包
协议自身公平性
对TCP协议的公平

稳定性
安全性
自带的监控和计费
完全基于软件
表1:fasp TM和其他几种相关加速技术的比较
fasp高速传输协议
在不同网络距离种类和数据量下皆能实现速率的最大化
•实现了在不同种类网络下端对端数据传输的速率最大化。

传输速率不受传输距离和网络质量的影响。

•传输大批小文件是的速率和传输单个大文件类似。

•使用非常简便,无需专用设备或高性能硬件去保持很高的传输速率。

无以伦比的带宽控制
•提供了精确的速率控制(预设或在运行中实时调整)以确保传输时间。

•运用自适应带宽控制机制来充分利用空余带宽并且和其他数据流共享也有带宽。

•提供快速的发掘机制可以测量任意发送接收端之间的瓶颈带宽。

•可在运行中动态调整带宽共享的策略。

用户可以根据自身所需预设或改变个体的传输速率和完成时间。

•支持完美的渐进式传输,譬如网络媒体播放。

传输速度不会因为拥塞和距离锐减,从而确保了对输入数据的迅捷而平滑的处理。

完整的安全性
•包括了完整的,内置的安全机制。

开放标准的密码体系进行用户验证,数据加密和数据完整性检验。

100%软件产品
•基于标准的IP网络协议开放的应用层协议和传输软件。

不需要对传输端已有操作系统和驱动做任何改动。

不需要额外的设备,无需改变现有网络设置。

鲁棒性和可管理性
•自动的断点续传和失败重传机制。

•提供了端对端传输进程的报告和详细的性能统计数据以便于监控和计费。

同时提供了可定制的传输前和传输后事件处理。

灵捷开放的架构
•支持在所有主要操作系统之间的跨平台文件目录传输。

提供可扩展的软件开放包(SDK),便于用户开发自有程序。

相关文档
最新文档