文件传输协议FTPPPT课件.ppt_第1页
文件传输协议FTPPPT课件.ppt_第2页
文件传输协议FTPPPT课件.ppt_第3页
文件传输协议FTPPPT课件.ppt_第4页
文件传输协议FTPPPT课件.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文件传输协议 文件是计算机系统中信息存储 处理和传输的主要形式 大多数计算机系统都支持网络文件访问功能 对网络文件访问的需求来自四个方面 不同应用程序之间的数据共享 利用远程存储介质存储后备文件 无盘站点通过网络访问服务器上的文件信息 以文件形式进行的数据交换 1 文件传输协议 1 TCP IP文件传输协议 FTP 2 FTP进程模型3 FTP命令与响应4 匿名FTP5 简单文件传送协议 TFTP 6 TFTP报文 2 1 TCP IP文件传输协议 FTP FTP工作在TCP IP模型的应用层 基于的传输协议是TCP FTP客户和服务器之间的连接是可靠的 面向连接为数据的传输提供了可靠的保证 1 FTP的目标 1 主机之间共享计算机程序或数据 2 本地主机间接地使用远程计算机 3 向用户屏蔽不同主机中各种文件存储系统的细节 4 可靠和高效的传输数据 3 2 FTP主要特征 1 控制连接是建立在用户协议解释器和服务器协议解释器之间用于交换命令与应答的通信链路 2 数据连接是传输数据的全双工连接 传输数据可以发生在服务器数据传输过程DTP和用户DTP之间 也可以发生在两个服务器DTP之间 4 3 文件类型 1 ASCII码文件类型 默认选择 发送方把内部字符表示的数据转换成标准的8位NVT ASCII表示 接收方把数据从标准的格式转换成自己内部的表示形式 2 EBCDIC文件类型 广义二进制编码的十进制交换码 在一个EBCDIC的文件里 每个字母或数字字符都被表示为一个8位的二进制数 3 图像文件类型 也称为二进制文件类型 数据以连续的位传输 并打包成8位的传输字节 接收站点必须以连续的位存储数据 图像格式用于有效地传送和存储文件和二进制数据 推荐所有的FTP在执行时支持此类型 5 4 数据结构文件结构 Filestructure 没有内部的结构 被认为是数据字节的连续序列 如果没有使用STRUcture指令 文件结构就被假定是缺省的 记录结构 Recordstructure 记录结构必须被所有的FTP实现以 文本 文件 比如 ASCII或EBCDIC类型的文件 的方式承认 记录结构的文件由连续的记录组成 页结构 Pagestructure 文件被划分为页 每页有页号和页头 可以进行随机存取或顺序存取 6 5 传输方式FTP的传输模式有流模式 块模式和压缩模式 1 流模式数据以字节流的形式传送在记录结构文件中EOR和EOF表示为双字节控制码 控制码的第一个字节全是0 第二个字节的值为1时表示EOR 为2时表示EOF 如果要同时表示EOR和EOF 值为3 文件结构 通过发送方关闭连接表示EOF 接收到的所有数据就是文件内容 2 块模式文件以块形式传送 块带有自己的头部分 头字节包括16位计数域和8位描述子代码 计数域指出了数据块的总长度字节数 描述符代码定义了 文件的最后块 EOF 记录的最后块 EOR 重新开始标记或可疑数据 3 压缩模式压缩连续出现的相同字节 在ASCII或EBCDIC文件中 主要用来压缩空白串 在二进制文件中用来压缩全0字节压缩模式中 因为数据是压缩过的 对于增加带宽有很多好处 7 块模式头字节的结构描述子代码由在描述子字节中的位标记说明 8 3 FTP模型 协议模型 客户端 服务器模型服务器端打开21号端口 等待客户端的服务请求 FTP服务器允许多个客户端的并发访问 进程模型服务器进程 a 主服务器进程 等待客户端连接 并为每个连接请求建立控制从进程 b 控制连接从进程 接收和处理来自客户的控制连接 c 数据传输从进程 一个或多个 处理数据传输 客户端进程 a 控制连接进程 b 数据传输进程 9 两类连接a 控制连接 使用Telnet 传输控制命令 在整个会话期间保持不变 b 数据连接 使用TCP 传输所有数据 可临时动态创建 TCP IP互联网 10 端口号分配服务器端 主服务器进程 控制连接从进程 21号端口 数据传输从进程 20号端口 客户端 控制连接 操作系统分配 数据连接 操作系统分配 并利用控制连接 将该端口号通告给服务器 FTP控制报文和差错报文格式 3个数字开始 后跟文本 说明控制和差错状态 例 530 NotLoggedin 11 3 1FTP控制连接控制连接是建立在用户协议解释器和服务器协议解释器之间用于交换命令与应答的通信链路 用户在两台主机间建立控制连接 然后进行数据连接 客户与服务器为每个文件传输建立一个单独的数据连接 如果用户请求另一个传输 那么客户与服务器将建立一个新的数据连接 尽管数据连接频繁地出现并消失 但是控制连接却在整个会话中一直保持着 在完成FTP服务后由用户发出中止控制连接命令 控制连接用NVTASCII传命令和响应 12 3 2FTP数据连接数据连接是传输数据的全双工连接 1 数据连接机制数据连接可以用文件结束来终止传输过程 这样做的好处可以改变所传输文件的大小 例如 当服务器中应用程序正在写入文件时 如果FTP也同时在将这个文件的副本传输至客户 由于文件传输的连接是单独的 服务器不必利用控制连接告诉客户方所传输文件的大小 只需要用数据连接的文件结束来终止传输 13 2 数据传输方式主动方式 主动方式也称为PORT方式 是FTP协议最初定义的数据传输连接方式 主要特点是 FTP客户端通过向FTP服务器发送PORT命令 告诉服务器该客户端用于传输数据的临时端口号 当需要传送数据时 服务器通过TCP端口号20与客户端的临时端口建立数据传输通道 完成数据传输 在建立数据连接的过程中 由服务器主动发起连接 因此被称为主动方式 14 主动方式建立连接过程 FTP客户端 控制连接 FTP服务器 控制连接 1 1174 21 TCP三次握手建立控制通道的TCP连接 FTP客户端 控制连接 FTP服务器 控制连接 2 1174 21 客户端用PORT命令通告用于数据传输的临时端口号 13 256 238 3566 PORT 192 168 0 1 13 238 交互过程 FTP客户端 数据连接 FTP服务器 数据连接 3 3566 20 TCP三次握手建立数据通道的TCP连接 FTP客户端 数据连接 FTP服务器 数据连接 4 3566 20 双方进行数据传输 传输完毕后发送数据的一方主动关闭数据连接 数据传输 关闭数据连接 被动方式 被动方式也称为PASV方式 被动方式的主要特点是 FTP客户端通过向FTP服务器发送PASV命令 告诉服务器进入被动方式 服务器选择临时端口号并告知客户端 当需要传送数据时 客户端主动与服务器的临时端口号建立数据传输通道 完成数据传输 在整个过程中 由于服务器总是被动接收客户端的数据连接 因此被称为被动方式 16 被动方式建立连接过程 FTP客户端 控制连接 FTP服务器 控制连接 1 1174 21 TCP三次握手建立控制通道的TCP连接 FTP客户端 控制连接 FTP服务器 控制连接 2 1174 21 服务器对PASV命令回应 其中包含用于数据传输的临时端口号 20 256 245 5365 PASV 交互过程 FTP客户端 数据连接 FTP服务器 数据连接 3 3789 5365 客户端随机选择端口与服务器端选定的端口建立数据通道的TCP连接 FTP客户端 数据连接 FTP服务器 数据连接 4 3789 5365 进行数据传输 传输完毕后发送数据的一方主动关闭数据连接 数据传输 关闭数据连接 EnterPassiveMode 192 168 0 10 20 245 3 数据连接的关闭关闭连接的条件 用户端发送ABORT命令服务器通过EOF终止要求 表示结束发送数据控制连接关闭发生不可恢复错误 18 3 FTP命令与响应 1 FTP命令FTP命令主要用于控制连接 可以直接采用Telnet协议实现 命令以NVTASCII码形式传送 19 20 21 2 FTP响应响应都是ASCII码形式的3位数字 响应也是以NVTASCII码形式传送 要求在每行结尾都要返回CR LF对 22 23 FTP协议分析 FTP模型与测试分析环境 24 协议分析器 协议分析器的作用就是监视FTP客户与FTP服务器的协议交互过程 记录并对协议包进行分析 分析环境的具体参数是 FTP服务器 MAC地址为00 00 C0 22 A1 01IP地址为201 5 21 1控制连接端口号为20数据连接端口号为21FTP客户 MAC地址为02 60 8C 01 24 28IP地址为201 5 21 25数据连接端口号为15432控制连接端口号为7180 25 FTP工作模型 26 协议分析器捕获FTP交互的协议包 27 28 FTP控制连接建立过程的协议分析 1 地址解析ARP协议执行过程 29 2 FTP控制连接建立的协议交互过程 30 协议包4 6是FTP控制连接建立的协议执行过程协议包4 FTP客户请求建立与FTP服务器控制连接包 31 3 FTP用户登录身份验证过程的协议分析 协议包9 16是用户身份的协议执行过程FTP用户登录身份验证的协议包交互过程 32 协议包9 FTP客户发送给FTP服务器的User命令协议包 33 协议包10 FTP服务器发送给FTP客户对User命令的应答包 34 协议包12 FTP客户发送给FTP服务器的带有用户名与密码的应答包 35 4 FTP数据连接建立过程的协议分析 FTP数据连接建立分为 连接建立准备 连接建立阶段协议包17 18完成数据连接建立准备工作协议包17 FTP客户发送给FTP服务器的Port命令包协议包18 FTP服务器发送给FTP客户的Port命令应答包根据FTP协议的规定 FTP客户可以动态地选择一个大于1024的本地端口号FTP协议表示方法 在Port命令中客户IP地址后面加上两个十进制的数P1 P2 表示16位的本地端口号 计算公式是本地端口号 P1 256 P2 36 FTP数据连接建立准备工作的协议包交互过程 37 协议包19 FTP客户发送给FTP服务器的RETR命令包 38 数据连接建立过程 协议包20 22完成数据连接建立工作 39 5 FTP数据传输和确认的协议包交换过程 40 协议包23 25完成数据传输工作协议包23 FTP服务器向FTP客户发回文件netstart的状态信息 41 协议包25 FTP服务器向FTP客户发送的检索文件的数据包 42 协议包26 FTP服务器在传输数据的同时 向FTP客户发送在文件传输结束时断开数据连接的通知协议包 43 FTP连接释放过程的分析 一个完美的传输连接的释放机制应该是任何一方都可以提出 但是必须双方都同意 才可以释放连接 FTP连接建立分为控制连接建立与数据连接建立两个阶段 因此连接释放也应包括释放控制连接与释放数据连接两个阶段 首先应该释放数据连接 然后再释放控制连接 44 6 FTP数据连接释放过程 45 FTP数据传输中最后一个数据包的结构 46 FTP客户做FIN置位的应答包 47 FTP客户的QUIT命令包结构 48 FTP服务器对QUIT命令的响应包的结构 49 7 FTP控制连接的释放过程 50 4 匿名FTP 1 匿名FTP用途从前面的讲解可知 使用FTP时必须首先利用Telnet协议登录 获得远程主机相应的权限 才能上传或下载文件 本地主机必需具有用户ID和口令 获得远地计算机的适当授权 否则便无法传送文件 Internet上的FTP主机很多 不可能要求每个用户在每一台主机上都拥有帐号 匿名FTP无需本地主机成为远地计算机的注册用户 从而解决了这个问题 51 2 匿名FTP机制远程主机建立了名为anonymous的用户特殊ID 这样Internet上的任何人在任何地方都可使用该用户ID 下载文件 而无需成为其注册用户 匿名FTP主机的连接使用方式同连接普通FTP主机的方式差不多 只是在要求提供用户标识ID时必须输入anonymous 其口令可以是客户自己喜欢的任意字符串 3 匿名FTP的使用匿名FTP是Internet网上发布软件和其它信息内容的常用方法 52 4 匿名FTP的安全当远程主机提供匿名FTP服务时 会指定某些目录向公众开放 允许匿名存取 系统中的其余目录则处于隐匿状态 作为一种安全措施 大多数匿名FTP主机都允许用户从其下载文件 而不允许用户向其上传文件 即使有些匿名FTP主机确实允许用户上传文件 用户也只能将文件上传至某一指定上传目录中 系统管理员会去检查这些上传文件 会将这些文件移至另一个公共下载目录中 供其他用户下载 同时也保护自己免受病毒破坏 53 5 简单文件传送协议 TFTP 1 简单文件传送协议TFTP简介简单文件传送协议TFTP TrivialFileTransferProtocol 是网络应用程序 它比FTP简单也比FTP功能少 TFTP客户与服务器之间的传输层通信使用的是UDP TFTP服务器必须提供一定形式的并发 TFTP服务器通过为每个客户提供一个新的UDP端口来提供并发 TFTP协议没有提供安全特性 很多安全特性都必需由TFTP服务器系统管理员来限制客户访问所指定的文件 54 6 TFTP报文 TFTP传输的数据使用固定长度 512个字节 的分组报文 如果一个分组报文少于512字节 表明这是数据传输的最后一个分组报文 当一个数据的分组报文被发送到目标主机之后 数据将在一个缓冲区域内保存直到接收到一个确认信号 它表明数据已经被成功地接收了 如果在发送时间失效之前 发送主机没有接收到确认信号 则数据分组报文将被重新发送 55 TFTP协议的封装形式和五种消息格式 56 TFTP报文的头两个字节表示操作码 文件名指明从TFTP服务器上正在上传或下载的文件的名字 它使用一个可变长的段 0指明文件名结束 模式字段是一个ASCII码串netascii或octet 同样以0字节结束 netascii表示数据是以成行的ASCII码字符组成 以两个字节 回车字符后跟换行字符 称为CR LF 作为行结束符 octet则将数据看作8bit一组的字节流而不作任何解释 TFTP协议的五种消息格式分别是 读请求 RRQ 写请求 WRQ 数据 DATA 确认 ACK 出错 ERR 57 1 读请求 RRQ 和写请求 WRQ 读请求 RRQ 和写请求 WRQ 都使用相同的格式 操作码 1为读请求 2为写请求 2 数据 DATA TFTP传输实际数据时 使用DATA消息格式 操作码被设置成3 表明数据在以TFTP消息传输 初始块号被设置成1 为初始的DATA分组报文 每一个附加的分组报文将增加1 直到整个文件传输结束 数据段可有512字节长 如果数据段少于512字节 0 511 则表明来自文件的最后一个数据块 如果正好是512字节长 则说明要完成文件的传输必须传送额外的0长度数据块 58 3 确认 ACK ACK确认 ACK 分组报文的操作码值为4 块号段包含正在被确认的DATA分组报文的块号 如果此确认信号是回答一个写请求的 则这个块号将被设置成0 从而表明数据的传输可以开始 4 出错 ERR 出错 ERR 操作码设置为5 出错代码给出出错类型值 出错消息以NETASCII格式储存 并且加上一个文本描述从而帮助调试TFTP的出错消息 出错消息段是可变长的 所以出错消息总是以一个 0 来作为结尾标志 59 出错代码描述 60 TFTP协议分析 从协议角度分析TFTP上传过程 基本环境介绍 客户机 192 168 1 50TFTP服务器 192 168 1 100上传文件 AAAA TXT 61 第一个数据包 62 第二个数据包 63 第三个数据包 64 第四个数据包 65 本章要点 FTP客户和服务器之间的连接是可靠的 而且是面向连接 为数据的传输提供了可靠的保证 FTP客户与服务器之间要建立双重连接 一个是控制连接 一个是数据连接 用户在两台主机间建立控制连接 然后进行数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论