第10.2讲-文件传输协议FTP
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
迅速生效,并在所有访问文件的程序中都可获得改动信 息。
对远程共享文件的访问,就如同对本地文件的访问 一样。
远程文件和本地文件已经一体化(Integrated)了, 并且整个文件系统提供对共享文件的透明访问。
4
一、FTP:文件传输协议
1、FTP概述
FTP实现了整文件复制方式的文件共享机制,使用 非常广泛。
6
2、FTP的特点
① 交互访问。除了文件传输外,FTP还提供了一套交互命令, 比如列出远程机器上所有目录及某目录下的文件等。
② 访问控制:利用用户名和口令实施访问控制,通过服务器验 证后才能访问该文件。 (说明:FTP也允许匿名访问)
③ 格式规范:FTP定义了文件传输与共享的多种格式,允许用 户指定存储数据的类型和格式 。
➢ 删除 DELE——在服务器端删除路径中指定的文 件
➢ 删除目录RMD——删除一个指定的目录 ➢ 建立目录MKD——建立一个指定的目录 ➢ 帮助HELP
22
④ FTP操作命令
23
FTP操作示例
24
FTP操作示例:
C:\Documents and Settings\koukou>ftp ftp.zzu.edu.cn Connected to ftp.zzu.edu.cn. 220-ftp.zzu服务器已准备就绪 220-这里是ZZJ工作室的ftp站点. 220-现在是 Tuesday 13 April, 2004 10:57:55. 220-欢迎来自 202.196.54.228 的网友. 220-本服务器已连续运行了 16 天 1 时 36 分. 220-当前在线 343 人. 220-自启动后共接待 446305 人次访问. 220-上传数据 895 K. 220 下载数据 10659528434 K.
① 第一个分组建立客户与服务器的交互, 指明文件名、读还是写
② 文件按固定512字节分块,依次发送, 发后等确认
30
简单文件传输协议 TFTP
TFTP 是一个很小且易于实现的文件传输协议。 TFTP 使用 C/S 方式和使用 UDP 数据报,因此
TFTP 需要有自己的差错改正措施。 TFTP 只支持文件传输而不支持交互。 TFTP 没有一个庞大的命令集,没有列目录的功
能,也不能对用户进行身份鉴别。
31
TFTP 的主要特点
(1) 每次传送的数据 PDU 中有 512 字节的 数据,但最后一次可不足 512 字节。 (2) 数据 PDU 也称为文件块(block),每个 块按序编号,从 1 开始。 (3) 支持 ASCII 码或二进制传送。 (4) 可对文件进行读或写。 (5) 使用很简单的首部。
1) 流方式(默认选择) 文件以字节流形式传输。对于文件结构,发送方在 文件尾提示关闭数据连接;对于记录结构,有专用 的两字节序列码标志记录结束和文件结束。
2) 块方式 文件以一系列块来传输,每块前面都带有一个或者 多个首部字节。
3) 压缩方式 压缩连续出现的相同字节。在ASCII和EBCDIC文 件中,主要用来压缩空白串,在二进制文件中用来 压缩全0字节。
10.2 文件传输协议FTP
要求 1. 掌握文件传输协议的基本原理和基本过程 2. 了解简单文件传输协议TFTP 3. 了解其它远程访问与文件共享协议
1
远程文件共享
● 动机——文件共享
用户希望通过网络访问远程机器上的文件
● 文件共享方式
1、全文拷贝(whole-file copying): 如:文件传输协议FTP方式
ftp> quit 221 再见朋友,您本次连线时间 1 分钟,共上传了 0K 的
数据,下载了 0K 的数据.欢迎您再来.
27
连接建立和身份验证
28
数据传输过程分析(被动模式)
29
二、其他文件传输协议
1、FTP的简化:TFTP Trivial File Transfer Protocol 只有文件传送功能,比FTP小得多 基于UDP,采用超时与重传,停等机制 规则:
➢ 数据端口PORT——定义数据连接要使用的数据 端口
➢ 被 动 监 听PASV——请 求 服 务 器 的 数据 传 输进程 监听一个非默认的端口,等待连接请求
➢ 表示类型TYPE——定义数据的表示类型 ➢ 文件结构ETRU——定义文件的结构类型 ➢ 传输方式MODE——定义数据的传输方式
21
③ 进入FTP后有很多命令可用 (3) 服务命令 服务命令用于定义请求的文件或文件系统功 能。其参数一般是路径名。
18
FTP状态码
150 文件状态正常,开启数据连接端口 200 命令执行成功 202 命令执行失败 226 关闭数据连接端口,请求的文件操作成功 227 进入passive mode 230 使用者登入 250 请求的文件操作完成 331 用户名称正确,需要密码 332 登入时需要账号信息
FTP协议有以下目标: 1) 文件共享; 2) 对用户透明的文件存储技术; 3) 可靠、高效的数据传输。
下载文件的过程很简单:
把文件切成小块,通过TCP传输,之后再组装。
5
一、FTP:文件传输协议
文件传输的难度: (1) 数据类型——不同系统表示数据的方式不同 不同机器的数据表示是不一样的。如,两行文本之间的间隔, 有的用“\r\n”表示,有的用“\r”表示。 (2) 文件结构——文件结构取决于存储该文件的主机 某些文件可能是按顺序、以字节方式存储的,也有一些是面向 行(记录)存储的,还有一些为了进行随机访问而可以按页检 索。 (3) 传输方式——数据可以按压缩的字节流传输,也可以包括 一些标识的格式,在传输出现错误需要重传时使用这些标识
2、在线访问(on-line access): 如:网络文件系统NFS方式
2
文件共享方式
1、全文拷贝 程序无论何时想访问一个文件,都必须获得一个本
地文件副本。 复制通常用于只读数据,但如果必须修改文件,程
序对本地副本进行修改,并将修改后的文件传回到原网 点。
3
文件共享方式
2、在线访问 允许多个程序同时访问一个文件。对文件的改动将
3) 二进制文件类型 存储二进制数据
4) 本地文件类型
在具有不同字节大小的主机间传送二进制文件时使用该类型。
每个字节的比特数由发送方规定。如果系统使用8bit字节,
则等同于二进制文件类型
14
(2) 格式控制 该功能仅对ASCII和EBCDIC文件类型有效 1) 非打印(默认选择) 文件中不Fra Baidu bibliotek含垂直格式信息 2) 远程登录格式控制 文件中含有向打印机解释的远程登录垂直格式控制, 如回车、换行、新建行、换表和行结束等 3) Fortran回车控制 每行首字符是Fortran格式控制符
7
3、FTP模型:客户端/服务器模型
FTP基于TCP,采用客户端/服务端(C/S)模型。 其特殊之处在于服务器为用户所创建的从进程并不负责
所有通信事宜,它仅负责接收和处理来自客户的控制连接。 对于数据传输而言,服务器会创建新进程进行处理,并建立 数据连接。
8
3、FTP模型:客户端/服务器模型
① 进程模型 服务器进程
a. 主服务器进程:等待客户端连接,并为每个连接请求建 立控制从进程
b. 控制连接从进程:接收和处理来自客户的控制连接 c. 数据传输从进程:一个或多个,处理数据传输 客户端进程 a. 控制连接进程 b. 数据传输进程
9
② 两类连接 a. 控制连接:使用TCP,传输控制命令,在整个会 话期间保持不变,服务器端口21 b. 数据连接:使用TCP,传输数据,临时动态创建, 每个文件一个连接,服务器缺省端口20(常换)
17
4、FTP的使用
① 两种方式:用户名、口令登录(授权) 匿名(公开)
② FTP控制报文和差错报文 格式:3个数字开始,后跟文本,说明控制和
差错状态(FTP对三个数字的取值和含义进 行了规定,但是对随后的说明信息没有规定。 不同服务器对同一状态码的描述可以不同) 例:150、220、226、331、530 530:Not Logged in,…
26
ftp> dir
200 PORT Command successful. 150 Opening ASCII mode data connection for /bin/ls. drw-rw-rw- 1 user group 0 Feb 23 15:12 . drw-rw-rw- 1 user group 0 Feb 23 15:12 .. drw-rw-rw- 1 user group 0 Mar 5 16:38 电子书籍 drw-rw-rw- 1 user group 0 Mar 5 16:54 软件大全 drw-rw-rw- 1 user group 0 Mar 28 09:42上载区(暂停上载) -rw-rw-rw- 1 user group 251 Apr 26 2002声明.txt drw-rw-rw- 1 user group 0 Mar 17 09:40 音频资料 226 Transfer complete. ftp:454 bytes received in 0.00Seconds 454000.00Kbytes/sec.
FTP 202.196.48.10
Internet
R NAT
内部网
主机A 10.1.1.1
13
3、FTP数据格式
FTP提供了多种数据存储和传送的格式,客户端可 以从中选择
(1) 文件格式
1) ASCII码文件类型(默认选择) 文件中存储的是字符,行间隔用“回车+换行”来表示,即 “\r\n” 2) 扩展的二-十进制交换码EBCDIC文件类型 文件中存储的是字符,要求通信两端都是EBCDIC系统
③ 进入FTP后有很多命令可用 FTP命令包括3个方面: (1) 访问控制命令 访问控制定义了用户在系统中对系统和文件 的访问权限
➢ 用户名USER——识别用户 ➢ 口令PASS——识别用户口令 ➢ 退 出 QUIT—— 终 止 用 户 的 使 用 , 关 闭 全 部 控 制
连接
20
③ 进入FTP后有很多命令可用 (2) 传输参数命令 包含数据传输参数的命令可以按任何顺序使 用,只是在这些命令之前必须调用FTP的服 务请求
10
FTP 使用的两个 TCP 连接
用户界面
TCP 控制连接
控制进程
数据传送 进程
FTP 客户端
因特网
TCP 数据连接
控制进程
数据传送 进程
FTP 服务器端
思考讨论:谁发起数据连接?
11
③ 谁发起数据连接? 主动模式:收到数据传送请求后(下载或上传),服
务器主动与客户端建立连接 问题:客户端口号? 解决:客户端利用控制连接,将端口号通告给服务器
25
User (ftp.zzu.edu.cn:(none)): anonymous 331 User name okay, please send complete E-mail
address as password. Password: 230-这里是ZZJ工作室的ftp站点. 230-现在是 Tuesday 13 April, 2004 10:58:21. 230-欢迎来自 202.196.54.228 的网友. 230-本服务器已连续运行了 16 天 1 时 36 分. 230-当前在线 347 人. 230-自启动后共接待 446315 人次访问. 230-上传数据 895 K. 230-下载数据 10659810534 K. 230 User logged in, proceed.
15
(3) 结构 规定了文件内部结构,包括以下三种: 1) 文件结构(默认选择) 文件被认为是一个连续的字节流,不存在内部的文 件结构 2) 记录结构 仅用于ASCII和EBCDIC,文件内部包含的是记录 3) 页结构 每页都有页号,以便接收方能随机地存储各页
16
(4) 传输方式 规定了文件传输的方式,目前有以下三种:
命令:PORT n1,n2,n3,n4,n5,n6 表示 客户端IP地址为 n1.n2.n3.n4 客户端端口号为 n5*256+n6
问题:如何穿越网络地址转换(NAT)?
12
③ 谁发起数据连接? 被动模式(现多采用):服务器发送可以被动连接的
命令,并告诉自己的IP和端口号(通常不选20号端 口了),等待客户连接
对远程共享文件的访问,就如同对本地文件的访问 一样。
远程文件和本地文件已经一体化(Integrated)了, 并且整个文件系统提供对共享文件的透明访问。
4
一、FTP:文件传输协议
1、FTP概述
FTP实现了整文件复制方式的文件共享机制,使用 非常广泛。
6
2、FTP的特点
① 交互访问。除了文件传输外,FTP还提供了一套交互命令, 比如列出远程机器上所有目录及某目录下的文件等。
② 访问控制:利用用户名和口令实施访问控制,通过服务器验 证后才能访问该文件。 (说明:FTP也允许匿名访问)
③ 格式规范:FTP定义了文件传输与共享的多种格式,允许用 户指定存储数据的类型和格式 。
➢ 删除 DELE——在服务器端删除路径中指定的文 件
➢ 删除目录RMD——删除一个指定的目录 ➢ 建立目录MKD——建立一个指定的目录 ➢ 帮助HELP
22
④ FTP操作命令
23
FTP操作示例
24
FTP操作示例:
C:\Documents and Settings\koukou>ftp ftp.zzu.edu.cn Connected to ftp.zzu.edu.cn. 220-ftp.zzu服务器已准备就绪 220-这里是ZZJ工作室的ftp站点. 220-现在是 Tuesday 13 April, 2004 10:57:55. 220-欢迎来自 202.196.54.228 的网友. 220-本服务器已连续运行了 16 天 1 时 36 分. 220-当前在线 343 人. 220-自启动后共接待 446305 人次访问. 220-上传数据 895 K. 220 下载数据 10659528434 K.
① 第一个分组建立客户与服务器的交互, 指明文件名、读还是写
② 文件按固定512字节分块,依次发送, 发后等确认
30
简单文件传输协议 TFTP
TFTP 是一个很小且易于实现的文件传输协议。 TFTP 使用 C/S 方式和使用 UDP 数据报,因此
TFTP 需要有自己的差错改正措施。 TFTP 只支持文件传输而不支持交互。 TFTP 没有一个庞大的命令集,没有列目录的功
能,也不能对用户进行身份鉴别。
31
TFTP 的主要特点
(1) 每次传送的数据 PDU 中有 512 字节的 数据,但最后一次可不足 512 字节。 (2) 数据 PDU 也称为文件块(block),每个 块按序编号,从 1 开始。 (3) 支持 ASCII 码或二进制传送。 (4) 可对文件进行读或写。 (5) 使用很简单的首部。
1) 流方式(默认选择) 文件以字节流形式传输。对于文件结构,发送方在 文件尾提示关闭数据连接;对于记录结构,有专用 的两字节序列码标志记录结束和文件结束。
2) 块方式 文件以一系列块来传输,每块前面都带有一个或者 多个首部字节。
3) 压缩方式 压缩连续出现的相同字节。在ASCII和EBCDIC文 件中,主要用来压缩空白串,在二进制文件中用来 压缩全0字节。
10.2 文件传输协议FTP
要求 1. 掌握文件传输协议的基本原理和基本过程 2. 了解简单文件传输协议TFTP 3. 了解其它远程访问与文件共享协议
1
远程文件共享
● 动机——文件共享
用户希望通过网络访问远程机器上的文件
● 文件共享方式
1、全文拷贝(whole-file copying): 如:文件传输协议FTP方式
ftp> quit 221 再见朋友,您本次连线时间 1 分钟,共上传了 0K 的
数据,下载了 0K 的数据.欢迎您再来.
27
连接建立和身份验证
28
数据传输过程分析(被动模式)
29
二、其他文件传输协议
1、FTP的简化:TFTP Trivial File Transfer Protocol 只有文件传送功能,比FTP小得多 基于UDP,采用超时与重传,停等机制 规则:
➢ 数据端口PORT——定义数据连接要使用的数据 端口
➢ 被 动 监 听PASV——请 求 服 务 器 的 数据 传 输进程 监听一个非默认的端口,等待连接请求
➢ 表示类型TYPE——定义数据的表示类型 ➢ 文件结构ETRU——定义文件的结构类型 ➢ 传输方式MODE——定义数据的传输方式
21
③ 进入FTP后有很多命令可用 (3) 服务命令 服务命令用于定义请求的文件或文件系统功 能。其参数一般是路径名。
18
FTP状态码
150 文件状态正常,开启数据连接端口 200 命令执行成功 202 命令执行失败 226 关闭数据连接端口,请求的文件操作成功 227 进入passive mode 230 使用者登入 250 请求的文件操作完成 331 用户名称正确,需要密码 332 登入时需要账号信息
FTP协议有以下目标: 1) 文件共享; 2) 对用户透明的文件存储技术; 3) 可靠、高效的数据传输。
下载文件的过程很简单:
把文件切成小块,通过TCP传输,之后再组装。
5
一、FTP:文件传输协议
文件传输的难度: (1) 数据类型——不同系统表示数据的方式不同 不同机器的数据表示是不一样的。如,两行文本之间的间隔, 有的用“\r\n”表示,有的用“\r”表示。 (2) 文件结构——文件结构取决于存储该文件的主机 某些文件可能是按顺序、以字节方式存储的,也有一些是面向 行(记录)存储的,还有一些为了进行随机访问而可以按页检 索。 (3) 传输方式——数据可以按压缩的字节流传输,也可以包括 一些标识的格式,在传输出现错误需要重传时使用这些标识
2、在线访问(on-line access): 如:网络文件系统NFS方式
2
文件共享方式
1、全文拷贝 程序无论何时想访问一个文件,都必须获得一个本
地文件副本。 复制通常用于只读数据,但如果必须修改文件,程
序对本地副本进行修改,并将修改后的文件传回到原网 点。
3
文件共享方式
2、在线访问 允许多个程序同时访问一个文件。对文件的改动将
3) 二进制文件类型 存储二进制数据
4) 本地文件类型
在具有不同字节大小的主机间传送二进制文件时使用该类型。
每个字节的比特数由发送方规定。如果系统使用8bit字节,
则等同于二进制文件类型
14
(2) 格式控制 该功能仅对ASCII和EBCDIC文件类型有效 1) 非打印(默认选择) 文件中不Fra Baidu bibliotek含垂直格式信息 2) 远程登录格式控制 文件中含有向打印机解释的远程登录垂直格式控制, 如回车、换行、新建行、换表和行结束等 3) Fortran回车控制 每行首字符是Fortran格式控制符
7
3、FTP模型:客户端/服务器模型
FTP基于TCP,采用客户端/服务端(C/S)模型。 其特殊之处在于服务器为用户所创建的从进程并不负责
所有通信事宜,它仅负责接收和处理来自客户的控制连接。 对于数据传输而言,服务器会创建新进程进行处理,并建立 数据连接。
8
3、FTP模型:客户端/服务器模型
① 进程模型 服务器进程
a. 主服务器进程:等待客户端连接,并为每个连接请求建 立控制从进程
b. 控制连接从进程:接收和处理来自客户的控制连接 c. 数据传输从进程:一个或多个,处理数据传输 客户端进程 a. 控制连接进程 b. 数据传输进程
9
② 两类连接 a. 控制连接:使用TCP,传输控制命令,在整个会 话期间保持不变,服务器端口21 b. 数据连接:使用TCP,传输数据,临时动态创建, 每个文件一个连接,服务器缺省端口20(常换)
17
4、FTP的使用
① 两种方式:用户名、口令登录(授权) 匿名(公开)
② FTP控制报文和差错报文 格式:3个数字开始,后跟文本,说明控制和
差错状态(FTP对三个数字的取值和含义进 行了规定,但是对随后的说明信息没有规定。 不同服务器对同一状态码的描述可以不同) 例:150、220、226、331、530 530:Not Logged in,…
26
ftp> dir
200 PORT Command successful. 150 Opening ASCII mode data connection for /bin/ls. drw-rw-rw- 1 user group 0 Feb 23 15:12 . drw-rw-rw- 1 user group 0 Feb 23 15:12 .. drw-rw-rw- 1 user group 0 Mar 5 16:38 电子书籍 drw-rw-rw- 1 user group 0 Mar 5 16:54 软件大全 drw-rw-rw- 1 user group 0 Mar 28 09:42上载区(暂停上载) -rw-rw-rw- 1 user group 251 Apr 26 2002声明.txt drw-rw-rw- 1 user group 0 Mar 17 09:40 音频资料 226 Transfer complete. ftp:454 bytes received in 0.00Seconds 454000.00Kbytes/sec.
FTP 202.196.48.10
Internet
R NAT
内部网
主机A 10.1.1.1
13
3、FTP数据格式
FTP提供了多种数据存储和传送的格式,客户端可 以从中选择
(1) 文件格式
1) ASCII码文件类型(默认选择) 文件中存储的是字符,行间隔用“回车+换行”来表示,即 “\r\n” 2) 扩展的二-十进制交换码EBCDIC文件类型 文件中存储的是字符,要求通信两端都是EBCDIC系统
③ 进入FTP后有很多命令可用 FTP命令包括3个方面: (1) 访问控制命令 访问控制定义了用户在系统中对系统和文件 的访问权限
➢ 用户名USER——识别用户 ➢ 口令PASS——识别用户口令 ➢ 退 出 QUIT—— 终 止 用 户 的 使 用 , 关 闭 全 部 控 制
连接
20
③ 进入FTP后有很多命令可用 (2) 传输参数命令 包含数据传输参数的命令可以按任何顺序使 用,只是在这些命令之前必须调用FTP的服 务请求
10
FTP 使用的两个 TCP 连接
用户界面
TCP 控制连接
控制进程
数据传送 进程
FTP 客户端
因特网
TCP 数据连接
控制进程
数据传送 进程
FTP 服务器端
思考讨论:谁发起数据连接?
11
③ 谁发起数据连接? 主动模式:收到数据传送请求后(下载或上传),服
务器主动与客户端建立连接 问题:客户端口号? 解决:客户端利用控制连接,将端口号通告给服务器
25
User (ftp.zzu.edu.cn:(none)): anonymous 331 User name okay, please send complete E-mail
address as password. Password: 230-这里是ZZJ工作室的ftp站点. 230-现在是 Tuesday 13 April, 2004 10:58:21. 230-欢迎来自 202.196.54.228 的网友. 230-本服务器已连续运行了 16 天 1 时 36 分. 230-当前在线 347 人. 230-自启动后共接待 446315 人次访问. 230-上传数据 895 K. 230-下载数据 10659810534 K. 230 User logged in, proceed.
15
(3) 结构 规定了文件内部结构,包括以下三种: 1) 文件结构(默认选择) 文件被认为是一个连续的字节流,不存在内部的文 件结构 2) 记录结构 仅用于ASCII和EBCDIC,文件内部包含的是记录 3) 页结构 每页都有页号,以便接收方能随机地存储各页
16
(4) 传输方式 规定了文件传输的方式,目前有以下三种:
命令:PORT n1,n2,n3,n4,n5,n6 表示 客户端IP地址为 n1.n2.n3.n4 客户端端口号为 n5*256+n6
问题:如何穿越网络地址转换(NAT)?
12
③ 谁发起数据连接? 被动模式(现多采用):服务器发送可以被动连接的
命令,并告诉自己的IP和端口号(通常不选20号端 口了),等待客户连接