当前位置: 首页 > news >正文

FTP主动连接和被动连接

FTP是一种特殊的协议,它使用两个独立的连接来进行文件传输:

  1. 控制连接:用于发送命令和接收响应(例如:登录、切换目录、列出文件列表)。客户端使用一个随机端口连接到服务器的21端口。
  2. 数据连接:专门用于实际传输文件内容或目录列表。

主动模式和被动模式的核心区别在于:由谁(服务器还是客户端)来建立数据连接。


1. 主动模式

在主动模式下,服务器主动发起数据连接到客户端。

工作流程:

  1. 客户端从一个随机端口(例如,端口 A)连接到服务器的21端口,建立控制连接。
  2. 客户端需要传输数据时,会通过控制连接发送一个 PORT 命令给服务器。这个命令告诉服务器:“请连接到我的 IP 地址和另一个随机端口(例如,端口 B)来建立数据连接。”
  3. 服务器从自己的20端口主动连接到客户端在 PORT 命令中指定的端口(端口 B)。
  4. 数据连接建立成功,开始传输数据。

特点与问题:

  • 对客户端友好:客户端的防火墙规则简单,因为它只需要开放一个用于控制连接的端口。
  • 对服务器不友好:服务器需要能够访问到客户端的高位随机端口。
  • 对客户端网络环境不友好:如果客户端位于防火墙或NAT(如家庭或公司网络)之后,服务器的连接请求(从20端口到客户端的端口B)很可能被客户端的防火墙拦截,导致连接失败。

简单比喻:
主动模式就像打电话订餐(控制连接),然后告诉餐厅你的地址(PORT命令),餐厅派外卖员(服务器)主动把餐送到你家(数据连接)。


2. 被动模式

在被动模式下,服务器被动等待客户端发起数据连接。这是现代网络环境下更常用、更推荐的方式。

工作流程:

  1. 客户端从一个随机端口(端口 A)连接到服务器的21端口,建立控制连接。(这一步与主动模式相同)
  2. 客户端需要传输数据时,会通过控制连接发送一个 PASV 命令给服务器。
  3. 服务器收到命令后,会在自己的主机上开启一个随机的高位端口(例如,端口 P),然后通过控制连接告诉客户端:“我已经在端口 P 上准备好了,请你来连接我。”
  4. 客户端使用另一个随机端口(例如,端口 B)主动连接到服务器告知的端口 P。
  5. 数据连接建立成功,开始传输数据。

特点与问题:

  • 对服务器友好:服务器的防火墙只需要开放21端口和一系列用于数据连接的高位端口。
  • 对客户端友好:由于是客户端主动发起所有连接(控制连接和数据连接),因此可以轻松穿透客户端的防火墙和NAT设备。
  • 对服务器安全要求高:服务器需要开放一个较大范围的高位端口,这增加了被攻击的面,需要合理配置防火墙。

简单比喻:
被动模式就像打电话订餐(控制连接),餐厅告诉你一个取餐码和柜台号(PASV响应),然后你需要自己主动去柜台取餐(数据连接)。


总结对比

特性主动模式被动模式
数据连接发起方服务器客户端
服务器端口控制:21, 数据:20控制:21, 数据:一个随机高位端口
客户端端口两个随机端口两个随机端口
防火墙/NAT友好性对客户端网络不友好对双方都更友好(现代网络首选)
FTP命令PORTPASV
适用场景服务器能够直接访问客户端IP的场景(如局域网内)客户端在防火墙/NAT后的场景(如互联网)

在现代互联网环境中,由于绝大多数客户端都位于防火墙或NAT设备之后,被动模式是默认且更可行的选择

http://www.dtcms.com/a/487105.html

相关文章:

  • 【微服务】SpringBoot 整合 FastExcel 实现导入导出操作详解
  • 高端做网站多少钱搜索引擎优化基本
  • 去国外做外卖网站好房子如何上网站做民宿
  • 做电商设计在哪个网站接单做网站中的剪辑图片
  • 从 0 到 1 理解前端工程化:图表化解析核心逻辑
  • 集团型空调厂产能优化:跨厂区压缩机调配与组装线负荷平衡逻辑
  • 可以带锚文本的网站网站开发对算法有要求么
  • 鸿蒙Harmony实战开发教学(No.1)-IDE新版本安装篇
  • 开发 iOS 应用全流程指南,环境搭建、证书配置与跨平台使用 开心上架 上架AppStore
  • 南宁网站推广经理中国外包加工网
  • lesson72:Node.js 安全实战:Crypto-Js 4.2.0 与 Express 加密体系构建指南
  • 03 Eclipse 配置 JDK 环境
  • 移动终端安全:实验3-Drozer关键模块的使用
  • wordpress批量添加tag重庆网站优化服务
  • 数字化转型下,各类实验室软件如何构建高效合规的智能生态?
  • 网站建设纟金手指下拉壹陆英文网站的建设
  • Linux服务器编程实践26-TCP连接超时重连机制:超时时间计算与重连策略
  • 宁波建站平台网站突然打不开
  • 深圳哪家网站建设网页开发需求定制
  • h5游戏免费下载:避开红点
  • 在actix-web中创建一个提取器
  • 一个CTO的一天:Indie Team Kickoff
  • C++ 链表技巧
  • 贪心:Stall Reservations S(重写)
  • 商城网站有免费建设的吗网站开发的主要内容
  • 泉州企业网站设计招商网站建设网
  • 数据库主从同步原理等信息
  • 广西网站建设公司招聘iapp制作软件
  • 人工智能简史(2)
  • 5 网站建设的基本步骤是申请公司邮箱