一、FTP
简介
FTP是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层,提供一种在服务器和客户机之间上传和下载文件的有效方式。

特点

注意:是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
FTP传输模式:ASCII模式和二进制模式
ASCII模式:用于传输文本。发送端的字符在发送前被转换成ASCII码格式之后进行传输,接收端收到之后再将其转换成字符。
二进制模式:常用于发送图片文件和程序文件。发送端在发送这些文件时无需转换格式,即可传输。
FTP采用两种数据传输方式:主动方式和被动方式
主动方式:也称为PORT方式,是FTP协议最初定义的数据传输连接方式。
主动方式特点:
1、FTP客户端通过向FTP服务器发送PORT命令,然后告诉服务器该客户端用于传输数据的临时端口号。
2、当需要传送数据时,服务器通过TCP端口号20与客户端的临时端口建立数据传输通道,完成数据传输;在建立数据连接的过程中,由服务器主动发起连接,因此被称为主动方式。
工作交互过程如下:

被动方式也称为PASV方式,
被动方式的主要特点是:
1、FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进入被动方式。服务器选择临时端口号并告知客户端
2、当需要传送数据时,客户端主动与服务器的临时端口号建立数据传输通道,完成数据传输;在整个过程中,由于服务器总是被动接收客户端的数据连接,因此被称为被动方式。
工作交互过程如下:

二、安全文件传送协议SFTP

可以为传输文件提供一种安全的网络的加密方法。SFTP 其实是SSH的其中一部分,是一种客户端传输文件至服器的安全方式。
其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用ssh守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。

SFTP同样是使用加密传输认证信息和传输的数据,使用SFTP是非常安全的。由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低一些,SFTP一般用于Linux操作系统,作为使用最广泛的文件传输协议。
三、FTP与SFTP对比
FTP和SFTP区别如下图:

评论 (0)