您当前的位置:首页 > 计算机 > 服务器 > 网络服务

【Windows Server 2019】FTP服务的配置与管理——理论(FTP工作原理及简单介绍)

时间:04-15来源:作者:点击数:

1. File Transfer Protocol 文件传输协议

FTP是互联网上广泛使用的文件传输协议,是TCP/IP协议簇中的协议之一,默认情况下FTP协议使用TCP端口20和端口21。其中端口20用于传输数据,端口21用于传输控制消息。

1.1 工作原理

1.1.1 工作模式

FTP采用客户端/服务器模式,即C/S。FTP服务器存储文件,用户使用FTP客户端,通过FTP协议访问位于FTP服务器上的资源。

1.1.2 连接方式

FTP使用双TCP连接工作方式,包括控制连接数据连接

(1)控制连接

用于在FTP客户端和FTP服务器之间传输FTP控制命令以及命令执行信息。控制连接在整个FTP会话期间一直处于保持打开状态。

(2)数据连接

用于传输数据,包括数据的上传、下载和文件列表的发送等。数据传输结束后,该连接将终止。

在这里插入图片描述

1.1.3 数据传输方式

FTP有两种数据传输方式,包括主动模式被动模式

(1)主动模式

主动模式也称为PORT模式,是FTP默认的数据传输连接方式。

在建立数据传输的过程中,由服务器主动发起连接,因此被称为主动模式。

1)工作原理

在主动模式下,客户端会开启一个端口号大于1024的端口N和N+1两个端口,N为客户端的控制连接端口,N+1是客户端的数据端口。

  • FTP客户端向FTP服务器的21号端口发送PORT消息,告诉服务器客户端用于控制连接的临时端口号是N。
    在这里插入图片描述
  • 在控制连接建立成功后,服务器使用端口20,主动连接客户端的N+1端口来建立数据连接。当双TCP连接正常工作时,数据传输开始。
    在这里插入图片描述

2)主动模式的优缺点

  • 优点:主动模式对FTP服务器的管理有利,因为FTP服务器只需要开启21端口的【准入】和20端口的【准出】即可。
  • 缺点:但这种模式对客户端的管理不利,因为FTP服务器20端口连接客户端的数据端口时,有可能被客户端的防火墙拦截。

3)如何解决客户端防火墙拦截“数据连接”的建立

(1)如果防火墙开启了【拦截通知】,在使用FTP软件连接服务器时,防火墙会弹出提示,只需要点击【允许访问】即可建立连接。

(2)如果防火墙没有开启“拦截通知”,则需要将应用程序添加到防火墙的【允许的程序和功能】列表中。允许FTP客户端(例如WinSCP)以主动模式连接FTP服务器。

(2)被动模式

被动模式也称为PASV模式。由于主动模式的数据连接的建立有可能被客户端防火墙拦截,为了解决该问题,FTP衍生出被动连接模式。

在传输过程中,由于服务器总是被动接收客户端的数据连接,因此被称为被动方式 。

1)工作原理

  • 客户端的控制连接端口N主动连接服务器的21号端口,并发送PASV消息,告诉服务器启用”被动模式“,控制连接建立成功后,服务器开启一个数据端口P,通过PORT消息将P端口告诉客户端。
    在这里插入图片描述
  • 客户端在收到PORT消息后,使用数据端口N+1去连接服务器的数据端口P,建立数据连接,完成数据传输。
    在这里插入图片描述

服务器的数据端口P是随机的,但是P端口的范围是可以设置的。客户端的控制连接端口和数据端口实际中并不是N和N+1的关系,两个端口比较接近而已;

2)被动模式的优缺点

**优点:**被动模式对FTP客户端的管理有利,因为客户端的控制连接端口和数据端口都是【准出】,Windows防火墙对于【准出】状态一般是不拦截的,所以客户端不需要任何多余的配置就可以连接FTP服务器。

**缺点:**对服务器端的管理不利。因为客户端数据端口连到FTP服务器的数据端口P时,有可能被服务器端的防火墙拦截。

3)如何解决服务器端防火墙拦截“数据连接”的建立?

为了解决P端口的放行不被服务器防火墙拦截,需要在服务器端设定P端口的范围,并在防火墙中开启这个范围端口的放行。下图是FTP服务器中指定被动模式的数据端口范围为5000-6000,然后在Windows防火墙中配置5000-6000端口允许放行。

在这里插入图片描述

1.2 文件传输方式

FTP有两种文件传输方式,包括ASCII和二进制流

1.2.1 ASCII模式

ASCII是默认的文件传输模式。适用于传输文本文件,本地文件转换成标准的ASCII码再传输。

1.2.2 二进制流

适用于传送程序文件,文件按照比特流的方式进行传输。

1.3常见客户端

  • 命令提示符
    通常Windows系统都会自带“ftp”命令,可以通过命令提示符使用FTP命令,这是个FTP客户端。
在这里插入图片描述
  • 浏览器
  • Windows资源管理器
  • 开源的FTP客户端FileZilla、微软提供的免费FTP客户端WinSCP等。
在这里插入图片描述

1.4 应用场景

  • 可以通过FTP在互联网上提供软件下载服务。
  • 可以通过FTP,在公司内部共享各种制度文件。
  • 开发网站时,通常利用FTP把网页或者应用程序上传到Web服务器。

参考资料

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门