计算机网络编程实验报告(实现FTP).pdf

计算机网络编程实验报告(实现FTP).pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

计算机网络编程实验

实验题目:实现FTP

学生姓名:

学生学号:

学生班级:

指导老师:

一、实验目的

1.掌握FTP协议

2.掌握FTP的主动模式和被动模式

二、实验原理

1.FTP协议原理

文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具

有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。

在传输文件时,FTP客户端程序先与服务器建立连接,然后向服务器发送命

令。服务器收到命令后给予响应,并执行命令。FTP协议与操作系统无关,任何

操作系统上的程序只要符合FTP协议,就可以相互传输数据。

FTP使用2个端口,一个数据端口和一个命令端口(也叫做控制端口)。这

两个端口一般是21(命令端口)和20(数据端口)。控制Socket用来传送

命令,数据Socket是用于传送数据。每一个FTP命令发送之后,FTP服务器

都会返回一个字符串,其中包括一个响应代码和一些说明信息。其中的返回码主

要用于判断命令是否被成功执行了。

2.FTP工作原理

(1)FTP架构图:FTP协议的两大组成部分就是FTP服务器和FTP客户端。而

FTP服务器起到了中转站和存储中心的作用,用来传递、保存和分发文件给各个

客户端。则FTP架构图如下:

(2)文件上传与下载:FTP服务器内所存储的文件大多都是从用户的客户机

程序中利用FTP协议传输拷贝到远程主机上FTP服务器程序后进行存储的,这个

过程被称为上载(upload,也叫上传);同理,用户将文件从FTP服务器中拷贝

并传输到自己的终端机的过程就是下载(download)。上传和下载过程是我们所

能用到的常见的操作过程。文件的上传与下载有两种模式,一种是Standard,

即PORT方式,是一种主动与服务器连接的方式;另一种是Passive,即PASV方

式,是一种被动和服务器连接的方式。

Standard模式FTP的客户端发送PORT命令到FTP服务器:

主动模式分析:

步骤一:建立命令通道连接

如上图,客户端会随机取一个大于1024以上的端口(portAA)来与FTP

服务器端的port21实现连接。实现连接后客户端便可以通过这个连接来对FTP

服务器执行命令,查询文件名、下载、上传等命令都是利用这个通道来执行的。

步骤二:通知FTP服务端使用Active且告诉连接的端口号

FTP服务器端的端口21号主要用在命令的执行。客户端在需要数据时,会

告知服务器端要用什么方式连接,若是主动模式连接,客户端会随机启用一个端

口(portBB),且通过命令通道告知FTP服务器,并等待FTP服务器端的连接。

步骤三:FTP服务端主动向客户端连接

FTP服务器由命令通道了解客户端的需求后,会主动由port20向客户端

portBB连接。此时FTP的客户端与服务器建立了两条连接,分别用于命令的执

行和数据的传输。而默认FTP服务端使用主动连接端口就是port20。这样就建

立起“命令”与“数据传输”两个通道。

Passive模式FTP的客户端发送PASV命令到FTP服务器:

被动模式分析:

步骤一:客户端与服务器建立命令通道

通过三次握手建立命令通道。

步骤二:客户端发起PASV的连接要求

当使用数据通道命令时,客户端可通过命令通道发起PASV的被动式连接要

求,并等待服务器的回应。

步骤三:FTP服务器启动数据端口,并通知客户端连接

若使用的FTP服务器是能够处理被动式连接的,此时FTP服务器会先启动一

个监听端口。这个端口号码可以是随机的,也可以自定义某个范围的端口。然后

FTP服务器会通过命令通道告知客户端已经启动的端口(portPASV),并等待客

户端的连接。

步骤四:客户端随机取用大于1024的端口进行连接

客户端会随机取用一个大于1024端口来进行对FTP服务器portPASV连接。

如果一切都顺利,那么FTP数据就可以通过portBB和portPASV来传送了。

(3)FTP命令:FTP命令都是由三个或四个大写ASCII码字符组成的。

(4)FTP应答:服务器为了对数据传输的请求和过程进行同步(TCP要求的),

TCP要求对接收到的数据都要进行确认;为了使用户了解服务器的状态,用户可

以根据收到的状态信息对服务器是否正常执行了有关操作进行判断。

三、实验方法

1.拓扑图

2.实验环境

Windows10,MyEc

您可能关注的文档

文档评论(0)

159****5148 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档