更新时间:2024-11-29 GMT+08:00

FTP-Server基本原理

FTP-Server简介

FTP-Server是一个纯Java的、基于现有开放的FTP协议的FTP服务。FTP-Server支持FTP、FTPS协议,每个服务都支持PORT、PASSIVE数据通信协议。用户或业务组件可通过通用的FTP客户端、FTP协议对HDFS文件系统进行基本的操作,如:文件上传,文件下载,目录查看,目录创建,目录删除,文件权限修改等。

  • 支持FTPS协议,FTPS是基于SSL保护的FTP协议,数据进行加密传输,数据传输受到保护。FTP协议存在安全风险,建议使用FTPS安全协议。
  • 支持PORT、PASSIVE数据通信协议。
  • 利用集群提供的kerberos认证服务进行用户鉴权认证。

FTP-Server结构

FTP-Server服务由多个FTP-Server进程或FTPS-Server进程组成。如图1所示。

FTP-Server服务可以部署在多个节点上,每个节点上只有一个FTP-Server实例,每个实例只有一个FTP-Server进程。

图1 FTP-Server结构

FTP客户端(FTP Client

FTP客户端用于接入FTP服务端,对数据进行上传、下载等操作。FTP客户端集成于业务应用中。

FTP服务端(FTP Servers

FTP服务端对外提供标准的FTP接口,用于支持FTP客户端访问HDFS文件系统,其提供了大部分FTP协议命令。

FTP服务端底层服务基于MRS的基本服务,用户管理基于Kerberos安全认证服务,数据存储基于HDFS服务,服务配置基于OMS服务。

基础服务(Basic Servers

FTP服务端使用的基础服务有三个,Kerberos安全服务,HDFS服务和OMS服务。

  • Kerberos安全服务主要用于支持FTP用户管理和用户登录。
  • HDFS服务主要用于数据存储。
  • OMS服务主要用于FTP服务的参数配置和服务的启停。

FTP-Server原理

FTP-Server的数据方位流程介绍如图2所示。

图2 FTP-Server数据访问流程
  1. FTP客户端使用FTP服务的IP、端口号,连接到FTP服务。
  2. FTP服务端使用这些信息到Kerberos模块做用户认证。
  3. 认证通过后,FTP服务端访问HDFS,将文件信息返回给客户端。
  4. 客户端使用标准的FTP协议,上传、下载文件,管理HDFS文件目录。

FTP-Server安全

FTP协议通讯未做任何加密,通讯内容、用户的用户名、密码、传输数据容易被窃取,因此在非可信的网络,推荐使用FTPS协议通讯。MRS提供的FTP-Server为支持企业、金融基本的应用,提供了FTPS加密协议,传输时对数据进行加密传输,有效防止信息泄漏。客户端使用FTPS协议进行连接时,只支持隐式的FTP over TLS加密方式。

FTP-Server默认关闭FTP协议的FTP-Server进程,管理员可通过FTP服务配置界面进行配置,重启服务后才能连接(使用业务IP连接)。

每个节点默认支持16个FTP/FTPS(用户或客户端)连接。若对性能有要求,建议采用FTPS协议,命令通道加密、数据通道不加密的方式。