文件传输协议FTP

一、FTP作用及特征

在之前文章中我们提到的HTTP协议本质上也是和远程主机进行文件上传和下载交互的一种方法。事实上HTTP方法的使用非常广泛,甚至超过了FTP协议。但是FTP协议有个优点,它可以使得远程主机和本地主机的文件系统进行互操作,因为HTTP协议上传或下载的路径并不是真实的本地或者远程文件系统。而FTP具有此优势。
FTP协议主要的作用:传输文件到远程主机,或者从主机上下载文件。
使用模式:C/S模式
FTP服务器端口号:21
FTP特征:传输以文件为单位,如果我们要传输大量的文件,那么每个文件都要进行TCP连接的创建,在带宽不够或者服务器与客户机相隔较远时是低效的。

二、FTP的流程

流程如下图:
在这里插入图片描述

(1)客户首先发起建立一个与服务器21端口之间的TCP连接也称为控制连接。
(2)客户在控制连接上进行身份认证。
(3)客户在控制连接上发送命令来浏览远程主机的目录。
(4)当服务器接收到一个文件传输命令时,它使用端口20创建一个与客户的TCP数据连接。
(5)传输一个文件后,服务器结束这个数据连接。
(6)若还有文件传输时,服务器创建第二个TCP与客户的数据连接来传输下一个文件。

三、与HTTP的不同

21端口建立的控制连接我们称之为带外发送控制信息,意思是控制信息的传输和数据信息的传输使用不同的通道。这是FTP和其它协议的显著不同。对比HTTP中控制信息与数据信息是在同一条TCP通道中传输的。
而FTP是有状态的,它要维护用户的状态信息。这就方便了用户的上传和下载操作。而HTTP是一种无状态的协议。

四、FTP命令和应答

常见命令都是在控制连接上发送,相应的FTP服务器端也会在FTP上给出应答。

1、常见命令

(1)USER username:在身份认证时给出用户名;
(2)PASS password:密码;
(3)LIST:返回当前远程目录的文件列表;
(4)RETR filename:获取远程主机当前目录下的一个文件;
(5)STOR filename:存放1个文件到远程主机当前目录下。

2、常见应答

(1)331 Username OK,password required;
(2)125 data connection already open;transfer starting;
(3)425 Can’t open data connection
(4)452 Error writing file

五、FTP数据连接建立模式

1、主动模式

(1)客户端发送PORT命令
(2)服务器根据PORT命令指定的客户端地址的端口号发起数据连接。

2、被动模式

(1)客户端发送PASV命令
(2)服务器返回监听的地址和端口号
(3)客户端发起数据连接

3、有两种模式的原因

很多内部网络禁止来自外部的连接请求,不允许外部的主机连进来但是内部的主机可以连出去。这种情况下使用被动模式是可以的。

六、FTP数据传输的格式

(1)ASCII模式:假定正在传输的文件为简单的ASCII码文本,此时ftp通常会自动调整文件内容以便于把文件解释成另外一台计算机存储文本文件的格式。适用于传输文本文件。
(2)二进制模式
在二进制传输中,保存文件的位序,以便拷贝和原始文件是逐位一一对应的。适用于传输视频、声音。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值