《文件传输协议》PPT课件

上传人:san****019 文档编号:20740325 上传时间:2021-04-17 格式:PPT 页数:41 大小:212.50KB
返回 下载 相关 举报
《文件传输协议》PPT课件_第1页
第1页 / 共41页
《文件传输协议》PPT课件_第2页
第2页 / 共41页
《文件传输协议》PPT课件_第3页
第3页 / 共41页
点击查看更多>>
资源描述
第 12章 文件传输协议 文件是计算机系统中信息存储、处理和传输 的主要形式,大多数计算机系统都支持网络 文件访问功能。 对网络文件访问的需求来自四个方面: 不同应用程序之间的 数据共享 ; 利用 远程存储 介质存储后备文件; 无盘站点 通过网络访问服务器上的文件信 息; 以文件形式进行的 数据交换 。 第 12章 文件传输协议 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)可靠和高效的传输数据。 2 FTP主要特征: 1) 控制连接 是建立在用户 协议解释器 和服 务器协议解释器之间用于 交换命令与应答 的通信链路。 2) 数据连接 是传输数据的全双工连接。传 输数据可以发生在服务器 数据传输过程 DTP和用户 DTP之间也可以发生在两个服 务器 DTP之间。 3)文件类型 ( 1) ASCII码文件类型(默认选择),以 NVT ASCII码形式通过数据连接传输。 ( 2) EBCDIC文件类型。该文本文件传输方式 要求两端都是 EBCDIC系统。 ( 3) 图像文件 类型(也称为 二进制文件 类型)。 数据发送形式呈现为一个连续的比特流。 ASCII码文件类型和 EBCDIC文件类型还要加 上文件是否 可打印 的 属性 (Noprint/TELNET) 4)数据结构 文件结构 ( File structure)字节流,无结 构。 记录结构 ( Record structure )文件被划 分为记录,用于文本文件。 页结构 ( Page structure )文件被划分为 页,每页有页号和页头。可以进行随机 存取或顺序存取。 5) 传输方式 FTP的传输模式有流模式、块模式和压缩模式: ( 1) 流模式 数据以字节流的形式传送 记录结构( EOR, EOF) 文件结构,接收到的所有数据就是文件内容。( EOF) ( 2) 块模式 文件以块形式传送,块带有自己的头部分。头字节 包括 16位计数域和 8位描述子代码。 ( 3) 压缩模式 压缩模式中,因为数据是压缩过的,对于增加带宽 有很多好处。 块模式头 字节的结构 描述子代码 由在描述子字节中的位标记说明 3 FTP的客户 服务器模型 下图表示 FTP客户 服务器模型,客户和服务 器之间利用 TCP建立连接。 FTP客户与服务器之间要建立 双重连接 ,一个是 控制连接 ,一个是 数据连接 。 控制连接: NVT ASCII 数据连接:文件类型、数据结构 、 传输方式 FTP 客户 FTP 服务器 控制连接(端口 21 ) 数据连接(端口 20 ) 建立双重连接的 原因 : FTP是一个 交互式会 话系统 ,某客户每次调用 FTP,便与服务器 建立一个会话, 会话以控制连接来维持 。 客户每提出一个请求,服务器与客户建立一 个数据连接,进行实际的数据 (比如文件 )传输。 一旦数据传输结束,数据连接相继撤消,但 控制连接依然存在 ,客户可以继续发出命令。 客户可以撤消控制连接( close命令),也可 以退出 FTP会话 (quit命令 )。 返回 12.2 FTP 进程模型 FTP服务的实现是由一组 FTP进程完成的。 服务器 FTP进程:由 协议解释器 PI和 数据传输过程 DTP组成。 用户 FTP进程:由 PI、 DTP和 用户接口 组成。 传输与控制采用 独立 的连接方式具有以下三方面的 优 点 : 使 FTP协议更加简单并且更容易实现 ,例如控制连 接可以直接采用 Telnet协议实现, FTP数据连接不会 与 FTP命令混淆起来。 在数据连接结束后, 控制连接仍然保留 着,它能够 在新的传输连接时被使用。 发送方与接收方在所有的数据都到达时可以在数据 连接上用 文件结束来通知另一方 ,从而达到命令传 输的功能。 12.2.1 FTP控制连接 控制连接 是建立在用户协议解释器和服务器协 议解释器之间用于交换命令与应答的通信链路。 FTP仅仅在 发送命令并接收应答 时使用控制连 接。 用户在两台主机间建立控制连接,然后进行数 据连接,客户与服务器 为每个文件传输建立一 个单独的数据连接 。 如果用户请求另一个传输,那么客户与服务器 将建立一个新的数据连接。为了避免在控制与 数据连接之间发生冲突, FTP对于两者 使用不 同的协议端口号 。 FTP协议要求数据传输在处理时打开控制连 接。尽管数据连接频繁地出现并消失,但是 控制连接却在整个会话中一直保持着。在完 成 FTP服务后由用户发出中止控制连接命令。 控制连接用 NVT ASCII传命令和响应。 因特网 FTP 服务器 FTP 客户 数据连接 控制连接 图中,箭头方向表示连接是由哪一方发起的。 客户向服务器发出请求命令,形成控制连接 。 数据连接按相反的方向形成 。客户与服务器的 角色反转了。 注意 FTP和 Telnet的关系, FTP使用 Telnet协议 进行控制连接 。 12.2.2 FTP数据连接 数据连接是传输数据的 全双工 连接。 1数据连接机制 数据连接 可以用文件结束来终止传输过程 。 这样做的好处 可以改变所传输文件的大小 。 例如,当服务器中应用程序正在写入文件时, 如果 FTP也同时在将这个文件的副本传输至客 户。由于文件传输的连接是单独的, 服务器 不必利用控制连接告诉客户方所传输文件的 大小,只需要用数据连接的文件结束来终止 传输 。 在建立数据连接时,客户数据传输进程成为连 接的接收者,而服务器数据传输进程成了连接 的请求者。 客户在需要进行数据传输时,其数据传输进程 在一个自由端口上发出 被动打开 ,然后客户在 控制连接上通过 PORT命令 将该自由端口告诉 服务器控制进程,服务器数据传输进程在端口 20上主动打开并与客户数据传输进程的自由 端口建立连接。 数据连接机制还包括建立连接选择数据参数。 2数据连接管理 默认数据连接端口:所有 FTP服务器必须使用 默认数据连接端口( 20)。 确定非默认数据端口:用户 PI可以使用 PORT 命令指定客户的非默认端口。 3数据连接的关闭 关闭连接的条件 : 用户端发送 ABORT命令 服务器通过 EOF终止要求,表示结束发送数据 控制连接关闭 发生不可恢复错误 被动打开 控制进程 60201 控制进程 21 数据传输进程 60261 被动打开 控制进程 60201 控制进程 21 数据传输进程 数据传输进程 60261 PORT 60261 控制进程 60201 控制进程 21 数据传输进程 数据传输进程 60261 20 客户 服务器 控制连接 数据连接 20 12.2.3 通信 FTP使用客户 /服务器模式。涉及到五个进程和两个 相关。 服务器首先运行一个本地 FTP主服务进程,当客户 端用户输入 open和 ftp命令后,客户指定一个远程计 算机时,建立一个客户控制进程,本地应用成为一 个 FTP客户,建立了自己的 半相关 。 主服务进程 控制进程 数据传输进程 控制进程 数据传输进程 文件 系统 文件 系统 服务器 客户 控制连接 数据连接 然后,客户用 TCP建立与指定计算机上的 FTP服务器 之间的控制连接。 服务器 接收到客户连接请求后, 派生一个服务器控制 进程 ,该进程与客户控制进程 建立起控制连接 ,即 相 关 ,双方进入会话状态。 客户 要进行数据传输时, 派生一个客户数据传输进程 , 并在一个非默认端口上被动打开,通过控制连接,客 户用 PORT将端口号发给服务器控制进程。 服务器 控制进程接收到后, 派生一个服务器数据传输 进程 ,该进程建立一个自己的 半相关( 20) ,并向客 户数据进程发出连接请求,与客户数据传输进程建立 相关 ,双方建立数据传输。 数据传输结束后,关闭数据连接,双方数据传输进程 结束,但控制进程仍然存在,然后可以再重新发起新 的数据传输服务。 返回 12.3 FTP命令与响应 1 FTP命令 FTP命令主要用于控制连接,可以直接采用 Telnet协议实现,所以 FTP命令同 Telnet命令 包括中断进程、 Telnet的同步信号、查询服务 器、带选项的 Telnet命令等。 命令以 NVT ASCII码 形式传送,要求在每行结 尾都要有 CR、 LF对。 命令 描述 ABOR 异常中断数据连接程序 ACCT 系统优先权说明 ALLO 为服务器上的文件存储器分配字节 APPE 为服务器上同名文件 填加数据 CDUP 改变 到 服务器上的父目录 CWD 改变服务器上的工作目录 DELE 删除服务器上的指定文件 HELP 在指定命令上返回信息 LIST 列表显示 文件或目录 MODE 传输模式 MKD 在服务器上建立指定目录 NLST 列出 文件或 子 目录 (不带属性) NOOP 获得 服务器的 确 认 ,了解 服务器 是否活动 PASS 系统登录密码 PASV 等待数据连接的请求服务 命令 描述 PORT IP 地址和两字节的端口 ID PWD 显示当前工作目录 QUIT 从 FTP 服务器上退出登录 REIN 重新初始化 REST 由特定偏移量重启文件传递 RETR 从服务器上复制文件 到客户端 RMD 在服务器上 删除 指定目录 RNFR 指定要 重命名 的路径 RNTO 重命名 为 新路径 SITE 定义 服务器 相关的命令 SMNT 安装文件系统 STAT 返回 当前 文件 或目录 的状态 信息 STOR 储存(复制)文件到服务器上 STOU 储存文件到服务器上 (不覆盖同名文件) STRU 数据结构 (F=file , R=record , P=p age ) SYST 返回服务器使用的操作系统 TYPE 文件 类型 (A =AS CII , E=EBCDIC , I=b in ary ) USER 系统登录的用户名 2 FTP响应 响应都是 ASCII码形式的 3位数字 ,响应也是 以 NVT ASCII码形式传送,要求在每行结尾 都要返回 CR、 LF对。 响应代码 解释说明 响应代码 解释说明 110 新文件指示器上的重启标记 332 需 要帐号 名 120 在短时间内服务器准备就绪 350 未决的文件行为 125 数据连接 已 打开 , 在短时间内 开始传输 421 关闭服务器 150 文件 OK ,数据 连接 将 在短时间内 打开 425 不能打开数据连接 200 成功 426 结束连接 202 不执行的命令 450 文件 不可用 211 系统状态回复 451 本地错误 212 目录状态回复 452 磁盘空间不足 213 文件状态回复 500 无效命令 214 帮助信息回复 501 错误参数 215 系统类型回复 502 命令 未 执行 220 服务器准备就绪 503 错误指令序列 221 服务 关闭 504 无效命令参数 225 数据连接 打开 530 登录失败 226 数据连接 关闭 532 需要存储文件说明 227 进入被动模式( 发送 IP 地址、端口 号 ) 55 0 不可用的文件 230 登录 成功 551 不知道的页类型 250 完成的文件行为 552 超过了 分配 的 存储 空间 257 建立的路径名 5 53 不允许的文件名 331 用户名有效, 需 要 密码 返回 12.4 匿名 FTP 1.匿名 FTP用途 从前面的讲解可知,使用 FTP时必须首先利 用 Telnet协议 登录 ,获得远程主机相应的权 限,才能上传或下载文件。 本地主机必需具有用户 ID和口令,获得远地 计算机的适当授权,否则便无法传送文件。 Internet上的 FTP主机很多, 不可能要求每 个用户在每一台主机上都拥有帐号 。 匿名 FTP无需本地主机成为远地计算机的注 册用户,从而解决了这个问题。 2. 匿名 FTP机制 远程主机建立了名为 anonymous的用户特殊 ID,这样 Internet上的任何人在任何地方都可 使用该用户 ID,下载文件,而无需成为其注 册用户。 匿名 FTP主机的连接 使用方式 同连接普通 FTP 主机的方式差不多,只是在要求提供用户标 识 ID时必须输入 anonymous,其口令可以是 客户自己喜欢的任意字符串。 3. 匿名 FTP的使用 匿名 FTP是 Internet网上 发布软件 和 其它信息 内容的常用方法。 4. 匿名 FTP的安全 当远程主机提供匿名 FTP服务时,会指定某些 目录向公众开放,允许匿名存取。系统中的 其 余目录则处于隐匿状态 。 作为一种安全措施,大多数匿名 FTP主机都允 许用户从其下载文件,而 不允许用户向其上传 文件 。 即使有些匿名 FTP主机确实允许用户上传文件, 用户也只能将文件上传至某一 指定上传目录 中。 系统管理员会去 检查 这些上传文件,会将这些 文件 移至另一个公共下载目录中 ,供其他用户 下载,同时也保护自己免受病毒破坏。 返回 12.5 简单文件传送协议( TFTP) 1简单文件传送协议 TFTP简介 简单文件传送协议 TFTP(Trivial File Transfer Protocol)是网络 应用程序 ,它比 FTP简单 也比 FTP功能少。 TFTP客户与服务器之间的传输层 通信使用的是 UDP。 TFTP服务器必须提供一定形式的 并发 。 TFTP服 务器通过为每个客户提供一个 新的 UDP端口 来 提供并发。 TFTP协议 没有提供安全特性 ,很多安全特性都必 需由 TFTP服务器系统管理员来限制客户访问所 指定的文件。 2 TFTP的用途 简单文件传送协议的应用包括: 1) 为无盘工作站下载引导文件,下载初始化 代码 到打印机、集线器和路由器。 例如存在这样的设备,它拥有一个网络连接和 小容量的固化了 TFTP、 UDP和 IP的只读存储 器( Read-Only Memory, ROM)。 加电后,设备执行 ROM中的代码,在网络上 广播一个 TFTP请求。网络上的 TFTP服务器响 应请求包含可执行二进制程序的文件,设备收 到文件后,将它载入内存,然后开始运行程序。 2)路由器的信息设置 路由器可以在指定的 TFTP服务器上存储设置 参数,如果这个路由器瘫痪了,正确的设置信 息可以从 TFTP服务器上 下载 到一个 修复 的路 由器或者一个替代的路由器,这便为路由器提 供了 种容错能力。( 备份 ) 返回 12.6 TFTP报文 TFTP传输的数据使用固定长度( 512个字节) 的分组报文。如果一个分组报文少于 512字节, 表明这是数据传输的最后一个分组报文。 当一个数据的分组报文被发送到目标主机之后, 数据将在一个 缓冲区域内保存 直到接收到一个 确认信号,它表明数据已经被成功地接收了。 如果在再发送时间失效之前,发送主机没有接 收到确认信号,则数据分组报文将被 重新发送 。 TFTP 协议的封装形式和 五种消息格式 : TFTP报文的头两个字节表示 操作码 。 文件名 指明从 TFTP服务器上正在上传或下载 的文件的名字,它使用一个可变长的段, 0指 明 文件名结束 。 模式 字段是一个 ASCII码串 netascii或 octet, 同样以 0字节结束。 netascii表示数据是以 成行的 ASCII码字符 组成, 以两个字节 回车字符后跟换行字符(称为 CR/LF)作为行结束符。 octet则将数据看作 8bit一组的字节流 而不作任何 解释。 TFTP协议的五种消息格式分别是:读请求 (RRQ)、写请求 (WRQ)、数据 (DATA)、确认 (ACK)、出错 (ERR)。 1)读请求 (RRQ)和写请求 (WRQ) 读请求 (RRQ)和写请求 (WRQ)都使用相同的格 式。操作码: 1为读请求 ; 2为写请求 。 2)数据 (DATA) TFTP传输实际数据时,使用 DATA消息格式。 操作码被设置成 3,表明数据在以 TFTP消息传 输。 初始 块号 被设置成 1,为初始的 DATA分组报 文。每一个附加的分组报文将增加 1,直到整 个文件传输结束。 数据段可有 512字节 长。如果数据段 少于 512 字节 (0-511),则表明来自文件的最后一个数 据块 。如果正好是 512字节长,则说明要完成 文件的传输必须传送额外的 0长度数据块。 3)确认 (ACK) ACK确认 (ACK)分组报文的操作码值为 4。 块 号 段包含正在被确认的 DATA分组报文的块号。 如果此确认信号是 回答一个写请求 的,则这个 块号将被设置成 0,从而表明数据的传输可以 开始。 4)出错 (ERR) 出错 (ERR)操作码设置为 5。 出错代码 给出出 错类型值。出错消息以 NETASCII格式储存, 并且加上一个文本描述从而帮助调试 TFTP的 出错消息。出错消息段是 可变长 的,所以出错 消息总是以一个 “ 0”来作为结尾 标志。 出错代码描述: 代码 描述 0 没有定义的错误,出错信息将提供其他附加信息 1 文件没有找到。所给的文件名有误 2 访问非法。安全权限不足 3 磁盘已满或者分区表溢出 4 非法的 TFTP 操作 5 未知 的传输 ID( 端口号 ) 6 文件已经存在 7 没有这个用户 TFTP与文件传输协议 FTP的比较 1 TFTP协议的优势 尽管 TFTP比 FTP的功能要弱得多,但是 TFTP具有两个 优点 : TFTP能够用于那些有 UDP而无 TCP的环境。 TFTP代码所占的内存要比 FTP小。 2 TFTP协议与 FTP协议的 共同点 两个协议的作用大致相同, 都是用于文件的 传输 ,可以实现网络中两台计算机之间的文 件上传与下载。可以将 TFTP协议看做是 FTP 协议的简化版本。 3 TFTP协议与 FTP协议的 不同点 1)TFTP协议不需要 认证 客户端的权限, FTP需 要进行客户端认证; 2)TFTP协议一般多 用于 局域网以及远程 UNIX 计算机中,而常见的 FTP协议则多用于互联网 中。 3)TFTP客户与服务器之间的 通信 使用的是 UDP 而非 TCP。 4)TFTP只支持文件 传输 。也就是说, TFTP不 支持 交互 ,而且没有一个庞大的命令集。最 为重要的是, TFTP不允许用户列出目录内容 或者与服务器协商来决定那些可得到的文件 名。 本章要点 FTP客户和服务器之间的 连接是可靠的 ,而且 是面向连接,为数据的传输提供了可靠的保 证。 FTP客户与服务器之间要建立双重连接,一个 是 控制连接 ,一个是 数据连接 。 用户在两台主机间建立控制连接,然后进行 数据连接,但是 FTP并不通过控制连接来传送 数据,客户与服务器为每个文件传输建立一 个单独 的数据连接。 FTP服务的实现由一组 FTP进程完成。 服务器 FTP进程 是和用户 FTP进程一起工作的,它由 协议解释器 PI和数据传输过程 DTP组成。 用户 FTP进程 则是由 PI、 DTP和用户接口组成的。 FTP命令和响应 主要用于控制连接,可以直接 采用 Telnet协议实现。 远程主机建立了名为 anonymous的用户 特殊 ID,而无需成为其注册用户。 简单文件传送协议 TFTP是网络 应用程序 ,它 比 FTP简单 也比 FTP功能少。 TFTP协议的 五种消息 分别是:读请求 (RRQ)、 写请求 (WRQ)、数据 (DATA)、确认 (ACK)、 出错 (ERR)。 返回
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!