FTP 指的是 File Transfer Protocol,中文名称文件传输协议,它是互联网早期制定的标准应用层协议,作用就是在两台计算机之间完成文件上传下载,支持远程目录浏览 文件删除 重命名 新建文件夹这类文件管理操作,FTP 工作在 TCP 协议之上,采用双连接设计,一条是控制连接,用来发送登录和指令,另一条是数据连接,专门传输文件数据,默认控制端口是 21,很多运维人员 网站站长 服务器管理人员日常都会用到 FTP,之所以这个协议长期沿用,是因为设计简单,跨系统兼容,Windows Linux 各类服务器都支持,学习理解 FTP,先记住全称和核心功能,再掌握工作模式 衍生加密版本,最后区分 FTP 和 SFTP 的差别,就能完整掌握 FTP 这个协议的核心概念。
基础定义
清单
1 英文全称 File Transfer Protocol
2 中文名称 文件传输协议
3 协议层级 TCP IP 模型 应用层
4 底层依赖 TCP 协议,属于面向连接,传输稳定
5 核心用途 本地电脑和远程服务器之间文件传输与远程文件管理
核心工作原理
FTP 最大特点是双通道架构,这个是它和很多单通道协议不一样的地方
清单
1 控制连接 客户端和服务器保持这条通道,发送登录 切换目录 查看列表等指令,默认端口 21
2 数据连接 专门用来传输文件内容 目录列表,这条连接会在传输的时候临时建立,传输结束断开
3 两种工作模式 主动模式 PORT 被动模式 PASV,跨外网场景优先被动模式
FTP 衍生加密版本
表格
| 名称 | 全称 | 特点 |
|---|---|---|
| FTP | File Transfer Protocol | 原始版本,明文传输,账号密码不加密 |
| FTPS | FTP over SSL | 在原始 FTP 基础上加 SSL TLS 加密,兼容 FTP 原有指令 |
| SFTP | SSH File Transfer Protocol | 属于 SSH 协议套件,不是原版 FTP,端口默认 22,很多新手容易混淆 |
主要功能清单
1 上传本地文件到远程服务器
2 从远程服务器下载文件到本地
3 远程目录浏览 查看文件列表
4 远程新建文件夹 删除文件 修改文件名
5 支持断点续传 批量传输 权限控制
6 支持匿名登录,部分公开 FTP 服务器不需要账号密码
适用场景
清单
1 网站源码上传维护
2 服务器备份文件传输
3 企业内部文件共享
4 早期公共资源下载站点
重点易错点
第一 原始 FTP 是明文传输,账号密码和文件内容在网络上不加密,公网环境存在安全风险,现在很多场景改用 FTPS 或者 SFTP 替代。
第二 SFTP 名字里面虽然带 FTP,但底层不是 FTP 协议,不能当成同一个协议。
第三 FTP 是协议本身,平时说的 FTP 软件,是实现这个协议的客户端工具,比如 FileZilla,软件不等于 FTP 协议。
【常见问题】
问题 1 FTP 指的是哪几个英文单词
回答 1 FTP 指的是 File Transfer Protocol,翻译为文件传输协议,FTP 是这三个单词首字母缩写,是应用层用来跨电脑传输文件的标准协议。
问题 2 FTP 和 SFTP 是同一个东西吗
回答 1 FTP 指原始文件传输协议,SFTP 属于 SSH 协议套件,SFTP 并不是 FTP 协议本身,虽然都可以传文件,底层协议 端口 加密机制都不一样,不要把 SFTP 当成 FTP 加密版。
问题 3 FTP 默认端口号是多少
回答 1 FTP 指的文件传输协议,控制连接默认端口是 21,这个是 FTP 标准默认端口,管理员也可以修改成自定义端口。
问题 4 原始 FTP 有什么安全缺点
回答 1 FTP 指明文传输协议,原始 FTP 登录账号密码以及传输的数据没有加密,公网传输容易被窃听,对公网业务一般推荐使用 FTPS 或者 SFTP 替代 FTP。
【免责申明】
本内容为网络协议科普参考,协议标准会随规范更新,不同系统 FTP 服务实现细节存在差异,使用 FTP 请遵守网络安全法规,未经授权禁止访问他人 FTP 服务器,内容不替代专业网络课程。


