目 录
1 引言 1
1.1 课题的研究背景与意义 1
1.1.1 课题的研究背景 1
1.1.2 课题的研究意义 2
1.2 问题定义及内容简介 2
1.2.1 问题定义 2
1.2.2 问题的内容简介 2
1.3 课题调研与可行性分析 3
1.3.1 课题调研 3
1.3.2 可行性分析 3
1.4 论文各章内容介绍 4
2 系统需求分析 5
2.1 IPv6发展现状 5
2.2 系统环境的搭建 9
2.3 基于C/S模型的网络开发 9
2.4 支持IPv6的Socket编程 12
3 文件传输协议 15
3.1 介绍 15
3.2 概览 15
3.3 FTP的传输模式 16
3.4 FTP的工作方式 16
3.5 文件传输功能 17
3.6 说明 21
4 FTP对IPv6和NAT的扩展 24
4.1 介绍 24
4.2 EPRT命令 24
4.3 EPSV命令 25
4.4 命令使用 25
5 FTP服务器的实现 27
5.1 总体设计 27
5.2 详细设计 27
5.2.1 主函数设计 27
5.2.2 服务线程 27
5.2.3 其他主要命令 30
5.2.4 数据库设计 33
5.2.5 界面设计 33
5.3 服务器测试 33
6 FTP客户端的实现 37
6.1 方案的选择 37
6.2 界面的设计 37
6.3 几个重要的类 38
6.4 实现步骤 38
7 用户使用手册 40
7.1 系统功能简介 40
7.2 运行环境简介 40
7.2.1 系统环境配置 40
7.2.2 JDK环境变量配置 42
7.2.3 SQL Server2000的有关配置 42
8 系统评价 44
8.1 系统特色/优点介绍 44
8.2 系统存在的不足与改进方案 44
8.2.1 系统存在的不足 44
8.2.2 系统的改进方案 44
结 论 45
致 谢 46
参 考 文 献 47
8 系统评价
8.1 系统特色/优点介绍
本系统参考了RFC959-《FTP协议》与RFC2428-《FTP对IPv6和NAT的扩展》,包括一个服务器端与客户端,实现了大部分的功能,系统特色归纳如下:
(1)无论是服务器端与客户端,都可工作于IPv4与IPv6环境
(2)只要稍做改动,即可实现在各个系统平台的移植
(3)界面友好,操作简单
8.2 系统存在的不足与改进方案
8.2.1 系统存在的不足
本系统基本能满足在IPv4与IPv6环境下工作,常用的FTP命令也得到了实现,但是离真正投入使用还有一定的距离。例如尚未提供多线程断点续传功能,断点续传就是从上次下载文件的中断点开始继续下载,而不必重新从头开始下载。这项功能对于网络情况较差、下载大文件时非常有用。一些下载工具,通过使用这个功能可以将一个文件分成多个部分同时进行下载,充分利用网络资源。FTP有两种工作模式,一种是主动模式(port|eprt),一种是被动模式(pasv|epsv),本系统只实现了第一种模式,这种模式是传统模式,并且对于服务器来说是比较安全的,但是对于装有防火墙或内网的FTP客户端,却经常是连不上,因此被动模式越来越取代了主动模式的位置。
8.2.2 系统的改进方案
当FTP客户在防火墙之外访问FTP服务器时,需要使用被动传输模式,因此实现被动模式是本系统首要改进的任务;要实现多线程断点续传下载就必须对文件进行分块,保存文件的大小、已经下载的文件的大小和各个线程的任务等等;另外,对用户权限的控制还需进一步加强,流量、传输率、服务器灵活性也是需要考虑的因素。希望在以后的时间里加以改进,实现更强的功能。