怎么解决FTP传输大文件严重丢包的问题?

通过FTP方式把公司总部的大体量文件传输到国内多地,或者发往国外,经常遇到长距离网络不可避免的时延丢包及跨运营商的情况。如何解决这个问题?

其实不仅是大文件,网络上传输的各种内容,大多数都需要解决丢包和损坏问题。只是对于大文件传输,丢包和损坏的情况可能更明显。

常用的传输方式有两种:TCP和UDP。

传统FTP是使用TCP作为传输协议的。TCP的优点是可靠稳定,在传输数据之前,会有三次握手来建立连接。其缺点是数据传输慢,效率低,占用系统资源高,易被***。因此,使用TCP在低时延和低丢包的网络环境下传输没有问题,如果是不稳定的网络环境和远距离传输、大文件传输时,丢包和损坏的情况就会比较严重。连续丢几个包,速度就能降到冰点。在局域网或本地同运营商网络中传输可以用FTP,像远距离文件传输或者国际文件传输还是算了,会让人绝望的。

UDP的优点是数据传输快,比TCP稍安全;缺点是不可靠,不稳定。UDP在大文件快速传输、跨国传输方面比TCP更有潜力。如果是不稳定的网络环境建议还是用UDP来传。目前,已有几种基于UDP的高速传输协议,如CUTP协议,应用于大文件、海量文件、远距离传输等场景。

现在国内外的文件迁移共享的解决方案厂家们,都是用的基于UDP的升级协议作为传输层协议,在UDP的快速特性上增加了可靠性,解决了远距离文件传输时带宽利用率不高的问题。国际上有IBM等几个大厂商有相关解决方案,国内的Ftrans飞驰传输在这方面也做得不错。

原文地址:http://blog.51cto.com/14119107/2328415

时间: 2024-10-12 20:59:46

怎么解决FTP传输大文件严重丢包的问题?的相关文章

OpenAdaptor1——基于webservice传输大文件

<span style="font-family:Arial, Helvetica, sans-serif;BACKGROUND-COLOR: rgb(255,255,255)">OpenAdaptor支持XFire和CXF开发的webservice,所以开发CXF webservice,基于myeclipse开发比较容易.参照网上webrvice传输大文件示例修改 http://blog.csdn.net/kongxx/article/details/7540930<

TCP协议传输大文件读取时候的问题

TCP协议传输大文件读取时候的问题 大文件传不完的bug 我们在定义的时候定义服务端每次文件读取大小为10240, 客户端每次接受大小为10240 我们想当然的认为客户端每次读取大小就是10240而把客户端的读下来的文件想当然大小每一次都加上10240 而实际上服务端发送文件send每次发送不一定是一次性把10240的文件传送完,可能分了好几次进行发送至缓冲区这我们实际文件大小就不一定是10240 解决办法: 1.对于每次服务端所发送的文件内容及大小都发送给客户端,让客户端一一对应读取 2.实时

Loadrunner上传文件解决办法(大文件)

Loadrunner上传文件解决办法(大文件) 最近再做一个跟海量存储相关的项目测试,需要通过LR模拟用户大量上传和下载文件,请求是Rest或Soap,同时还要模拟多种大小尺寸不一的文件 通常情况下,都是使用简单的post协议即可: 方法一: web_submit_data("importStudent.do", "Action=https://testserver/console/importStudent.do", "Method=POST"

个人第一个开源分布式项目distributeTemplate的实现三 网络通讯netty传输大文件

今天 我将讲讲网络通讯,这里我初始版本 由于采用的事Netty框架  所以 这里讲网络Netty在我们这里是怎么使用的,下周开始添加rpc lucene内容了 实现之后的0.2 0.3版本,后面将会去掉netty依赖 采用原生的NIO2 (aio) 异步非阻塞方式 实现自己网络通讯,也就是说 这部分可能会实现一个简单的但是比netty精简高效的网络框架,后期做出来 可能会单独开一个分支开源出来,netty说白了 就是 事件驱动 以及 NIO 加一些协议 以及 异常 处理,废话不多说了. 我最近

基于RMI服务传输大文件的完整解决方案

基于RMI服务传输大文件,分为上传和下载两种操作,需要注意的技术点主要有三方面,第一,RMI服务中传输的数据必须是可序列化的.第二,在传输大文件的过程中应该有进度提醒机制,对于大文件传输来说,这点很重要,因为大文件的传输时间周期往往比较长,必须实时告知用户大文件的传输进度.第三,针对大文件的读取方式,如果采用一次性将大文件读取到byte[]中是不现实的,因为这将受制于JVM的可用内存,会导致内存溢出的问题. 笔者实验的基于RMI服务传输大文件的解决方案,主要就是围绕以上三方面进行逐步解决的.下面

C# Socket传输大文件

1.基础类TransferFiles,client和server都需要 using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; using System.Windows.Forms; namespace Server { public class TransferFiles { public static int SendData(

远程传输大文件使用什么平台好呢?

远程传输大文件使用什么平台好呢?小文件倒是还可以通过QQ这样的方式进行传输,但是它对传输文件的大小有所限制,传输大文件就行不通了. 远程传输大文件使用什么平台好呢?传输大文件一个是要求传输稳定,不能说传了一点就断了,人又不可能一直盯着看是不是正常传输,这会造成传输时间的浪费.再一个要求文件传输的速度不能太慢,既然是大文件传输,速度很慢可能就要花好几个小时,甚至一整天,这会延误文件的传达. 我平时是使用网盘进行大文件的传输,网盘传输的速度比一般的通讯工具要更加快,也更加稳定,还没有文件的限制. 比

怎么远程传输大文件?

在日常工作中,我们常常会遇到将电脑的文件,特别是大文件资料进行传输,比如设计稿件,软件开发包,视频素材等等大文件资料进行传输发送.虽然网络通信技术不断发展,对大数据量,高频次,远距离的文件传输成为我们工作中常常遇到的问题.常用的QQ文件传输,微信发送,邮箱,FTP等常规方式,都要面对一方发送,一方接收,或者提前上传到服务器,然后接收方下载,同时也收到附件大小的限制,导致工作效率大大降低.传统的传输方式主要分为:http与ftp.我们常用的邮件发送就是http的一种,其主要是便捷,简单.然后很多h

把大象装进冰箱:HTTP传输大文件的方法

上次我们谈到了HTTP报文里的div,知道了HTTP可以传输很多种类的数据,不仅是文本,也能传输图片,音频和视频. 早期互联网上传输的基本上都是只有几k大小的文本和小图片,现在的情况则大有不同.网页里包含的信息实在太多了,随随便便一个主页HTML就有可能上百K,高质量的图片都以M论,更不要说那些电影,电视剧了,几G,几十G都有可能. 相比之下,100M的光纤固网或者4G移动网络在这些大文件的压力下都变成了小水管,无论是上传还是下载,都会把网络传输链路挤的满满当当. 所以如何在有限的带宽下高效快捷