FTP是文件传输协议的简称,ftp传输协议有着众多的优点所以传输文件时使用ftp协议的软件很多,ftp协议使用的端口是21(也称为控制端口),其实还有一个数据端口20,根据FTP工作方式的不同,数据端口也不都是20,主动模式的被动模式使用的数据端口是不一样的,下面我就一步一步介绍主动ftp模式和被动ftp模式的区别:

一、什么是主动FTP

主动模式的FTP工作原理:客户端从一个任意的非特权端口N连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。

针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:

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

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

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

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

二、什么是被动FTP

为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。

在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。

当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N > 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:

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

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

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

4、 服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)

以上关于主动和被动FTP的解释,可以简单概括为以下两点:

1、主动FTP:

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

数据连接:客户端 >1024端口

2、被动FTP:

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

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

三、主动模式ftp与被动模式FTP优点和缺点:

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

java ftp主动模式和被动模式_什么是ftp主动模式和被动模式相关推荐

  1. 苹果手机夜间模式怎么设置_微信怎么设置夜间模式?iPhone夜间模式设置教程 省电又护眼!...

    最近有小伙伴后台留言问了这样一个问题,微信怎么设置夜间模式?首先微信APP目前本身并没有加入夜间模式,如果觉得夜间看手机刺眼的话,可以开启手机自动的夜间模式,大多数安卓和iOS手机都支持,开启后不仅更 ...

  2. java 工厂模式的写法_设计模式-Java-简单工厂模式--BitmapFactory

    上一篇,我们说了下MonkeyLei:设计模式-Java-观察者模式-RxJava 其中还利用到了反射的知识,另外也附上了很多我觉得分析还可以的链接. 这里我们看看简单工厂这块.除了这个还有其他几个: ...

  3. 在python语言中ipo模式不包括_下面不是IPO模式的一部分的是()_学小易找答案

    [单选题]对于某个导体电阻的大小,以下说法正确的是 (6.0分) [单选题]下面不是IPO模式的一部分的是() [单选题]对如图 所示的电路,下列说法正确的是 (6.0分) [填空题]Python语言 ...

  4. 苹果手机夜间模式怎么设置_微信终于有“夜间模式”了,苹果安卓都支持!

    大家好,我是兔兔(ฅ´ω`ฅ) 一个热衷于宠粉跟胡萝卜的小编 每天晚上睡觉前,兔兔最喜欢躲在被窝里面刷朋友圈了, 但是有件事非常苦恼,当你把灯都关了的时候, 手机屏幕那个强光真是可以亮瞎兔兔的双眼, ...

  5. 360兼容模式页面错位_解决360浏览器兼容模式的页面显示问题

    由于众所周知的情况,国内的主流浏览器都是双核浏览器:基于Webkit内核用于常用网站的高速浏览.基于IE的内核用于兼容网银.旧版网站.以360的几款浏览器为例,我们优先通过Webkit内核渲染主流的网 ...

  6. 以下选项中、不是python对文件的打开模式的是_关于Python文件打开模式的描述,以下选项中错误的是()。...

    摘要: 户的该账余额期末,关于额为账款账户借方应收元的期初余,额80元本期贷方发生.打开的描模式... 户的该账余额期末,关于额为账款账户借方应收元的期初余,额80元本期贷方发生. 文件误 打开的描结 ...

  7. ftp主动和被动模式_【扫盲】FTP基础知识详解

    关注我,你的眼睛会怀孕 本文主要介绍FTP的工作原理,FTP主动与被动两种工作模式. FTP 简介 FTP协议就是文件传输控制协议.它可以使文件通过网络从一台主机传送到同一网络的另一台主机上,而不受计 ...

  8. FTP协议主动(Port)模式和被动(Passive)两种模式详解

    FTP协议主动(Port)模式和被动(Passive)两种模式详解 FTP(File Transfer Protocol)是文件传输协议的简称. 正如其名所示: FTP的主要作用,就是让用户连接上一个 ...

  9. vsftpd设置被动模式_Vsftp安装及配置主动模式/被动模式

    第一章.前言 FTP的主动模式(active mode)和被动模式(passive mode) 大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯. ...

最新文章

  1. nginx只允许域名访问,禁止ip访问
  2. 【Android 文件管理】分区存储 ( 分区存储机制 和 文件索引数据 )
  3. php数组为什么其他语言,PHP语言特性和各版本的差异
  4. LeetCode-位运算-36. 只出现一次的数字
  5. Sublime Text的使用技巧
  6. PFLD:简单高效的实用人脸关键点检测算法
  7. 原型模式 —— Java的赋值、浅克隆和深度克隆的区别
  8. try... except异常处理结构
  9. 为什么在JavaScript中0.1+0.2不等于0.3?
  10. Kryo为什么比Hessian快
  11. 何如添加到将文章添加到首页
  12. 东南大学计算机考研数学教材,考东南大学计算机的看这里,双非学长逆袭!
  13. Matlab | 画图线型及颜色符号汇总
  14. 语音直播开发平台打造新娱乐社交模式
  15. IT博客大赛,快来围观!【人艰不拆】
  16. android远程输入法,远程输入法
  17. Gos: Armed Golang
  18. 不用linux转录组数据分析,RNA-seq转录组数据分析
  19. 2022年3,4月份期间UE虚幻引擎的避坑指南
  20. 云主机磁盘存储动态扩容(LVM)方案

热门文章

  1. 2021-2027全球与中国3,5-二氯-4-甲基吡啶市场现状及未来发展趋势
  2. 1.1到底什么是云计算
  3. 如果你没读懂《骇客帝国》
  4. 汇出行 城际拼车/定制客运 小程序操作手册
  5. [BZOJ4408][FJOI2016]神秘数(主席树)
  6. SMTP rcpt error: 5.7.1 Relay access denied
  7. python输出最长字符串_使用Python打印最长的字母子字符串,并打结...
  8. 一个吊打百度网盘的开源神器,还是99年妹子开发的
  9. 这对咱们的打算极为不利
  10. 北京的人口、交通和土地利用发展战略: 基于东京都市圈的比较分析