FTP服务器的工作模式及流程

Posted hello_world_I_coming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP服务器的工作模式及流程相关的知识,希望对你有一定的参考价值。

FTP协议:
FTP(File transfer Protocol)是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,
其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数。
FTP服务器一般部署于内网中,具有容易搭建、方便管理的特点。而且有些FTP客户端工具还可以支持文件的多点下载以及断点续传技术,因此FTP服务得到了广大用户的青睐。

Ftp有两种工作模式:
主动模式(PORT):服务器主动向客户端发起连接请求.
被动模式(PAVS):FTP服务器等待客户端发起连接请求(FTP的默认工作模式).

Ftp协议需要用到两个TCP连接:
命令连接:用来在FTP客户端与服务器之间传递命令。
数据连接:用来在服务器和客户端进行文件传输。

无论是主动模式还是被动模式,其要进行文件传输都必须依次建立两个连接,分别为命令连接与数据连接。而主动模式与被动模式的差异主要体现在数据连接通道上。

命令连接:

当FTP客户端需要登陆到FTP服务器上的时候,服务器与客户端需要进行一系列的身份验证过程,这个过程就叫做命令连接。
如在客户端向服务器发起连接请求的时候,客户端会随即的选择某个TCP端口来跟FTP服务器的21号端口进行连接,这主要是通过TCP三方握手来实现的。当三方握手完成之后,客户端与 服务器之间便建立了命令连接通道。不过这个通道的用途是非常有限的,其主要用来传输FTP的相关指令。如查看文件列表、删除文件等等,而不能够用来在客户 端与服务端进行文件传输

数据连接:

在命令连接通道建立以后,如果想要在ftp服务器和客户端之间传输文件,则需要建立数据连接通道。

根据建立数据连接是由谁发起的可以分为主动模式(PORT)和被动模式(PAVS)

主动模式:

 

 

主动模式优点:

服务端配置简单,利于服务器安全管理,服务器只需要开放21端口
缺点:
如果客户端开启了防火墙,或客户端处于内网(NAT网关之后), 那么服务器对客户端端口发起的连接可能会失败

被动模式:

 

 

被动模式通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的Ftp客户端发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。
优点:
对客户端网络环境没有要求
缺点:
服务器配置管理稍显复杂,不利于安全,服务器需要开放随机高位端口以便客户端可以连接,因此大多数FTP服务软件都可以手动配置被动端口的范围


原文链接:https://blog.csdn.net/lijun0302/article/details/108062836

以上是关于FTP服务器的工作模式及流程的主要内容,如果未能解决你的问题,请参考以下文章

ftp实现普通账号和vip账号限速

FTP主动模式与被动模式,及java FTPClient模式设置

python和ftp

Samba服务和FTP服务

万花筒写轮眼之防火墙ALG技术之FTP协议穿墙术

ftp主被动模式及k8s等沙箱环境使用ftp的问题