摘 要
信息时代的到来,信息的交流变得越来越重要,而信息的交流离不开文件的传输。基于FTP的文件传输系统意在搭建一个文件传输平台,使其在安全、透明、快捷的环境下来进行文件传输。
FTP协议是一种基于TCP/IP的文件传输协议,用来在网络中进行文件传输。FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,FTP客户在和服务器建立连接前就要经过一个“三次握手”的过程,它带来的意义在于客户与服务器之间的连接是可靠的,而且是面向连接,为数据的传输提供了可靠的保证
FTP分为主动模式和被动模式两种,FTP工作在主动模式使用TCP 21和20两个端口,而工作在被动模式会工作在大于1024随机端口。FTP采用C/S模式,且客户端和服务器处在不对等地位。
论文设计并实现了一个基于FTP协议的文件传输系统,给出了服务器和客户端的功能模块,总体流程及编码实现,并对系统各个功能的实现进行了测试,分析优缺点和总结。
关键词:文件传输协议,TCP/IP,多线程,套接字
第1章 绪论
1.1 课题背景
随着Internet在全世界的普及和发展,越来越多的用户将自己的计算机连入这个人类有史以来最庞大的网络中。其中FTP(File Transfer Protocol)是Internet中最早提供的服务之一,目前仍在被人们广泛使用着。如果说Internet是如今的信息高速公路的话,FTP文件传输系统就是其上面的洲际车,它使用TCP/IP体系结构中应用层上的FTP协议在不同的计算机系统之间互相传输文件。人们通常将文件传输服务称为FTP服务。通过FTP服务,Internet上的用户可以从授权的异地计算机上获取所需的文件,也可以把本地文件传输到其他计算机上,这就为计算机之间双向传输文件提供了一种有效的手段。FTP凭借其透明、快捷等特点,越来越多的人通过FTP能够在互联网上获得大量免费文件,FTP协议已经是Internet上应用最多的协议之一。
虽然FTP应用非常广泛,但在国内仍然缺乏高性能的产品。由于商业原因,对国外FTP文件传输系统的商业产品中的关键技术也知之甚少;同时国内对FTP系统的研究也是相对较少的,这从学术刊物上发表的相关文章就可以看出。所以基于FTP的文件传输系统的研究是有一定意义的。在FTP的众多功能中,安全性是一个突出且敏感的功能。绝大多数企业、部门在使用FTP的时候,都会考虑这个问题,把它作为选购FTP文件传输系统产品的重要依据。目前市场上流行的FTP系统,像Wu-FTP, ProFTP, Serv-UFTPServer等,都是国外的产品,虽然功能和性能等方面都还不错,但毕竟是通用的软件,任何人都可以得到并对其进行研究,从而可能给这些软件的安全性带来了潜在的问题。从保证安全性的角度出发,很有必要根据自身的需要开发一个自己的文件传输系统,这样就可以避免采用通用软件带来的危险。另一方面,在实际使用国外产品的过程中,发现它们并不能很好的满足用户的要求。比如说,访问日志功能,虽然绝大多数的国外产品都有,但是,这些日志功能都是定死的,不能够根据用户的要求来灵活的生成,而这个功能又是用户所必须的。因此研究并实现FTP文件传输系统不仅有助于深入了解各种Innternet协议的实现细节,掌握FTP的技术,而且可实现软件的国产化,满足国内用户的安全性需求,对于社会和个人都是有积极意义的
1.2 课题现状
互联网上传统的技术模式是C/S模式,FTP(File Transfer Protocol)文件传输服务就是这种模式的典型代表。FTP是TCP/IP协议组中的协议之一,该协议是Internet文件传送的基础,它促进了文件的共享、鼓励间接或者隐式地使用远程计算机、向用户屏蔽不同主机中各种文件存储系统的细节以及提供可靠和高效的数据传输。在TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP中主要采用了TCP传输控制协议(Transmission Control Protocol)和Telnet协议。
在网络普及的今天,政府机关、企业、学校等各行各业已经广泛地应用并建立了自己的FTP文件传输系统,FTP极大地提高了我们的工作效率和管理水平。由于计算机网络的互联、互通的特性,为我们工作带来方便和效率。普通的FTP服务要求用户必须在要访问的计算机上有用户名和口令。而Internet上最受欢迎的是称为匿名FTP的服务,用户在登录这些服务器时不用事先注册一个用户名和口令,而是以“anonymous”或“FTP”为用户名,自己的电子邮件地址为口令即可。匿名FTP是目前Internet上进行资源共享的主要途径之一。它的特点是访问方便,操作简单,容易管理。Internet上有许多的资源都是以FTP的形势提供给大家使用的,包括各种文档、软件工具包等等。
FTP虽然是一种已经成熟且应用广泛的的技术,但是其仍然存在需要改进的地方。主要有下面几个方面:
(1) 服务器和客户端的功能被明确划分,如何在服务器端负载压力很大的情况下提高客户端的带宽资源的利用率。
(2) FTP使用明文传输,如何使用多种加密手段保全系统及客户信息的安全。
(3) FTP时延太高,如何保证文件传输速度的稳定。
(4) FTP的开放性,如何保证共享资源的内容健康。
第3章 文件传输系统设计
3.1 系统需求分析
3.1.1客户端需求分析
1、客户端任务概述
该客户端软件的目标用户为一般用户,软件属于通用软件,使用者包括所有层次的人的用户,所以对界面的友好性有一定的要求;软件功能简单明了,操作傻瓜化,无需培训即可上手。在装有该软件的客户端通过服务器的IP地址和端口号能够连接至FTP服务器,通过合法帐号或匿名帐号登录FTP服务器,能够浏览FTP服务器目录,更新FTP服务器目录,能够新建、删除、重命名文件或文件夹,能够上传和下载文件或文件夹。
2、客户端功能和性能需求
对客户端功能有以下几点需求
(1) 登录服务器通过FTP服务器的IP地址、端口号(21)与FTP服务器链接,使用FTP服务器提供的合法帐号或者通用的匿名登录方式登录服务器(前提:服务器支持匿名用户)。
(2) FTP服务器目录浏览当登录成功后客户端显示服务器的目录,取得FTP服务器默认的目录内容一般会列出目录与文件的详细内容,包括文件的读写方式、作者、数量、当前系统用户、文件大小、日期、创建文件时间、文件/目录名。
(3) 更新FTP服务器目录通过对文件列表的操作,可更新FTP服务器的目录位置。
(4) FTP服务器文件操作对取得的FTP服务器默认目录内容的操作,包括新建文件/文件夹、删除文件/文件夹、重命名文件/文件夹。
(5) 上传/下载文件,选择好本地目录或文件,实现文件的上传和下载。
3、客户端性能的需求
(1) 在不存在网络传输错误、FTP服务器IP地址端口号正确以及帐号合法的情况下出现连接错误或者登录失败。
(2) 正确显示FTP服务器默认的目录和目录内容,对中文字符能够正确显示,不出现乱码现象。
(3) 下载文件时保持文件在FTP服务器上的原有格式,保证下载数据的正确性。
(4) 上传文件时保持文件在本地系统中的原有格式,保证上传至FTP服务器数据的正确性。
(5) 在FTP服务器目录上新建文件/文件夹时保证不文件/文件夹名的唯一性,能正确删除文件或文件夹。时间特性要求在网络畅通服务器正常运行以及运行环境规定的条件下,单次连接操作的响应时间要求在5秒钟之内。文件上传或下载视网络情况而定,速度应保持最近状态。
全套毕业设计包含的内容如下:
源程序+论文(15000字以上)+可执行程序+答辩稿+开题报告
如需要请您和我们客服QQ联系