网络篇 -- FTP文件传输概要

文件传输

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要低得多。

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值