FTP(文件传输协议)的主动模式与被动模式

FTP(文件传输协议)的主动模式与被动模式FTP File Transfer Protocol 文件传输协议 是提供上传及下载文件的服务 FTP 是基于 TCP 协议的服务 而在 FTP 服务器和客户端建立连接时 有两种模式主动模式 Active 和被动模式 Passive

欢迎大家来到IT世界,在知识的湖畔探索吧!
FTP(文件传输协议)的主动模式与被动模式

FTP(File Transfer Protocol/文件传输协议),是提供上传及下载文件的服务。

FTP是基于TCP协议的服务,而在FTP服务器和客户端建立连接时,有两种模式主动模式(Active)和被动模式(Passive)。

FTP工作原理

FTP服务使用两个端口在服务器和客户端之间进行通信。 一个是控制端口(也叫命令端口),用来传输指令和命令,命令端口通常是21。另一个是数据端口,用来传输实际的数据。

主动模式与被动模式的区别,主要在数据端口上。

FTP主动模式

主动模式建立连接的过程如下:

1. 客户端打开一个随机的端口N(端口号大于1024),连接至FTP服务器的21号命令端口。
   客户端开始监听端口N+1,并通知FTP服务器客户端正在监听的端口号并且已准备好从此端口接收数据。
2. FTP服务器打开20号端口并且建立和客户端数据端口的连接。
3. 客户端向FTP服务器发送一个应答,告诉FTP服务器它已经建立好了一个连接。

欢迎大家来到IT世界,在知识的湖畔探索吧!

主动模式下的工作方式:

欢迎大家来到IT世界,在知识的湖畔探索吧!
命令连接:客户端 ( >1024端口)  ->  FTP服务器 (21端口)
数据连接:客户端( >1024端口)   

FTP(文件传输协议)的主动模式与被动模式总结一下,主动模式下数据连接是由FTP服务器端发起。使用主动模式的情况下,在防火墙或NAT环境下,容易产生一些问题,导致无法连接。比如:FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。所以产生了从客户端发起连接的被动模式。

FTP被动模式

被动模式建立连接的过程如下:
1. 客户端打开一个随机的端口N(端口号大于1024),连接至FTP服务器的21号命令端口。
   客户端打开一个随机的端口N+1,并向FTP服务器发送PASV命令。
2. FTP服务器打开一个任意的非特权端口P(端口号大于1024)并将端口号通知客户端。
3. 客户端发起从本地端口N+1到FTP服务器的端口P的连接用来传送数据。

被动模式下的工作方式:

欢迎大家来到IT世界,在知识的湖畔探索吧!
命令连接:客户端 ( >1024端口)  ->  FTP服务器 (21端口)
数据连接:客户端( >1024端口)   ->  FTP服务器 (>1024端口)

FTP(文件传输协议)的主动模式与被动模式被动模式下,命令连接和数据连接都由客户端发起。这样就可以解决主动模式下从FTP服务器发起的数据连接的端口被防火墙阻塞掉的问题。

解决通过防火墙连接FTP的问题

在FTP服务器端开启被动模式需要进行如下的设置(以vsftpd为例):

pasv_enable=YES        #FTP服务器使用被动模式
pasv_min_port=60000    #定义数据连接端口号开始范围
pasv_max_port=60100    #定义数据连接端口号结束范围

在防火墙上要添加允许从60000到60100端口的入站规则。

解决关于NAT的问题

有两种方法:

  1. 在防火墙上启用FTP的ALG功能
  2. 在FTP服务器端指定地址进行地址转换

以vsftpd为例,配置FTP服务器端指定地址进行地址转换。

欢迎大家来到IT世界,在知识的湖畔探索吧!
pasv_addr_resolve=YES      #启用地址转换
pasv_address=xx.xx.xx.xx   #FTP服务器公网地址



欢迎大家来到IT世界,在知识的湖畔探索吧!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/129066.html

(0)
上一篇 26分钟前
下一篇 6分钟前

相关推荐

发表回复

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

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信