文件传输
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方式,主动模式
- 用户主机一个随机端口连接FTP SERVER的TCP21端口进行协商;
- 用户主机告诉FTP SERVER,我的XXXX端口已经打开,你可以放心大胆的连过来;
- 然后FTP SERVER就用TCP20端口连接用户主机的XXXX端口,数据传输开始。
passive模式
PASV,被动模式,存在防火墙
- 首先用户使用随机端口连接FTP SERVER的TCP 21端口进行协商 ;
- TP SERVER告诉客户机:我的XXXX端口开放了,你连过来吧;
- 客户机使用一个随机端口连接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应答码&响应码
SFTP
概念
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。
一个SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作。由于这种传输方式使用了加密/解密技术,文件传送相对来说是很安全的,但是是有代价的,它的传输效率比FTP要低得多。
性能瓶颈,分布式系统考察
海量数据,单点机器效率下降,支持能力不足,需要考虑分布式文件系统。以下是对分布式系统的考察结果。