学 号:
0120810340333
课 程 设 计
题 目
FTP 文件传输的实现
学 院 计算机科学与技术
专 业 计算机科学与技术
班 级 计算机科学与技术 0803 班
姓 名
指导教师
2011
年
6
月
13
日
武汉理工大学《计算机网络》课程设计说明书
课程设计任务书
学生姓名: 专业班级: 计算机
0803
指导教师: 工作单位:计算机科学与技术学院
题 目: FTP 文件传输的实现
初始条件:
理论:学完“操作系统”和“计算机网络”课程,掌握一种高级程序设计语言( C+
+、C#、Java、Delphi)及集成开发平台的使用。
实践:计算机学院科学系实验中心提供计算机、软件平台和网络环境。如果自
己有计算机可以在其上进行设计。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要
求)
(1)模仿应用 FTP 协议。
(2)主要功能: 1 支持站点目录和文件结构浏览。
2 支持断线自动重新连接并自动恢复传输。
3 文件列表过滤,远程编辑,整个远端目录删除,目录上传下载。
(3)应用所学计算机网络课程中的知识,利用网络实用程序实现其协议。
(4)编制好网络实用程序后,设计若干用例,上机测试并分析所设计的程序。
(5)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:
设计题目;需求说明(要求、功能简述)或问题描述;
设计说明(简要的分析与概要设计);详细的算法描述;
源程序与执行结果(含测试方法和测试结果);使用说明;
设计心得(设计的特点、不足、收获与体会);
展望(该实用程序进一步改进扩展的设想)。
时间安排:
设计时间一周: 周 1:查阅相关资料。
周 2:系统分析,设计。
周 3 周 4:编程并上机调试
周 5:撰写课程设计报告。
设计验收安排:16 周星期五 8:00 起到计算机学院科学系实验中心进行上机验
收。
设计报告书收取时间:16 周的星期五下午 5:00 之前。
2
武汉理工大学《计算机网络》课程设计说明书
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
FTP 文件传输的实现
1.需求说明
1.1.FTP 简介
文件传输协议(File Transfer Protocol, FTP)是一个用于在两台装有不同操作系统
的机器中传输计算机文件的软件标准。它属于网络协议组的应用层。 FTP 是一个 8 位
的客户/服务器协议,在网络中各种不同的计算机之间按照 TCP/IP 协议来操作任何类型
的文件。但 FTP 有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间
的时间会非常长,并且不时的必须执行一些冗长的登录进程。
在 FTP 的使用当中,用户经常遇到两个概念:"下载"(Download)和"上
传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文
件就是将文件从自己的计算机中拷贝至远程主机上。
使用 FTP 时必须首先登录,在远程主机上获得相应的权限后,方可上传或下载文
件。要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。FTP 站点
可以使公共的,任何能连接上 Internet 的人都能够访问这种站点;也可是私有的,这个
时候就必须具备一定的权限,比如有相应的用户名和密码;或两种性质都有,这可访问
和操作其中的一部分内容。换言之,除非有用户 ID 和口令,否则便无法传送文件。这
违背了 Internet 的开放性,Internet 上的 FTP 主机何止千万,不可能要求每个用户
在每一台主机上都拥有帐号。匿名 FTP 就是为解决这个问题而产生的。
匿名 FTP 是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,
而无需成为其注册用户。系统管理员建立了一个特殊的用户 ID,名为 anonymous,
Internet 上的任何人在任何地方都可使用该用户 ID。
1.2 功能简述
在利用 FTP 开发应用程序的时候,只有当 FTP 服务器支持各种协议和指令时,才能够
开发客户端程序,用以和服务器建立连接。FTP 服务器提供的功能:
(1) 对远程客户机发出的“连接”与“关闭”请求作出响应,建立客户机与服务器之间的连
接以及解除连接;
(2) 支持开放性公共访问,如匿名访问功能;
(3) 支持对 FTP 文件库的管理及应用;
(4) 支持以不同方式和对不同类型文件(如 ASCII 文件、图形和图像文件、音响文件、
其他二进制文件、各种压缩形式文件)的远程传输;
(5) 能够提用户“帮助”信息;
(6) 支持网络文件打印;
(7) 进行出错处理(信息显示,系统保护),以及安全性。
3
武汉理工大学《计算机网络》课程设计说明书
FTP 客户端程序的主要功能:
(1) 向远程 FTP 服务器提出服务请求;
(2) 支持 FTP 用户界面的操作管理;
(3) 支持 FTP 对各种文件的传输、拷贝、打印和管理。
2.设计说明
2.1 简要的分析
2.1.1 FTP 的基本原理
FTP 通信除了有一个默认的端口 21 外,还需要其他的端口,通常是 2 个端口同时进
行数据传输。一个是默认的端口,而另外一个是按照一定原则有服务器或客户端产生的
非标准端口。21 端口主要进行控制连接,主要是进行命令协议以及服务器端的响应码的
传输;非标准端口主要是进行数据的传递,比如上传文件、下载文件、打印目录信息等。
非标准端口的产生要根据用户选择的连接模式而定,若客户选择的是 PORT 模式,则需
要客户端提供给服务器一个 IP 地址和一个非标准端口;若用户采用被动模式,则服务器
端需要提供给客户端一个 IP 地址和一个非标准的端口。在进行文件传输时,通常是每传
送完毕一个文件后,又会重新建立连接模式并重新产生一个临时端口。
4
武汉理工大学《计算机网络》课程设计说明书
FTP 工作示意图
2.2.2 数据传输
数据传输才是真正的文件传输,基本上独立于物理结构,但若在压缩模式、传输模
式 下 流 式 传 输 与 文 件 结 构 有 关 , 文 件 的 属 性 与 表 示 类 型 有 关 。 数 据 类 型 包 括
ASCII、EBCDIC、图像、本地、格式控制等类型。
2.2.3 数据结构
文件式结构:文件中没有内部结构,文件被看作是二进制流;
记录结构:文件是由一系列记录组成的;
页结构:文件是由不同的索引页组成。
若未使用 STRU 命令,文件结构是默认值。文件的结构会影响传输模型,存储和数据
表示。
2.2.4 建立数据连接
传送数据机制包括建立连接数据参数,用户和服务器有默认数据端口。用户进程默认
数据端口和控制连接端口相同。服务器进程默认数据端口和控制连接端口相邻。被动数
据传输进程在数据端口接受数据,FTP 请求命令决定数据传输的方向。服务器在接收到请
求以后,将初始化端口的数据连接。当连接建立后,传输在 DTP 之间传送,服务器 PI 对
用户 PI 返回应答。FTP 实现运行一个默认数据端口,用户 PI 才能改变默认端口。
2.2 概要设计
FTP 需要使用服务器端程序和客户端程序支持。
5
评论1
最新资源