FTP上传中断的原因及处理方法


发布时间:2018/12/17 0:28:48


原因:当FTP文件超过一定文件个数的时候,由于零星文件过多就会造成FTP上传时发出的传输命令频繁导致FTP间断。

处理方法:FTP文件打包为压缩包,这样就能减少FTP上传时发出的传输命令,传输速度和时间将缩短,就能避免出现FTP上传中断的问题。

实验分析:

第一次,上传了39.9M共计4330个文件,用了半小时,中间出现多次传输失败。

第二次,上传了12.9M的一个压缩包文件,用了6秒,中间未出现传输失败。

第三次,上传了117M的一个压缩包文件,用了17秒,中间未出现传输失败。

细心的人不难看出,出现上传中断的实验中,所上传的数据有个明显的特点:文件数特别多。而上传成功的两次,则只有一个文件上传。

这样看来,FTP上传中断应该是跟待上传的文件个数有关了。

专业解释如下:

FTP是应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIMEUnicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登录进程。

FTP服务一般运行在2021两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误。

说的这么专业,很多非计算机专业的童鞋可能看能云里雾里,那么我们通俗的解释下为什么会出现FTP上传的文件数比较多的时候就会很慢而且经常中断。

我们把服务器比作一座城市,我们上传的文件就是想要去到城市里的人,FTP协议是想要进城必须遵守的规矩,而传输数据的端口就是城门,每一个文件看做一个人。

 

当我们使用FTP客户端向服务器上传文件数表较多的数据的时候,可以看做是一群人分别驾驶着自己的小轿车通过端口这座门户进入服务器这座城市。

但是,因为进城就必须遵守一定的规则(FTP协议),也就是必须先去命令端口这道门申报一下我要进城然后从数据端口这道门进去,且每次开门只能进一辆车,例如上图的5辆车进城就必须排队等着城门(数据端口)开启关闭5次,而每一次开启关闭城门用时特别久,最重要的是在命令端口这道门申报了之后并不是一直有效,而是在一定时间之后就会关闭,数据端口一看命令端口关闭了,就会跟着关闭,而这时候因为开门关门占用了大量的时间,等待进城的这些车并没有全部进去,这时候就需要重新去命令端口申报,这就是为什么上传着数据中突然中断了,因为命令端口的开放时间到了,必须重新申报了。

 

那么将大量数据压缩成一个压缩包上传呢,这时候就可以看做是一群人坐着一辆大巴车进城

这时候,因为只有一辆车进城,所以在命令端口开放的时间内,这辆大巴车就已经进去城市了,也就不会出现中断了。

分析到了这里,我们应该很明白了,如果想解决FTP上传中断的问题,那么最好的解决办法就是将数据打包压缩之后再上传,这样就不会出现上传中断了,切记,千万不要一次上传太多的文件,一定要打包压缩上传。