[发明专利]一种简单可靠的远程文件传输方法无效
申请号: | 201110150293.8 | 申请日: | 2011-06-07 |
公开(公告)号: | CN102201903A | 公开(公告)日: | 2011-09-28 |
发明(设计)人: | 王凯 | 申请(专利权)人: | 合肥华云通信技术有限公司 |
主分类号: | H04L1/18 | 分类号: | H04L1/18;H04L1/16;H04L29/08 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 何梅生 |
地址: | 230001 安徽省合肥市高*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 简单 可靠 远程 文件传输 方法 | ||
技术领域
本发明涉及一种文件传输方法,尤其是一种用于Internet文件传输的简单可靠的远程文件传输方法。
背景技术
网络文件传输的协议有多种,其中最常见的是FTP和TFTP。FTP协议(File Transfer Protocol)即远程文件传输协议,是一个用于简化IP网络上系统之间文件传送的协议。采用FTP协议可使Internet用户高效地从网上的FTP服务器传输大信息量的数据文件,将远程主机上的文件拷贝到自己的计算机上,以达到资源共享和传递信息的目的。TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。它基于UDP协议而实现,它不具备通常的FTP的全部功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证等。
FTP是Internet文件传输的基础,它由一系列规格说明文件组成,用于将资料从网络上的一台计算机传输到同一网络上的另一台计算机。同大多数Internet服务一样,FTP也是一个客户/服务器系统;用户通过一个客户机程序FTP,连接至在远程计算机上运行的服务器程序。FTP传输文件的步骤为:1)客户端和服务端的21端口建立链接,发送用户名和密码,服务端验证通过后FTP链接建立;2)客户端发送LIST命令获取下载目录下的文件列表;3)客户端从文件列表中选取一个文件,获得文件大小,通过RETR命令获取文件;当传输文件时,服务器和客户端建立一条TCP数据链路,文件传送完毕后,就关闭该TCP链路;4)循环执行步骤3,直到文件传送完毕。从上面的FTP步骤秘书可以看出,编码实现FTP操作是相当复杂的,所以很多不复杂、开销不大的文件传输服务都是用TFTP。
TFTP传输文件的步骤为:1)客户端向服务器发送读取文件的请求,如果服务器批准此请求,则服务器打开连接;2)服务器向客户端发送定长为512字节的数据包,客户端收到数据包后对这个数据包发送ACK确认包,服务器发出下一个数据包以前必须得到客户对上一个数据包的确认;3)重复步骤2,直到客户端收到一个小于512字节的数据包,然后关闭连接。当用TFTP进行文件传输时,由于TFTP使用的是不可靠的UDP,所以TFTP必须处理分组丢失和分组重复,分组丢失可通过发送方的超时与重传机制解决。由于TFTP的双方都是发送者和接收者,所以目前的技术方案采用的是双方超时重传的机制。
采用FTP协议在FTP客户端和FTP服务器端进行文件的传输,由于操作方便,目前应用比较广泛,但是,采用FTP协议传输文件时,通常在得到FTP协议的用户和密码后即可对传输的文件进行编辑、修改等操作,安全性比较低,并且编码实现FTP操作比较复杂,网络故障很容易导致链接异常,从而影响应用程序的稳定性。
当用TFTP进行文件传输时,由于TFTP使用的是不可靠的UDP,所以TFTP必须处理分组丢失和分组重复,分组丢失可通过发送方的超时与重传机制解决。TFTP是通过发送方的超时与重传机制解决分组丢失的,由于TFTP的双方都既是发送者又是接收者,如果双方都超时与重传,就可能会导致“持续重传问题”。
TFTP服务器发送完数据包DATA[n]之后就开始在设定的时间T1内等待TFTP客户端的确认包,TFTP客户端收到数据包后,发送了ACK[n]确认包,之后就开始在设定的时间T1内等待下一个数据包DATA[n+1],但是这个ACK包在传输的过程中丢失了,于是设定的T1时间一到,TFTP服务器没有收到确认包,TFTP客户端也没有收到下一个数据包DATA[n+1],服务器不知道是自己发送的数据包丢失还是客户端发送的ACK丢失。所以,TFTP服务器重发了数据包DATA[n],而客户端也不知道是DATA[n+1]丢失还是ACK[n]丢失,于是重传了ACK[n]。这个时候问题就来了,客户端重发了ACK[n]后,就再一次收到了DATA[n](当然这个包直接丢弃,不再保存),然后发送这个包的确认包ACK[n]。服务器在重发了DATA[n]后,先是收到了客户端重发的ACK[n],然后发送数据包DATA[n+1],接着又收到了客户端刚发的ACK[n],于是又发了数据包DATA[n+1]。如此重复下去,直到传送完所有数据。这里TFTP服务器端每个数据包都要发送两次,TFTP客户端的每个确认包也要发送两次。不但会造成传输效率低,而且传输的时间也会大大延长。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥华云通信技术有限公司,未经合肥华云通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110150293.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电视银行公共服务平台
- 下一篇:一种质子交换膜燃料电池流场结构