ftp和sftp区别

一、ftp

FTP全称是File Transfer Protocol。用于Internet上的控制文件的双向传输。
FTP是TCP/IP协议组中的协议之一,TP协议由两个部分组成:
FTP服务器和 FTP客户端组成。
默认情况下FTP协议使用TCP端口中的20和21这两个端口。
21端口用于传输控制信息,而是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用被动模式则具体使用哪个端口要服务器端和客户端协商决定。FTP传输模式分为以下两种:主动模式(Port) 和被动模式(Passive、Pasv)

1、主动模式(Port) ,默认用20端口传数据

FTP客户端首先和FTP服务器的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。
在这里插入图片描述

2、被动模式(Pasv),随机开端口给客户端传数据

在建立控制通道与主动模式相似,但建立连接后是Pasv命令。FTP服务器收到Pasv命令后便随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,通过三次握手建立通道,然后FTP服务器将通过这个端口进行数据的传送。
在这里插入图片描述

注意:很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

二、sftp

SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议。SFTP与FTP有着几乎一样的语法和功能。SFTP为SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作。

三、ftp和sftp区别

区别ftpsftp
安全通道和使用协议FTP不提供任何安全通道来在主机之间传输文件。它使用TCP/IP协议SFTP协议提供了一个安全通道,用于在网络上的主机之间传输文件。SFTP是SSH协议的一部分,它是一种远程登录信息,确保使用私有和安全的数据流来安全地传输数据
链接方式FTP的链接方式基于TCP来传输文件,明文传输用户信息和数据SFTP基于SSH来加密传输文件,可靠性高,可断点续传
安全FTP密码和数据以纯文本格式发送,大多数情况下是不加密的,安全性不高SFTP会在发送之前加密数据,二进制的形式传递,是无法“按原样”阅读的,安全性较高。SFTP使用加密传输认证信息和传输的数据,所以使用SFTP会比FTP相对的安全一些
传输效率由于数据未加密,传输效率比sftp高SFTP在传输过程中需要加密和解密,传输效率不如FTP。SFTP中的每个数据包在从客户端写入输出套接字之前都已加密,并在被服务器接收时解密,这当然会导致传输速率降低,但传输非常安全。通常,速度取决于协议,并且应用的安全性越高,速度越慢
  • 22
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值