FTP协议

56 篇文章 7 订阅
7 篇文章 1 订阅

一、FTP的概述

1、文件传送协议FTP (File Transfer Protocol)是互联网上使用得最广泛的文件传送协议,用于Internet上的控制文件的双向传输。

2、FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。

3、FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

二、FTP的特点

1、文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务。

2、FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

3、FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务,FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

三、FTP的工作过程

1、FTP连接有两个进程,如下图所示:

①FTP服务器端打开熟知端口(端口号为21),使客户进程能够连接上。等待客户进程发出连接请求。

②启动数据传送进程(从属进程)来处理客户进程发来的请求。数据传送进程(从属进程)对客户进程的请求处理完毕后即终止。从属进程在运行期间根据需要还可能创建其他一些子进程。

③回到等待状态,继续接受其他客户进程发来的请求。控制进程(主进程)与数据传送进程(从属进程)的处理是并发地进行。

④控制连接:标准端口为21,用于发送FTP命令信息。

    数据连接:标准端口为20, 用于上传、下载数据。

2、FTP协议和其他协议不一样的地方就是客户端访问FTP服务端需要建立两个TCP连接,一个用来传输FTP命令,一个用来传输数据。

四、FTP主动模式和被动模式

1、主动模式:服务端从20端口主动向客户端发起连接。工作过程如下图所示:

在第①步中,FTP客户端提交PORT命令并允许服务器来回连它的数据端口(1027 端口)。

在第②步中,服务器返回确认。

在第③步中,FTP 服务器向客户端发送TCP连接请求,目标端口为1027,源端口为20。为传输数据发起建立连接的请求。

在第④步中,FTP 客户端发送确认数据报文,目标端口20,源端口1027, 建立起传输数据的连接。 

2、被动模式:服务端在指定范围内的某个端口被动等待客户,被动发起连接。

在第①步中,客户端的命令端口与服务器的命令端口建立连接,并发送命令“PASV”。

在第②步中,服务器返回命令“PORT 2024"告诉客户端:服务器用哪个端口侦听数据连接。

在第③步中,客户端初始化一个从自己的数据端口到服务器端指定的数据端口的数据连接。

在第④步中,服务器给客户端的数据端口返回一个“ACK" 响应。

五、TFTP协议

1、TFTP协议的概述

■TFTP是一个很小且易于实现的文件传送协议。

■TFTP 使用客户服务器方式和使用UDP数据报,因此TFTP需要有自己的差错改正措施。

■TFTP只支持文件传输而不支持交互。

■TFTP没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。

2、TFTP的工作特点

■发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。

■发完数据后在规定时间内收不到确认就要重发数据PDU。

■发送确认PDU的一方若在规定时间内收不到下一个文件块,也要重发确认PDU。

■这样就可保证文件的传送不致因某一个数据报的丢失而失败。

3、TFTP工作过程

■开始工作时,TFTP客户进程发送一个读请求PDU或写请求PDU给TFTP服务器进程,其熟知端口号码为69。

■TFTP服务器进程要选择一个新的端口和TFTP客户进程进行通信。

■若文件长度恰好为512字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据PDU。

若文件长度不是512字节的整数倍,则最后传送数据PDU的数据字段一定不满512字节,这正好可作为文件结束的标志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜深人静码代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值