文件传输协议FTP
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
压缩空白串,在二进制文件中用来压缩全0字节 – 压缩模式中,因为数据是压缩过的,对于增加带宽有很多好处。
块模式头字节的结构
描述子代码由在描述子字节中的位标记说明
3. FTP模型
① 协议模型——客户端/服务器模型 服务器端打开21号端口,等待客户端的服务请求。FTP服务 器允许多个客户端的并发访问。 ② 进程模型 服务器进程: a.主服务器进程:等待客户端连接,并为每个连接请求建立控 制从进程。 b.控制连接从进程:接收和处理来自客户的控制连接。 c.数据传输从进程:一个或多个,处理数据传输。 客户端进程: a.控制连接进程。 b.数据传输进程。
描述 异常中断数据连接程序 系统优先权说明 为服务器上的文件存储器分配字节 为服务器上同名文件填加数据 改变到服务器上的父目录 改变服务器上的工作目录 删除服务器上的指定文件 在指定命令上返回信息 列表显示文件或目录 传输模式 在服务器上建立指定目录 列出文件或子目录(不带属性) 获得服务器的确认,了解服务器是否活动 系统登录密码 等待数据连接的请求服务
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
的。
记录结构(Record structure ) – 记录结构必须被所有的FTP实现以“文本”文件 (比如,ASCII或EBCDIC类型的文件)的方式承 认。 – 记录结构的文件由连续的记录组成。 页结构(Page structure ) – 文件被划分为页,每页有页号和页头。 – 可以进行随机存取或顺序存取。
4
21 控制连接 数据连接 3789 5365
数据传输 关闭数据连接
数据连接
FTP客户端
FTP服务器
FTP客户端
FTP服务器
服务器对PASV命令回应,其中包含用于数据 传输的临时端口号(20*256+245=5365)
进行数据传输,传输完毕后发送数据的 一方主动关闭数据连接
www.h3c.com
3.数据连接的关闭 关闭连接的条件: – 用户端发送ABORT命令 – 服务器通过EOF终止要求,表示结束发送数据 – 控制连接关闭 – 发生不可恢复错误
文件传输协议
文件是计算机系统中信息存储、处理和传输的主要 形式,大多数计算机系统都支持网络文件访问功能。 对网络文件访问的需求来自四个方面: –不同应用程序之间的数据共享; –利用远程存储介质存储后备文件; –无盘站点通过网络访问服务器上的文件信息; –以文件形式进行的数据交换。
文件传输协议
1. TCP/IP文件传输协议(FTP) 2. FTP 进程模型 3. FTP命令与响应 4. 匿名FTP 5. 简单文件传送协议(TFTP) 6. TFTP报文
(2) 块模式
文件以块形式传送,块带有自己的头部分。头字节包括16位计数域 和8位描述子代码。 – 计数域指出了数据块的总长度字节数。 – 描述符代码定义了:文件的最后块(EOF),记录的最后块 (EOR),重新开始标记或可疑数据。
(3) 压缩模式
– 压缩连续出现的相同字节。在ASCII或EBCDIC文件中,主要用来
命令 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>
3.1 FTP控制连接 控制连接是建立在用户协议解释器和服务器协议解释 器之间用于交换命令与应答的通信链路。
用户在两台主机间建立控制连接,然后进行数据连接, 客户与服务器为每个文件传输建立一个单独的数据连 接。如果用户请求另一个传输,那么客户与服务器将 建立一个新的数据连接。
尽管数据连接频繁地出现并消失,但是控制连接却在 整个会话中一直保持着。在完成FTP服务后由用户发 出中止控制连接命令。 控制连接用NVT ASCII传命令和响应。
– 数据以连续的位传输,并打包成8位的传输字节。接收站点
必须以连续的位存储数据。 – 图像格式用于有效地传送和存储文件和二进制数据。 – 推荐所有的FTP在执行时支持此类型。
4)数据结构
文件结构(File structure)
– 没有内部的结构,被认为是数据字节的连续序列。 – 如果没有使用STRUcture指令,文件结构就被假定是缺省
解释说明 需要帐号名 未决的文件行为 关闭服务器 不能打开数据连接 结束连接 文件不可用 本地错误 磁盘空间不足 无效命令 错误参数 命令未执行 错误指令序列 无效命令参数 登录失败 需要存储文件说明 不可用的文件 不知道的页类型 超过了分配的存储空间 不允许的文件名
进入被动模式(发送 IP 地址、端口号) 登录成功 完成的文件行为 建立的路径名 用户名有效,需要密码
3. FTP命令与响应
1.FTP命令 FTP命令主要用于控制连接,可以直接采用Telnet协 议实现。 命令以NVT ASCII码形式传送。
命令 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模型与测试分析环境
协议分析器
协议分析器的作用就是监视FTP客户与FTP服务器的协议交互过程, 记录并对协议包进行分析; 分析环境的具体参数是: FTP服务器:MAC地址为 IP地址为 控制连接端口号为 数据连接端口号为 FTP客户: MAC地址为 IP地址为 数据连接端口号为 控制连接端口号为 00-00-C0-22-A1-01 201.5.21.1 20 21 02-60-8C-01-24-28 201.5.21.25 15432 7180
③ 两类连接 a.控制连接:使用Telnet,传输控制命令,在整个会话期间保 持不变。 b.数据连接:使用TCP,传输所有数据,可临时动态创建。 客户系统
数据 传输 控制 进程
Βιβλιοθήκη Baidu
服务器系统
控制 进程 数据 传输
操作系统
操作系统 控制连接 TCP/IP互联网
数据连接
④ 端口号分配 服务器端: 主服务器进程 + 控制连接从进程:21号端口; 数据传输从进程:20号端口; 客户端: 控制连接:操作系统分配; 数据连接:操作系统分配,并利用控制连接,将该端口号 通告给服务器。 ⑤ FTP控制报文和差错报文 格式:3个数字开始,后跟文本,说明控制和差错状态。 例:530:Not Logged in,…
主动方式建立连接过程
1
1174 控制连接 21 控制连接 数据连接 3566 20 数据连接
3
FTP客户端
FTP服务器
FTP客户端
FTP服务器
TCP三次握手建立控制通道的TCP连接
TCP三次握手建立数据通道的TCP连接
交互过程
2
1174 控制连接 21 控制连接 数据连接 3566
数据传输 关闭数据连接
2.数据传输方式 主动方式:
主动方式也称为PORT方式,是FTP协议最初定 义的数据传输连接方式,主要特点是: – FTP客户端通过向FTP服务器发送PORT命令, 告诉服务器该客户端用于传输数据的临时端口 号。 – 当需要传送数据时,服务器通过TCP端口号20 与客户端的临时端口建立数据传输通道,完成 数据传输。 在建立数据连接的过程中,由服务器主动发起 连接,因此被称为主动方式。
被动方式建立连接过程
1
1174 控制连接 21 控制连接 数据连接 3789 5365 数据连接
3
FTP客户端
FTP服务器
FTP客户端
FTP服务器
TCP三次握手建立控制通道的TCP连接
客户端随机选择端口与服务器端选定的 端口建立数据通道的TCP连接
交互过程
2
1174 控制连接
PASV Enter Passive Mode (192,168,0,10,20,245)
3.2 FTP数据连接
数据连接是传输数据的全双工连接。 1.数据连接机制
数据连接可以用文件结束来终止传输过程。这样做 的好处可以改变所传输文件的大小。例如,当服务 器中应用程序正在写入文件时,如果FTP也同时在 将这个文件的副本传输至客户。由于文件传输的连 接是单独的,服务器不必利用控制连接告诉客户方 所传输文件的大小,只需要用数据连接的文件结束 来终止传输。
描述 IP 地址和两字节的端口 ID 显示当前工作目录 从 FTP 服务器上退出登录 重新初始化 由特定偏移量重启文件传递 从服务器上复制文件到客户端 在服务器上删除指定目录 指定要重命名的路径 重命名为新路径 定义服务器相关的命令 安装文件系统 返回当前文件或目录的状态信息 储存(复制)文件到服务器上 储存文件到服务器上(不覆盖同名文件) 数据结构(F=file,R=record,P=page) 返回服务器使用的操作系统 文件类型(A=ASCII,E=EBCDIC,I=binary) 系统登录的用户名
解释说明 新文件指示器上的重启标记 在短时间内服务器准备就绪 数据连接已打开,在短时间内开始传输 文件 OK,数据连接将在短时间内打开 成功 不执行的命令 系统状态回复 目录状态回复 文件状态回复 帮助信息回复 系统类型回复 服务器准备就绪 服务关闭 数据连接打开 数据连接关闭
响应代码 332 350 421 425 426 450 451 452 500 501 502 503 504 530 532 550 551 552 553
5) 传输方式
FTP的传输模式有流模式、块模式和压缩模式: (1) 流模式
数据以字节流的形式传送 – 在记录结构文件中EOR 和EOF 表示为双字节控制码。控制码的第 一个字节全是0。第二个字节的值为1 时表示EOR,为2 时表示 EOF,如果要同时表示EOR 和EOF,值为3。 – 文件结构,通过发送方关闭连接表示EOF,接收到的所有数据就 是文件内容。
4
20 数据连接
PORT (192,168,0,1,13,238)
FTP客户端
FTP服务器
FTP客户端
FTP服务器
客户端用PORT命令通告用于数据传输的临时 端口号(13*256+238=3566)
双方进行数据传输。传输完毕后发送数 据的一方主动关闭数据连接
www.h3c.com
被动方式:
被动方式也称为PASV方式,被动方式的主要特 点是: – FTP客户端通过向FTP服务器发送PASV命令, 告诉服务器进入被动方式。服务器选择临时端 口号并告知客户端。 – 当需要传送数据时,客户端主动与服务器的临 时端口号建立数据传输通道,完成数据传输。 在整个过程中,由于服务器总是被动接收客户 端的数据连接,因此被称为被动方式。
1. TCP/IP文件传输协议(FTP)
FTP工作在TCP/IP模型的应用层,基于的传输协议是 TCP, FTP客户和服务器之间的连接是可靠的,面向 连接为数据的传输提供了可靠的保证。 1.FTP的目标: 1)主机之间共享计算机程序或数据; 2)本地主机间接地使用远程计算机 ; 3)向用户屏蔽不同主机中各种文件存储系统的细节; 4)可靠和高效的传输数据。
2.FTP主要特征:
1)控制连接是建立在用户协议解释器和服务器协 议解释器之间用于交换命令与应答的通信链路。
2)数据连接是传输数据的全双工连接。传输数据 可以发生在服务器数据传输过程DTP和用户DTP 之间,也可以发生在两个服务器DTP之间。
3)文件类型
(1) ASCII码文件类型(默认选择)
– 发送方把内部字符表示的数据转换成标准的8位NVT-ASCII
表示。接收方把数据从标准的格式转换成自己内部的表示 形式。 (2) EBCDIC文件类型。(广义二进制编码的十进制交换码)
– 在一个EBCDIC的文件里,每个字母或数字字符都被表示
为一个8位的二进制数。 (3) 图像文件类型(也称为二进制文件类型)。