FTP Server Over 阿里云 最佳实践

时间:2021-11-20 来源:未知网络 作者:996建站网

概述

作为非常古老的协议(1971年首次提出,1980年首次应用),FTP在目前依然占有一席之地,但是由于目前IT业发展的非常迅猛,它和现在的基础架构产生了一些水土不服,本文旨在通过日常常见的案例,来介绍如何在阿里云上搭建FTP Server和FTP Client。

本文结构

本文先从FTP的协议分析,重点阐述了其中控制通道的两种连接模式,进而说明在阿里云上搭建FTP服务器可能遇到的问题,如被动模式下服务器公网IP无法获取、主动模式下无法连接等情况。

FTP协议摘选

控制通道与数据通道

在FTP协议中,通常有两个通道:控制通道和数据通道,前者用来传输控制命令,如协议握手、获得当前目录等操作,而数据通道顾名思义,就是用来传输文件数据之用,另外ls命令的结果通常也会通过数据通道来传输。

被动模式与主动模式

而被动模式和主动模式是针对如何建立数据通道而言的,这里的主动、被动是站在服务器的角度上描述的,他们的差别简单来说就是数据通道的TCP连接建立是由谁发起的,主动模式下服务器主动向客户端建立数据通道,而被动模式下,服务器是等待客户端来连接的。

这两个模式大家听到比较多的应该是被动模式,通常网上的文章都会建议客户端使用被动模式来连接,下面简单来说明一下两者的差别。

主动模式

主动模式的详细操作可以参考我之前写的一篇文章,这里节选部分信息:

以下是一次完整的交互,客户端为47.x.x.224,服务端为112.x.x.7。

对他的分析可以参考之后的一张交互图,需要重点说明的是交互图中标红的一行,这一行可以理解为数据通道的实际体现(抓包中倒数第4个包,由于我只过滤了FTP协议的包,TCP的控制包没有显示出来,这个包实际上是建立了一个新的TCP流来传输的),在这之前PORT命令是由客户端发出的,这一条报文为

PORT 47,x.x,224,39,16

FTP Server Over 阿里云 最佳实践插图

微信扫一扫 关注公众号

微信扫一扫 使用小程序

百度扫一扫 使用小程序