文件传输协议:FTP、TFTP、SFTP有什么区别?

一个执着于技术的公众号

FTP

提供一种在服务器和客户机之间上传和下载文件的有效方式;是基于TCP的传输,FTP采用双TCP连接方式;支持授权与认证机制,提供目录列表功能。

---控制连接使用TCP端口号21;用于在FTP客户端和FTP服务器之间传输FTP控制命令及命令执行信息;控制连接在整个FTP会话期间一直保持打开

---数据连接使用TCP端口号(主动模式下20,被动模式下随机);用于传输数据,包括数据上传、下载、文件列表发送等。数据传输结束后数据连接将终止

ASPF机制(主动模式下被防火墙限制)和长会话机制(文件传输到99%时中断)

FTP传输模式:ASCII模式和二进制模式

ASCII模式用于传输文本。发送端的字符在发送前被转换成ASCII码格式之后进行传输,接收端收到之后再将其转换成字符。

二进制模式常用于发送图片文件和程序文件。发送端在发送这些文件时无需转换格式,即可传输。

FTP采用两种数据传输方式:主动方式和被动方式

主动方式也称为PORT方式,是FTP协议最初定义的数据传输连接方式。

主要特点是:

1、FTP客户端通过向FTP服务器发送PORT命令,告诉服务器该客户端用于传输数据的临时端口号

2、当需要传送数据时,服务器通过TCP端口号20与客户端的临时端口建立数据传输通道,完成数据传输;在建立数据连接的过程中,由服务器主动发起连接,因此被称为主动方式。

具体交互过程如下:

被动方式也称为PASV方式,被动方式的主要特点是:

1、FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进入被动方式。服务器选择临时端口号并告知客户端

2、当需要传送数据时,客户端主动与服务器的临时端口号建立数据传输通道,完成数据传输;在整个过程中,由于服务器总是被动接收客户端的数据连接,因此被称为被动方式。

具体交互过程如下:

TFTP

简单文件传输协议,也是采用客户机/服务器模式的文件传输协议;TFTP承载在UDP之上,端口号69

TFTP封装:Ethernet 2/IPv4/UDP/FCS

TFTP适用于客户端和服务器之间不需要复杂交互的环境

TFTP仅提供简单的文件传输功能(上传、下载)

TFTP没有存取授权与认证机制,不提供目录列表功能

TFTP协议传输是由客户端发起的

安全文件传送协议SFTP

可以为传输文件提供一种安全的网络的加密方法。SFTP 是SSH的其中一部分,是一种客户端传输文件至服器的安全方式。

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

SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。

结语

如果您看完本文后有所收获, 还希望您随手点个在看 、或者分享转发。您的支持是我坚持分享的最大动力!

  往期精彩  

◆  必看 | Linux系列学习书籍免费送

◆  利用expect批量修改Linux服务器密码

◆  nginx+Keepalived 实现高可用集群

◆  干货 | LVM快照学习

◆  硬核 | 送你一份操作系统词典!值得收藏

◆  抓包工具tcpdump用法说明

◆  零成本 | 手把手教你搭建个人博客

◆  实战 | Hadoo大数据集群搭建

【深度好文】终于有人把云计算、大数据和AI讲明白了

◆  亿级web系统负载均衡几种实现方式

◆  一文带你读懂zookeeper在大数据生态的应用


好文和朋友一起看~
posted @ 2020-06-22 08:00  开源Linux  阅读(1232)  评论(0编辑  收藏  举报