FTP原理及部署

本文涉及的产品
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: FTP原理及部署

FTP原理简介

FTP有两种模式,即主动模式(Active Mode)被动模式(Passive Mode)主要区别在谁在监听数据端口

具体见RFC959

 

-------------
                                            |/---------\|
                                            ||   User  ||    --------
                                            ||Interface|<--->| User |
                                            |\----^----/|    --------
                  ----------                |     |     |
                  |/------\|  FTP Commands  |/----V----\|
                  ||Server|<---------------->|   User  ||
                  ||  PI  ||   FTP Replies  ||    PI   ||
                  |\--^---/|                |\----^----/|
                  |   |    |                |     |     |
      --------    |/--V---\|      Data      |/----V----\|    --------
      | File |<--->|Server|<---------------->|  User   |<--->| File |
      |System|    || DTP  ||   Connection   ||   DTP   ||    |System|
      --------    |\------/|                |\---------/|    --------
                  ----------                -------------
                  Server-FTP                   USER-FTP


User PI(user-protocol interpreter):用户协议解释器

Server PI(server-protocol interpreter):服务协议解释器

DTP(data transfer process):数据传输过程,建立和管理数据连接。 DTP 可以是被动的或主动的。


1.主动模式

1.1 主动模式的过程

FTP服务器在开启后一直在监听21号端口等待客户端通过任意端口进行连接,客户端通过任意端口port1连接服务器21号端口成功后,服务器通过该命令套接字发送各种FTP命令(CD、DIR、QUIT...)。当要发送的命令涉及到数据传输的时候,服务器和客户端间就要开启数据通道,如果此时客户端处于主动模式时,客户端开启并监听一个大于1024的随机端口port2,并通过命令套接字向服务器发送PORT命令通告客户端处于主动模式且正在监听port2。服务器在收到客户端的PORT命令后,使用端口20连接客户端port2(数据端口使用20只是个惯例,其实不适用影响不大),并完成数据传输。

1.2 报文交互

PORT命令说明:(通常格式为【PORT A1,A2,A3,A4,P1,P2】,其中A1,A2,A3,A4为客户端IP地址,P1,P2为随机的一个数据连接端口号,端口号等于P1*256+P2)

比如” PORT 223,3,123,41,99,165 “,指示客户端ip为223.3.123.41,客户端开启的随机端口port2 = 99 * 265 + 165 = 26400,在服务器返回200 PORT command successful之后,客户端才发送获取文件命令RETR。

1.3 注意事项

主动模式需要在客户端开放数据通道端口,建立数据通道依赖与客户端本地网络,如果本地网络没有放行端口或者有防火墙会导致连接无法建立。


2.被动模式

2.1 被动模式的过程

为了给客户端带来方便,FTP被动模式下,客户端发送Request: Pasv命令,服务器在接收到命令后,主动开启一个大于1024的端口port并发送响应Response: 227 Entering Passive Mode(...),客户端主动发起连接到服务器的port,并完成数据传输。在被动模式下客户端不需要监听任何端口,因此在客户端存在某些防火墙规则的情况下会更加适合。

2.2 报文交互

PASV命令说明:(通常格式为【PASV A1,A2,A3,A4,P1,P2】,其中A1,A2,A3,A4为服务端IP地址,P1,P2为随机的一个数据连接端口号,端口号等于P1*256+P2)

比如” PASV 104,255,221,41,113,102 “,指示客户端ip为104.255.221.41,服务端开启的随机端口random port = 113 * 265 + 102 = 30047

2.3 注意事项

被动模式下,服务端的被动端口通常由被动端口范围参数指定,服务端的被动端口范围的端口,需要在防火墙中放行。

:VPC网络环境下,服务端IP地址返回的是私网网卡的私网IP地址,通常需要在FTP软件中指定pasv ip为服务器的公网IP地址,否则可能会导致客户端去连接一个私网地址,无法连接上。


以下均以安装被动模式FTP为例

【windows】

1.通过IIS部署FTP

具体部署过程见:https://help.aliyun.com/document_detail/92046.html

2.通过filezilla server部署FTP(第三方软件)

环境:Windows Server 2016 数据中心版 64位中文版

2.1安装filezilla server
  1. 在实例内部访问如下FileZilla官网,下载FileZilla Server软件,然后安装并运行FileZilla Server。

2.2配置filezilla server
  1. 选择configure进行配置

  1. 设备被动端口范围和被动IP

  1. 设备FTP用户,密码及FTP路径,并保存

  1. 测试FTP连接

【linux】

通过vsftp搭建FTP

官网文档:https://help.aliyun.com/document_detail/142212.html




相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
安全 数据安全/隐私保护
直播系统源码部署,高效文件管理与传输的FTP协议
在直播系统源码部署后的每天要处理大量媒体文件的情况下,FTP协议可以依靠自身的强大文件传输管理机制、备份与恢复与自动化任务来帮助平台用户更好的操作体验,通过FTP协议,也确保直播系统源码媒体文件传输的可靠性与安全性,让直播系统源码成为了更优质的平台。
直播系统源码部署,高效文件管理与传输的FTP协议
|
Cloud Native Linux Docker
云原生之使用Docker部署ftp服务器
云原生之使用Docker部署ftp服务器
795 0
|
2月前
|
JavaScript Linux 应用服务中间件
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
|
2月前
【Azure 应用服务】如何关掉App Service/Function App的FTP部署, 使之变成FTPS
【Azure 应用服务】如何关掉App Service/Function App的FTP部署, 使之变成FTPS
|
11月前
|
网络协议 安全 网络安全
windows搭建ftp及原理(小白向)
windows搭建ftp及原理(小白向)
123 0
|
存储 安全 网络安全
部署FTP服务-1
FTP (File Transfer Protocol文件传输协议)是一种应用层协议采用“C/S”结构设计 在其 结构的中心有一台FTP服务器,如图71所示,为用户提供上传和下载文件的服务。很多企业,大 学及其他组织都建有自己的FTP服务器,有的还会对外开放,提供丰富的教学,娱乐资源。
168 0
部署FTP服务-1
|
网络协议 安全 网络安全
FTP服务器原理及FTP服务器搭建
FTP服务器原理及FTP服务器搭建
231 0
|
网络安全 数据安全/隐私保护 Windows
部署FTP服务-2
使用浏览器访问FTP服务,其基本的URL格式如下: ftp://FTP服务器IP地址或域名(如ftp://1000170),如图7.32所示。
86 0
|
存储 安全 测试技术
部署FTP服务(一)
部署FTP服务(一)
174 0
下一篇
无影云桌面