FTP文件传输概要

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/smd2575624555/article/details/82856893

文件传输

FTP

概念

FTP

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”,TCP/IP 协议组中的协议之一 。用于Internet上的控制文件的双向传输。 在FTP的使用当中,用户经常遇到两个概念:“下载”(Download)和"上传"(Upload)。

FTP服务器

支持FTP协议的服务器就是FTP服务器。

端口

默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

匿名FTP

使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可下载或上传文件。 匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。

用户分类

Real账户

这类用户是指在FTP服务上拥有帐号。当这类用户登录FTP服务器的时候,其默认的主目录就是其帐号命名的目录。但是,其还可以变更到其他目录中去。如系统的主目录等等。

Guest用户

在FTP服务器中,我们往往会给不同的部门或者某个特定的用户设置一个帐户。但是,这个账户有个特点,就是其只能够访问自己的主目录。服务器通过这种方式来保障FTP服务上其他文件的安全性。 拥有这类用户的帐户,只能够访问其主目录下的目录,而不得访问主目录以外的文件。

Anomymous用户

这也是我们通常所说的匿名访问。这类用户是指在FTP服务器中没有指定帐户,但是其仍然可以进行匿名访问某些公开的资源。

使用方式

​ FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。

传输方式

ASCII

//todo

二进制传输模式

//todo

支持模式

Standard

PORT方式,主动模式

  1. 用户主机一个随机端口连接FTP SERVER的TCP21端口进行协商;
  2. 用户主机告诉FTP SERVER,我的XXXX端口已经打开,你可以放心大胆的连过来;
  3. 然后FTP SERVER就用TCP20端口连接用户主机的XXXX端口,数据传输开始。

passive模式

PASV,被动模式,存在防火墙

  1. 首先用户使用随机端口连接FTP SERVER的TCP 21端口进行协商 ;
  2. TP SERVER告诉客户机:我的XXXX端口开放了,你连过来吧;
  3. 客户机使用一个随机端口连接FTP SERVER的XXXX端口传输数据。

模式结论

​ 当不存在防火墙的情况下,主动模式和被动模式均适用,但就服务器安全方面考虑,使用主动模式为佳,因为多一个被动连接服务器就要打多开一个端口,开放的端口越多,就意味着服务器面临的危险越大。

FTP命令

命令 描述
ABOR 中断数据连接程序
ACCT 系统特权帐号
ALLO 为服务器上的文件存储器分配字节
APPE 添加文件到服务器同名文件
CDUP 改变服务器上的父目录
CWD 改变服务器上的工作目录
DELE 删除服务器上的指定文件
HELP 返回指定命令信息
LIST 如果是文件名列出文件信息,如果是目录则列出文件列表
MODE 传输模式(S=流模式,B=块模式,C=压缩模式)
MKD 在服务器上建立指定目录
NLST 列出指定目录内容
NOOP 无动作,除了来自服务器上的承认
PASS 系统登录密码
PASV 请求服务器等待数据连接
PORT
IP 地址和两字节的端口 ID
PWD 显示当前工作目录
QUIT 从 FTP 服务器上退出登录
REIN 重新初始化登录状态连接
REST 由特定偏移量重启文件传递
RETR 从服务器上找回(复制)文件
RMD 在服务器上删除指定目录
RNFR 对旧路径重命名
RNTO 对新路径重命名
SITE 由服务器提供的站点特殊参数
SMNT 挂载指定文件结构
STAT 在当前程序或目录上返回信息
STOR 储存(复制)文件到服务器上
STOU 储存文件到服务器名称上
STRU 数据结构(F=文件,R=记录,P=页面)
SYST 返回服务器使用的操作系统
TYPE 数据类型(A=ASCII,E=EBCDIC,I=binary)
USER > 系统登录的用户名

###FTP应答码&响应码

110: 重新启动标记应答   
120: 在n分钟内准备好   
125: 连接打开准备传送   
150: 打开数据连接  
200: 命令成功  
202: 命令失败  
211: 系统状态  
212: 目录状态  
213: 文件状态  
214: 帮助信息  
215: 名字系统类型   
220: 新用户服务准备好了   
221: 服务关闭控制连接,可以退出登录   
225: 数据连接打开,无传输正在进行   
226: 关闭数据连接,请求的文件操作成功   
227: 进入被动模式   
230: 用户登录   
250: 请求的文件操作完成   
257: 创建"PATHNAME"   
331: 用户名正确,需要口令   
332: 登录时需要帐户信息   
350: 下一步命令   
421: 不能提供服务,关闭控制连接   
425: 不能打开数据连接   
426: 关闭连接,中止传输   
450: 请求的文件操作未执行   
451: 中止请求的操作:有本地错误   
452: 未执行请求的操作:系统存储空间不足   
500: 格式错误,命令不可识别   
501: 参数语法错误   
502: 命令未实现   
503: 命令顺序错误  
504: 此参数下的命令功能未实现  
530: 未登录   
532: 存储文件需要帐户信息  
550: 未执行请求的操作 
551: 请求操作中止:页类型未知  
552: 请求的文件操作中止,存储分配溢出  
553: 未执行请求的操作:文件名不合法 

SFTP

概念

sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。

一个SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作。由于这种传输方式使用了加密/解密技术,文件传送相对来说是很安全的,但是是有代价的,它的传输效率比FTP要低得多。

性能瓶颈,分布式系统考察

​ 海量数据,单点机器效率下降,支持能力不足,需要考虑分布式文件系统。以下是对分布式系统的考察结果。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/smd2575624555/article/details/82856893