网站首页 > 技术教程 正文
阅读本文约需要10分钟,您可以先关注我们或收藏本文,避免下次无法找到。
FTP和SFTP都是文件传输协议,我们知道FTP使用的是20和21端口,SFTP使用的是22端口。另外,SFTP前面的S应该是Secure安全的意思。其他的区别可能就不太清楚了。
本文正好能够帮你补齐短板,梳理FTP和SFTP的各方面区别,明确各自的应用场景。
01 FTP协议
FTP(File Transfer Protocol)是主流的文件传输协议,能够实现文件的上传和下载功能。
FTP有两个信道:第一信道(控制信道)和第二信道(数据信道)。第一信道主要是信令的交互,用于协商FTP数据信道的传输模式和传输端口。第二信道用于传输文件。
FTP有两种传输模式:主动模式(Active Mode)和被动模式(Passive Mode)。两种模式都是从FTP服务器侧进行考虑的,如果第二信道由FTP服务器主动发起建立,则称之为主动模式。反之称之为被动模式。
FTP两个信道的协商和建立过程如下图所示。
(1)FTP客户端主动发起TCP请求,和FTP客户端建立TCP会话。
(2)经过TCP三次握手,FTP客户端和FTP服务器建立了第一信道的TCP会话。
(3)在FTP主动模式下,FTP客户端会主动向FTP服务器发送数据,用于第二信道的信息协商;在FTP被动模式下,FTP服务器开始向FTP客户端发送数据,用于第二信道的信息协商。
(4)至此,第一信道工作结束。
(5)在FTP主动模式下,FTP服务器主动发起TCP请求,和FTP客户端建立TCP会话,用于建立第二信道;在FTP被动模式下,FTP客户端主动发起TCP请求,和FTP客户端建立TCP会话,用于建立第二信道。
(6)第二信道建立完成后,进行FTP数据的传输。
另外,FTP的难点在于FTP服务器和客户端建立第二通道时可能会有问题,这受制于两端的网络环境,特别是存在防火墙的环境。
如果同学们想详细了解FTP的传输模式和防火墙对FTP传输的影响,可查找本号的《一文讲透防火墙对FTP传输的影响》文章进行学习,这里不再赘述。
02 SFTP协议
SFTP(Secure File Transfer Protocol)一种安全的文件传输协议,能够为文件传输提供安全的加密通道。
SFTP作为SSH的一部分,包含在SSH软件中。SFTP自身没有独立的守护进程,需要使用sshd守护进程来完成服务器的连接和文件传输。由于SFTP作为SSH的一个组件存在,SFTP能够直接使用SSH加密通道来传输数据。
在进行SFTP数据传输前,首先需要建立SSH加密通道,如下图所示。
(1)SSH客户端主动发起TCP请求,和SSH服务器建立TCP会话。
(2)SSH客户端和SSH服务器协商认证方式。当前SSH有两种认证方式:口令认证和秘钥认证。
(3)如果使用口令认证,则SSH秘钥协商过程如下。
SSH服务器主动发送公钥给SSH客户端。SSH客户端收到公钥后,使用公钥对登陆密码加密,并回送给SSH服务器。SSH服务器使用私钥进行数据解密,并验证SSH客户端的信息合法性,如果验证通过则建立连接,进行加密通信。
(4)如果使用秘钥认证,则SSH秘钥协商过程如下。
SSH客户端主动发送本端公钥给SSH服务器。SSH服务器收到信息后,检查本端的授权列表中是否包含SSH客户端的公钥。如果存在,则生成一个随机数,并使用SSH客户端的公钥加密,生成密文回送给SSH客户端。SSH客户单收到密文后,使用私钥解密,并将随机数发回SSH服务器。SSH服务器验证随机数,如果一致,则认证通过,连接建立。
(4)SSH加密通道建立完成后,SFTP即可进行数据传输,上传和下载文件。
03 二者区别
以下从名称、协议、安全性、架构、通道、模式、传输效率和是否开放八个方面对FTP和SFTP进行对比,总结出了两者主要的区别,如下表所示。
04 应用场景
FTP明文传输,可以不设置密码,任何人都能访问,适用于一些公共场合,比如用于公开信息的存放,可供使用者任意下载。同时,FTP不涉及加解密,传输效率高,适用于公司内部系统间要求的高速文件传输。
SFTP密文传输,必须进行加解密,安全性高,适用于公司机密文件的传输,以及在公网中传输私有信息。同时,SFTP只有一个通道,使用的端口22端口,信道协商简单,适用于复杂网络环境中,不容易出现协商问题。
好了,今天就讲到这里,请大家持续关注我们的后续内容哦!最后如果喜欢本章内容请不要忘了进行点赞、关注与转发哦!
--喜欢请记得点击@IT管理局关注哦--
本局精彩文章:
猜你喜欢
- 2024-09-27 「闪电」下载速度116M/S?三款资源搜索下载神器,一切资源皆可搜
- 2024-09-27 Scherlokk for Mac(文件搜索工具)
- 2024-09-27 UOS操作系统之本地搜索神器Catfish
- 2024-09-27 Everything:文件搜索堪比光速! everything软件搜索文件内容
- 2024-09-27 月活 5 亿的微信搜一搜,不只是一个搜索引擎
- 2024-09-27 详解Linux一个多线程的HTTP/ftp高速下载工具--axel
- 2024-09-27 厌倦了巨慢无比的windows文件搜索?这有个软件敢说自己最快!
- 2024-09-27 彻底摆脱在电脑中苦苦翻寻文件的悲剧,竟然只需一款2M的软件
- 2024-09-27 Linux怎么搭建ftp服务器,Windows怎么访问?按此教程10分钟完成
- 2024-09-27 不用sever系统、不用复杂设置!三分钟学会配置FTP服务!
你 发表评论:
欢迎- 05-1613步震撼淘宝大促闪光裂纹破墙立体字PS制作教程
- 05-16AI教程 | 绘制扁平的萌萌哒图标
- 05-160基础学平面设计所需了解的基础常识汇总
- 05-16自学平面设计需要多长时间?十六年职业设计总监告诉你
- 05-16平面设计都要学习哪些内容?
- 05-16李涛PS教程 高手之路PS教程 合成教程 —制作一个小星球
- 05-16Illustrator实例教程:制作炫酷的漩涡效果
- 05-16Illustrator实例教程:利用混合工具制作一朵炫酷的花
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)