计算机网路学习笔记「FTP协议」
FTP协议概述
TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务
文件传输协议File Transfer Protocol,FTP是应用层的一个文件传输协议, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证
FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信
协议名 | 用途 | 默认端口 | 传输文件类型 | 工作模式 |
---|---|---|---|---|
FTP | 进行文件传输 | 21 | ASCII文件和二进制文件 | 客户机/服务器模式 |
FTP工作原理
FTP 是基于客户———服务器(C/S)模型而设计的,在客户端与 FTP 服务器之间建立两个连接,一条是数据连接,一条是控制连接。
- 数据连接:用于数据传输
- 控制连接:用于传送控制信息(命令与响应)
在整个交互的 FTP 会话中,控制连接始终是处于连接状态的,数据连接则在每一次文件传送时先打开后关闭
将命令和数据分开传送的思想大大提高了 FTP 的效率
FTP的传输方式
FTP支持两种方式的传输:
- 文本ASCII方式
- 二进制Binary方式。
🏹️FTP以ASCII方式作为默认的文件传输方式
- 文本文件的传输采用ASCII方式
- 图象、声音文件、加密和压缩文件等非文本文件采用二进制方式传输
FTP的传输模式
FTP有两种传输模式:
- 主动FTP Port模式
- 被动FTP Passive模式
由于主动模式存在着安全问题,大部分的TFP客户端开始默认使用被动模式。
主动模式FTP Port
主动模式的核心是FTP客户端告诉服务端自己开发那个端口作为数据端口,然后让服务端来连接自己。
在主动模式中,服务端需要主动连客户端,对于客户端的防火墙来说,属于外部连接内部,会出现被阻塞的情况。
被动模式FTP Passive
被动方式解决了主动模式存在的问题。被动连接的核心是控制连接请求和数据连接请求都是由客户端发起。
FTP协议与HTTP协议的区别
协议名称 | 协议类型 | 文件传输方式 |
---|---|---|
FTP | 文件传输协议 | 用了两个并行的tcp来传输文件:一个是控制连接(port:21),一个是数据连接(port:20)。数据连接用于实际发送一个文件,发送完文件之后数据连接后会关闭 |
HTTP | 文件传输协议(超文本传输协议) | Http也可以说是带内(in-band)发送控制信息,在传输文件的同一个tcp连接中发送请求和相应首部行的。 |
参考资料: