互联网协议 第12章 FTP主动模式和被动模式 互联网协议 第12章 FTP主动模式和被动模式

2022-02-15

一、FTP 是什么

FTP 的中文名称是“文件传输协议”,是 File Transfer Protocol 三个英文单词的缩写。

FTP 是 TCP/IP 协议组中的协议之一,其传输效率非常高,在网络上传输大的文件时,经常采用此协议。

一个完整的 FTP 是 FTP 服务器和 FTP 客户端组成,客户端可以将服务器上的文件通过 FTP 协议下载到本地,也可以将本地数据通过 FTP 协议上传到服务器上。

二、FTP的两个连接

https://file.lulublog.cn/images/3/2022/08/HW1b211B41z4OtWe0Z0giiI2zgCVt0.png

无论是上传还是下载,客户端与服务器之间都会建立 2 个 TCP 连接会话,绿色是控制连接,红色的是数据连接。

其中控制连接用于传输 FTP 命令,如:删除文件、重命名文件、下载文件、列取目录、获取文件信息等。真正的数据传输时通过数据连接来完成的。

默认情况下,服务器 21 端口作为命令端口,20 端口作为数据端口。但是被动模式下有所差别。

2.1、主动模式

  • 在主动模式下,客户端会开启  N和 N+1 两个端口,N 为客户端的命令端口,N+1 为客户端的数据端口

  • 第一步:客户端使用端口 N 连接 FTP 服务器的命令端口 21,建立控制连接并告诉服务器我这边开启了数据端口 N+1

  • 第二步:在控制连接建立成功后,服务器会使用数据端口 20,主动连接客户端的 N+1 d 端口以建立数据连接。这就是 FTP 主动模式的连接过程。

  • 我们可以看到,在这条红色的数据连接建立的过程中,服务器是主动的连接客户端的,所以称这种模式为主动模式

  • 主动模式的利弊

    • 主动模式对 FTP 服务器的管理有利,因为 FTP 服务器只需要开启 21 端口的“准入”和 20 端口的“准出”即可。

    • 但这种模式对客户端的管理不利,因为 FTP 服务器 20 端口连接客户端的数据端口时,有可能被客户端的防火墙拦截掉。

2.2、被动模式

https://file.lulublog.cn/images/3/2022/08/rnKpH7lNzlcKH8lh2h93tnH696229c.png

  • 第一步:客户端的命令端口 N 主动连接服务器命令端口 21,并发送 PASV 命令,告诉服务器用“被动模式”,控制连接建立成功后,服务器开启一个数据端口 P,通过 PORT 命令将 P 端口告诉客户端

  • 第二步:客户端的数据端口 N+1 去连接服务器的数据端口 P,建立数据连接

  • 我们可以看到,在这条红色的数据连接建立的过程中,服务器是被动的等待客户端来连接的,所以称这种模式为被动模式。

  • 被动模式的利弊

    • 被动模式对 FTP 客户端的管理有利,因为客户端的命令端口和数据端口都是“准出”,windows 防火墙对于“准出”一般是不拦截的,所以客户端不需要任何多余的配置就可以连接 FTP 服务器了。

    • 但对服务器端的管理不利。因为客户端数据端口连到 FTP 服务器的数据端口 P 时,很有可能被服务器端的防火墙阻塞掉。

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦

阅读 803