第11章 文件传输协议

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

命令 PORT<address> PWD QUIT REIN REST<offset> RETR<filename> RMD<directory> RNFR<oldpath> RNTO<newpath> SITE<params> SMNT<pathname> STAT<directory> STOR<filename> STOU<filename> STRU<type> SYST TYPE<datatype> USER<username>
• 在建立数据连接时,客户数据传输进程成为连 接的接收者,而服务器数据传输进程成了连接 的请求者。
• 客户在需要进行数据传输时,其数据传输进程 在一个自由端口上发出被动打开,然后客户在 控制连接上通过PORT命令将该自由端口告诉 服务器控制进程,服务器数据传输进程在端口 20上主动打开并与客户数据传输进程的自由 端口建立连接。
5) 传输方式 FTP的传输模式有流模式、块模式和压缩模式: (1) 流模式 数据以字节流的形式传送
– 记录结构(EOR,EOF) – 文件结构,接收到的所有数据就是文件内容。(EOF)
(2) 块模式 文件以块形式传送,块带有自己的头部分。头字节 包括16位计数域和8位描述子代码。 (3) 压缩模式 压缩模式中,因为数据是压缩过的,对于增加带宽 有很多好处。
• 数据连接机制还包括建立连接选择数据参数。
2.数据连接管理 默认数据连接端口:所有FTP服务器必须使用 默认数据连接端口(20)。 确定非默认数据端口:用户PI可以使用PORT 命令指定客户的非默认端口。 3.数据连接的关闭 关闭连接的条件:
– 用户端发送ABORT命令 – 服务器通过EOF终止要求,表示结束发送数据 – 控制连接关闭 – 发生不可恢复错误
2.FTP主要特征:
1)控制连接是建立在用户协议解释器和服 务器协议解释器之间用于交换命令与应答 的通信链路。 2)数据连接是传输数据的全双工连接。传 输数据可以发生在服务器数据传输过程 DTP和用户DTP之间也可以发生在两个服 务器DTP之间。
3)文件类型
(1) ASCII码文件类型(默认选择),以NVT ASCII码形式通过数据连接传输。 (2) EBCDIC文件类型。该文本文件传输方式 要求两端都是EBCDIC系统。
返回
12.2 FTP 进程模型
FTP服务的实现是由一组FTP进程完成的。 服务器FTP进程:由协议解释器PI和数据传输过程 DTP组成。 用户FTP进程:由PI、DTP和用户接口组成。 传输与控制采用独立的连接方式具有以下三方面的优 点: • 使FTP协议更加简单并且更容易实现,例如控制连 接可以直接采用Telnet协议实现,FTP数据连接不会 与FTP命令混淆起来。 • 在数据连接结束后,控制连接仍然保留着,它能够 在新的传输连接时被使用。 • 发送方与接收方在所有的数据都到达时可以在数据 连接上用文件结束来通知另一方,从而达到命令传 输的功能。
解释说明 需要帐号名 未决的文件行为 关闭服务器 不能打开数据连接 结束连接 文件不可用 本地错误 磁盘空间不足 无效命令 错误参数 命令未执行 错误指令序列 无效命令参数 登录失败 需要存储文件说明 不可用的文件 不知道的页类型 超过了分配的存储空间 不允许的文件名
进入被动模式(发送 IP 地址、端口号) 登录成功 完成的文件行为 建立的路径名 用户名有效,需要密码
描述 异常中断数据连接程序 系统优先权说明 为服务器上的文件存储器分配字节 为服务器上同名文件填加数据 改变到服务器上的父目录 改变服务器上的工作目录 删除服务器上的指定文件 在指定命令上返回信息 列表显示文件或目录 传输模式 在服务器上建立指定目录 列出文件或子目录(不带属性) 获得服务器的确认,了解服务器是否活动 系统登录密码 等待数据连接的请求服务
(3) 图像文件类型(也称为二进制文件类型)。 数据发送形式呈现为一个连续的比特流。 ASCII码文件类型和EBCDIC文件类型还要加 上文件是否可打印的属性(Noprint/TELNET)
4)数据结构 文件结构(File structure)字节流,无结 构。 记录结构(Record structure )文件被划 分为记录,用于文本文件。 页结构(Page structure )文件被划分为 页,每页有页号和页头。可以进行随机 存取或顺序存取。
注意FTP和Telnet的关系,FTP使用Telnet协议 进行控制连接。
12.2.2 FTP数据连接
数据连接是传输数据的全双工连接。 1.数据连接机制 • 数据连接可以用文件结束来终止传输过程。 这样做的好处可以改变所传输文件的大小。 例如,当服务器中应用程序正在写入文件时, 如果FTP也同时在将这个文件的副本传输至客 户。由于文件传输的连接是单独的,服务器 不必利用控制连接告诉客户方所传输文件的 大小,只需要用数据连接的文件结束来终止 传输。
第12章 文件传输协议
• 文件是计算机系统中信息存储、处理和传输 的主要形式,大多数计算机系统都支持网络 文件访问功能。 对网络文件访问的需求来自四个方面: –不同应用程序之间的数据共享; –利用远程存储介质存储后备文件; –无盘站点通过网络访问服务器上的文件信 息; –以文件形式进行的数据交换。
第12章 文件传输协议
12.2.1 FTP控制连接 控制连接是建立在用户协议解释器和服务器协 议解释器之间用于交换命令与应答的通信链路。 FTP仅仅在发送命令并接收应答时使用控制连 接。 用户在两台主机间建立控制连接,然后进行数 据连接,客户与服务器为每个文件传输建立一 个单独的数据连接。 如果用户请求另一个传输,那么客户与服务器 将建立一个新的数据连接。为了避免在控制与 数据连接之间发生冲突,FTP对于两者使用不 同的协议端口号。
返回
12.4 匿名FTP
1.匿名FTP用途 • 从前面的讲解可知,使用FTP时必须首先利 用Telnet协议登录,获得远程主机相应的权 限,才能上传或下载文件。 • 本地主机必需具有用户ID和口令,获得远地 计算机的适当授权,否则便无法传送文件。 Internet上的FTP主机很多,不可能要求每 个用户在每一台主机上都拥有帐号。 • 匿名FTP无需本地主机成为远地计算机的注 册用户,从而解决了这个问题。
• 然后,客户用TCP建立与指定计算机上的FTP服务器 之间的控制连接。 • 服务器接收到客户连接请求后,派生一个服务器控制 进程,该进程与客户控制进程建立起控制连接,即相 关,双方进入会话状态。 • 客户要进行数据传输时,派生一个客户数据传输进程, 并在一个非默认端口上被动打开,通过控制连接,客 户用PORT将端口号发给服务器控制进程。 • 服务器控制进程接收到后,派生一个服务器数据传输 进程,该进程建立一个自己的半相关(20),并向客 户数据进程发出连接请求,与客户数据传输进程建立 相关,双方建立数据传输。 • 数据传输结束后,关闭数据连接,双方数据传输进程 结束,但控制进程仍然存在,然后可以再重新发起新 的数据传输服务。
命令 ABOR ACCT<account> ALLO<bytes> APPE<filename> CDUP<dirpath> CWD<dirpath> DELE<filename> HELP<command> LIST<name> MODE<mode> MKD<directory> NLST<directory> NOOP PASS<password> PASV
• FTP协议要求数据传输在处理时打开控制连 接。尽管数据连接频繁地出现并消失,但是 控制连接却在整个会话中一直保持着。在完 成FTP服务后由用户发出中止控制连接命令。 • 控制连接用NVT ASCII传命令和响应。
FTP 客户
FTP 服务器
数据连接 控制连接 因特网
图中,箭头方向表示连接是由哪一方发起的。 客户向服务器发出请求命令,形成控制连接。 数据连接按相反的方向形成。客户与服务器的 角色反转了。
FTP使用客户/服务器模式。涉及到五个进程和两个 相关。 服务器首先运行一个本地FTP主服务进程,当客户 端用户输入open和ftp命令后,客户指定一个远程计 算机时,建立一个客户控制进程,本地应用成为一 个FTP客户,建立了自己的半相关。
主服务进程 控制进程 文件 系统 数据传输进程 服务器 数据传输进程 数据连接 客户 控制连接 控制进程 文件 系统
客户 控制进程 60201 控制连接 21
服务器 控制进程
数据传输进程 60261 被动打开
PORT 60261 控制进程 60201 21 20 控制进程 数据传输进程
数据传输进程 60261 被动打开
控制进程
60201 数据连接
21
控制进程 数据传输进程
wenku.baidu.com
数据传输进程 60261
20
12.2.3 通信
2.FTP响应 • 响应都是ASCII码形式的3位数字,响应也是 以NVT ASCII码形式传送,要求在每行结尾 都要返回CR、LF对。
响应代码 110 120 125 150 200 202 211 212 213 214 215 220 221 225 226 227 230 250 257 331
描述 IP 地址和两字节的端口 ID 显示当前工作目录 从 FTP 服务器上退出登录 重新初始化 由特定偏移量重启文件传递 从服务器上复制文件到客户端 在服务器上删除指定目录 指定要重命名的路径 重命名为新路径 定义服务器相关的命令 安装文件系统 返回当前文件或目录的状态信息 储存(复制)文件到服务器上 储存文件到服务器上(不覆盖同名文件) 数据结构(F=file,R=record,P=page) 返回服务器使用的操作系统 文件类型(A=ASCII,E=EBCDIC,I=binary) 系统登录的用户名
控制连接(端口 21) FTP 客户 数据连接(端口 20) FTP 服务器
• 建立双重连接的原因:FTP是一个交互式会 话系统,某客户每次调用FTP,便与服务器 建立一个会话,会话以控制连接来维持。 • 客户每提出一个请求,服务器与客户建立一 个数据连接,进行实际的数据(比如文件)传输。 一旦数据传输结束,数据连接相继撤消,但 控制连接依然存在,客户可以继续发出命令。 • 客户可以撤消控制连接(close命令),也可 以退出FTP会话(quit命令)。
解释说明 新文件指示器上的重启标记 在短时间内服务器准备就绪 数据连接已打开,在短时间内开始传输 文件 OK,数据连接将在短时间内打开 成功 不执行的命令 系统状态回复 目录状态回复 文件状态回复 帮助信息回复 系统类型回复 服务器准备就绪 服务关闭 数据连接打开 数据连接关闭
响应代码 332 350 421 425 426 450 451 452 500 501 502 503 504 530 532 550 551 552 553
返回
12.3 FTP命令与响应
1.FTP命令 • FTP命令主要用于控制连接,可以直接采用 Telnet协议实现,所以FTP命令同Telnet命令 包括中断进程、Telnet的同步信号、查询服务 器、带选项的Telnet命令等。 • 命令以NVT ASCII码形式传送,要求在每行结 尾都要有CR、LF对。
• 块模式头字节的结构
• 描述子代码由在描述子字节中的位标记说明
3.FTP的客户—服务器模型 下图表示 FTP客户—服务器模型,客户和服务 器之间利用TCP建立连接。 FTP客户与服务器之间要建立双重连接,一个是 控制连接,一个是数据连接。 控制连接:NVT ASCII 数据连接:文件类型、数据结构、传输方式
12.1 TCP/IP文件传输协议(FTP) 12.2 FTP 进程模型 12.3 FTP命令与响应 12.4 匿名FTP 12.5 简单文件传送协议(TFTP) 12.6 TFTP报文
12.1 TCP/IP文件传输协议(FTP)
• FTP工作在TCP/IP模型的应用层,基于的传 输协议是TCP, FTP客户在和服务器之间的 连接是可靠的,面向连接为数据的传输提供 了可靠的保证。 1.FTP的目标: 1)主机之间共享计算机程序或数据; 2)本地主机间接地使用远程计算机 ; 3)向用户屏蔽不同主机中各种文件存储系统 的细节; 4)可靠和高效的传输数据。
相关文档
最新文档