简介:实际项目开发中经常使用两种文件传输方式:ftp和sftp,这两种传输方式有什么特点呢?接下来,本文解释SFTP和FTP之间的区别。
1.FTP协议
FTP是TCP/IP协议组中的一个协议,由两部分组成。
FTP 服务器(用于存储文件) FTP 客户端(用户可以使用FTP 客户端通过FTP 协议访问FTP 服务器上的资源) 默认情况下,FTP 协议使用TCP 端口20 和21 来做。 21端口用于发送控制信息,20端口是否作为发送数据的端口与FTP使用的发送方式有关。使用被动模式时,必须在服务器之间协商要使用的特定端口。还有客户。 FTP传输模式有两种:
主动模式(端口) 被动模式(Passive) 主动模式
FTP客户端首先与FTP服务器的TCP21端口建立连接,并通过该通道发送命令。当客户端需要接收数据时,在此通道上发送PORT 命令。 PORT 命令包含客户端用于接收数据的端口。发送数据时,服务器通过自己的TCP 20端口连接到客户端指定的端口并发送数据。
被动模式
建立控制通道与主动模式类似,但在建立连接后使用Pasv命令。 FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024),并通知客户端请求在该端口上发送数据。客户端连接到FTP 服务器上的此端口。通过三次握手建立通道,通过该端口发送FTP服务器数据。
注意:许多防火墙在设置时不允许外部发起的连接,因此客户端无法通过防火墙打开高端端口,因此许多位于防火墙后面或内网FTP 服务器上的防火墙不支持PASV 模式。很多内网客户端无法以PORT方式登录FTP服务器,是因为从服务器的TCP 20无法与内网客户端建立新的连接而停止工作。
2.SFTP协议
SFTP是SSH File Transfer Protocol的缩写,安全文件传输协议。 SFTP 具有与FTP 几乎相同的语法和功能。 SFTP 是SSH 的一部分,是将文件传输到Blogger 服务器的安全方式。事实上,SSH软件包已经包含了一个名为SFTP的安全文件信息传输子系统。 SFTP本身需要使用sshd守护进程(默认端口号为22)来完成相应的连接和响应。所以从某种意义上来说,SFTP更像是一个客户端程序而不是一个服务器程序。
3、两者主要区别
链接方法:FTP 使用TCP 端口21 上的控制连接来建立连接。然而,SFTP 是通过SSH 协议(TCP 端口22)在客户端和服务器之间建立的安全连接来传输文件。安全性:SFTP 使用加密来发送凭据和传输数据,因此与FTP 相比非常安全。效率:SFTP是一种使用加密/解密技术的通信方式,因此通信效率比普通FTP低很多。如果您喜欢这篇文章,请关注并转发。此标题保持原创并继续分享IT 技术知识。如果您对本文内容还有其他的想法或建议,欢迎讨论,让我们共同前进。
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。