FTP是如何与服务器进行连接的?

FTP(文件传输协议)是一种用于在客户端和服务器之间传输文件的标准网络协议,它通过建立控制连接和数据连接来实现文件的上传和下载,以下是关于FTP与服务器连接方式的详细解答:

一、FTP连接类型

ftp与服务器的连接方式

1、控制连接:客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。

2、数据连接:FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。

二、FTP传输模式

FTP有两种传输模式:主动模式和被动模式。

1、主动模式(PORT)

命令连接:客户端 >1023端口 -> 服务器 21端口。

数据连接:客户端 >1023端口 <服务器 20端口。

过程:客户端从一个任意非特权端口N(N大于1024)连接到FTP服务器的命令端口(21端口),然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器,接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。

ftp与服务器的连接方式

防火墙要求:必须允许以下通讯才能支持主动方式FTP:

1. 任何大于1024的端口N到FTP服务器的21端口(客户端初始化的连接)。

2. FTP服务器的21端口到大于1024的端口N(服务器响应客户端的控制端口)。

3. FTP服务器的20端口到大于1024的端口(服务器端初始化数据连接到客户端的数据端口)。

4. 大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口)。

2、被动模式(PASV)

命令连接:客户端 >1023端口 -> 服务器 21端口。

ftp与服务器的连接方式

数据连接:客户端 >1023端口 -> 服务器 >1023端口。

过程:为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式,即所谓的被动方式,或者叫做PASV,在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题,当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N 大于 1024和N+1),第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令,这样做的结果是服务器会开启一个任意的非特权端口(P大于 1024),并发送PORT P命令给客户端,然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

防火墙要求:必须允许下面的通讯才能支持被动方式的FTP:

1. 从任何大于1024的端口N到服务器的21端口(客户端初始化的连接)。

2. 服务器的21端口到任何大于1024的端口N(服务器响应到客户端的控制端口的连接)。

3. 从任何大于1024端口N+1到服务器的大于1024端口X(客户端初始化数据连接到服务器指定的任意端口)。

4. 服务器的大于1024端口X到远程的大于1024的端口N+1(服务器发送ACK响应和数据到客户端的数据端口)。

三、优缺点对比

1、主动模式:对FTP服务器的管理有利,但对客户端的管理不利,因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。

2、被动模式:对FTP客户端的管理有利,但对服务器端的管理不利,因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

四、相关问题与解答

问题1: FTP的默认端口号是多少?

: FTP的默认端口号有两个,一个是命令端口(控制端口)21,另一个是数据端口20。

问题2: 如何更改FTP的连接模式?

: 在不同的操作系统和FTP客户端中,更改FTP连接模式的方法可能有所不同,可以在FTP客户端的软件设置中找到相关选项来更改连接模式,在Windows系统中,可以使用命令ftp> quote PASV来切换到被动模式,使用ftp> quote PORT来切换到主动模式,在Linux系统中,可以使用ftp> passive命令来切换到被动模式,再次输入ftp> Passive mode off.可以切换回主动模式。

信息仅供参考,具体操作可能会因软件版本和配置的不同而有所差异,在进行任何更改之前,建议先备份相关配置,并确保了解所做更改的影响。

到此,以上就是小编对于“ftp与服务器的连接方式”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/747432.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-12-19 13:21
Next 2024-12-19 13:24

相关推荐

  • 如何对网站ftp进行上传,FTP上传网站「如何对网站ftp进行上传,ftp上传网站文件」

    1,通过ie浏览器上传,如何上传文件到ftp服务器WIN7系统如何上传文件到FTP服务器 1,先打开“电脑”,在顶部输入栏输入登录FTP服务器的命令,然后按回车键,弹出“登录界面”后,输入登录账号和密码,点击“登录”,下载文件就是从远程主机拷贝文件至自己的计算机上;上传文件就是将文件从自己的计算机中拷贝至远程主机上,用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文

    2023-12-02
    0190
  • 如何把音乐存在云服务器上

    如何把音乐存在云服务器上随着互联网的发展,云服务器已经成为了我们日常生活中不可或缺的一部分,它不仅可以帮助我们存储和备份数据,还可以让我们随时随地访问自己的文件,如何把音乐存在云服务器上呢?本文将为您详细介绍如何将音乐文件上传到云服务器上。1、选择合适的云服务器我们需要选择一个合适的云服务器,市面上有很多云服务器提供商,如阿里云、腾讯……

    2024-03-31
    0150
  • 如何往云服务器上传文件

    如何往云服务器上传文件在云计算时代,云服务器已经成为了企业和个人存储和运行应用的理想选择,如何将文件上传到云服务器呢?本文将介绍两种常见的上传文件方法:使用FTP客户端和使用SSH命令。1、使用FTP客户端上传文件FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的应用层协议,许多FTP……

    2024-01-30
    0273
  • 如何用ftp向云主机上传文件

    一、技术介绍FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的应用层协议,它允许用户在不同的计算机之间传输文件,而不需要了解底层的网络协议细节,FTP协议通常使用两个程序,一个是服务器端程序,另一个是客户端程序,服务器端程序负责接收和存储客户端发送的文件,而客户端程序则负责将本地文件上……

    2023-11-27
    0120
  • FTP、FTPS与SFTP的工作原理

    FTP简介FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的协议,它允许用户在不同的计算机之间传输文件,FTP协议工作在TCP/IP协议之上,使用两个端口进行通信:一个是用于命令传输的21端口,另一个是用于数据传输的20端口,FTP协议支持主动模式和被动模式,默认情况下是主动模式。FT……

    2023-12-17
    0259
  • 如何正确配置FTP服务器以使用自定义域名?

    FTP域名配置与管理背景介绍文件传输协议(FTP)是一种用于在网络上进行文件传输的应用层协议,FTP允许用户连接到远程计算机,查看其文件系统,并进行文件上传和下载操作,尽管其使用不如过去频繁,但在特定行业和应用场景中仍然广泛使用,基本概念 FTP工作原理客户端-服务器模型:FTP采用客户端-服务器模型,即一个F……

    2024-12-19
    01

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入