TFTP协议分析.doc

上传人:re****.1 文档编号:552370546 上传时间:2023-03-23 格式:DOC 页数:20 大小:1.20MB
返回 下载 相关 举报
TFTP协议分析.doc_第1页
第1页 / 共20页
TFTP协议分析.doc_第2页
第2页 / 共20页
TFTP协议分析.doc_第3页
第3页 / 共20页
TFTP协议分析.doc_第4页
第4页 / 共20页
TFTP协议分析.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《TFTP协议分析.doc》由会员分享,可在线阅读,更多相关《TFTP协议分析.doc(20页珍藏版)》请在金锄头文库上搜索。

1、计算机网络作业 题 目 TFTP协议分析 学 院 电子工程学院 专 业 XXXXXXXXXXXX 学生姓名 XXX(学号02113XXX) 导师姓名 胡建伟 1. TFTP协议简介TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。TFTP的版本2是因特网的正式标准RFC 1350。1.1概述虽然TFTP也使用客户服务器方式,但它使用UDP数据报(但是我们也不能确定有些TFTP协议是基于其它传输协议完成的),因此TFTP需要自己的差

2、错改正措施。TFTP只支持文件传输而不支持交互。TFTP没有一个庞大的命令集,因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。TFTP协议概述:1.简单文件传送协议(Trivial File Transfer Protocol)2.最初用于引导无盘系统,被设计用来传输小文件3.基于UDP协议实现,但也可以由其他协议实现4.不具备FTP的许多功能5.只能从服务器获取或写入文件,不能列出目录6.不进行认证1.2模式与FTP相似,TFTP传输过程中也有传输模式之分,模式的意思是如何解释数据包里的内容,比如是字符串还是二进制等。目前TF

3、TP传输有三种模式: netascii型:是8位的ASCII码形式(文本模式) octet型:即普通的二进制型(二进制模式) mail型:过时,不再使用另外,通讯双方也可以自定义所需的传输模式。1.3特点TFTP的主要特点是:(1) 每次传送的数据报文中有512字节的数据,但最后一次可不足512字节。(2) 数据报文按序编号,从1开始。(3) 支持ASCII码或二进制传送。(4) 可对文件进行读或写。(5) 使用很简单的首部。1.4优点TFTP的优点主要有两个。第一,TFTP可用于UDP环境。例如,当需要将程序或文件同时向许多机器下载时就往往需要使用TFTP。第二,TFTP代码所占的内存较小。

4、这对较小的计算机或某些特殊用途的设备是很重要的。这些设备不需要硬盘,只需要固化了TFTP,UDP和IP的小容量只读存储器即可。当接通电源后,设备执行只读存储器中的代码,在网络上广播一个TFTP请求。网络上的TFTP服务器就发送响应,其中包括可执行二进制程序。设备收到此文件后将其放入内存,然后开始运行程序。这种方式增加了灵活性,也减少了开销。2. TFTP包格式因为TFTP使用UDP,而UDP使用IP,IP还可以使用其它本地通信方法。因此一个TFTP包中会有以下几段:本地媒介头,IP头,数据报头,TFTP头,剩下的就是TFTP数据了。TFTP在IP头中不指定任何数据,但是它使用UDP中的源和目标

5、端口以及包长度域。由TFTP使用的包标记(TID)在这里被用做端口,因此TID必须介于0到65,535之间。TFTP头中包括两个字节的操作码,这个码指出了包的类型,包头次序为:TFTP共定义了五种类型的包格式,格式的区分由包数据前两个字节的Opcode字段区分,分别是: 读文件请求包:Read request,简写为RRQ,对应Opcode字段值为1 写文件请求包:Write request,简写为WRQ,对应Opcode字段值为2 文件数据包:Data,简写为DATA,对应Opcode字段值为3 回应包:Acknowledgement,简写为ACK,对应Opcode字段值为4 错误信息包:E

6、rror,简写为ERROR,对应Opcode字段值为51、 读写请求包的格式如下图:PRQ(读请求)报文由客户使用,用来建立一条从服务器读数据的连接。WRQ(写请求)报文由客户使用,用来建立一条把数据写到服务器的连接,它的格式与PRQ相同,除了头部的操作码是2。RRQ和WRQ包(代码分别为1和2)中,文件名是NETASCII码字符,以0结束。而MODE域包括了字符串netascii,octet或mail,名称不分大小写。接收到NETASCII格式数据的主机必须将数据转换为本地格式。OCTET模式用于传输文件,这种文件在源机上以8位格式存储。假设每个机器都存在一个8位的格式,这样的假设是最一般的

7、。比如DEC-20,这是一种36位机,我们可以假设它是4个8位外加另外4位而构成。如果机器收到OCTET格式文件,返回时必须与原来文件完全一样。在使用MAIL模式时,用户可以在FILE处使用接收人地址,这个地址可以是用户名或用户名主机的形式,如果是后一种形式,允许主机使用电子邮件传输此文件。如果使用MAIL类型,包必须以WRQ开始,否则它与NETASCII完全一样。我们的讨论建立在发送方和接收方都在相同模式的情况下,但是双方可以以不同的模式进行传输。例如一个机器可以是一台存储服务器,这样一台服务器需要将NETASCII格式转换为自己的格式。另外,我们可以设想DEC-20这种机器,它使用36位字

8、长,用户这边可以使用特殊的机制一次读取36位,而服务器却可以仍然使用8位格式。在这两种情况下,我们看到了两台机器使用不同格式的情况。可以在两台主机间定义其它的传输方式,但是定义要小心,因为这种传输方式不为人知,而且也没有权威机构为其指定名称或定义它的模式。2、DATA(数据)报文由客户和服务器使用,用来传送数据块,其格式如下图所示:数据包的操作码为3,它还包括有一个数据块号和数据。数据块号域从1开始编码,每个数据块加1,这样接收方可以确定这个包是新数据还是已经接收过的数据。数据域从0字节到512字节。如果数据域是512字节则它不是最后一个包,如果小于512字节则表示这个包是最后一个包。除了AC

9、K和用于中断的包外,其它的包均得到确认。发出新的数据包等于确认上次的包。WRQ和DATA包由ACK或ERROR数据包确认,而RRQ数据包由DATA或ERROR数据包确认。3、ACK(确认)报文由客户和服务器使用,用来确认已收到数据块,这个报文只有四字节,其格式如下图所示:ACK包操作码为4,其中的包号为要确认的数据包的包号。WRQ数据包被ACK数据包确认,WRQ数据包的包号为0。4、ERROR(错误)报文由客户或服务器使用,用于当一条连接不能建立或在数据传输中出现了问题,它可以作为PRQ或WRQ的负面响应,但不能用于对受损或重复报文的声明,其格式如下图:此包可以被其它任何类型的包确认。错误码指

10、定错误的类型。错误的值和错误的意义如下:0 未定义,请参阅错误信息(如果提示这种信息的话)1文件未找到2访问非法3磁盘满或超过分配的配额4非法的TFTP操作5未知的传输ID6文件已经存在7没有类似的用户3. TFTP通信流程任何传输起自一个读取或写入文件的请求,这个请求也是连接请求。如果服务器批准此请求,则服务器打开连接,数据以定长512字节传输。每个数据包包括一块数据,服务器发出下一个数据包以前必须得到客户对上一个数据包的确认。如果一个数据包的大小小于512字节,则表示传输结束。如果数据包在传输过程中丢失,发出方会在超时后重新传输最后一个未被确认的数据包。通信的双方都是数据的发出者与接收者,

11、一方传输数据接收应答,另一方发出应答接收数据。大部分的错误会导致连接中断,错误由一个错误的数据包引起。这个包不会被确认,也不会被重新发送,因此另一方无法接收到。如果错误包丢失,则使用超时机制。错误主要是由下面三种情况引起的:不能满足请求,收到的数据包内容错误,而这种错误不能由延时或重发解释,对需要资源的访问丢失(如硬盘满)。TFTP只在一种情况下不中断连接,这种情况是源端口不正确,在这种情况下,指示错误的包会被发送到源机。这个协议限制很多,这些都是为了实现起来比较方便而进行的。初始连接时需要发出WRQ(请求写入远程系统)或RRQ(请求读取远程系统),收到一个确定应答,一个确定可以写出的包或应该

12、读取的第一块数据。通常确认包包括要确认的包的包号,每个数据包都与一个块号相对应,块号从1开始而且是连续的。因此对于写入请求的确定是一个比较特殊的情况,因此它的包的包号是0。如果收到的包是一个错误的包,则这个请求被拒绝。创建连接时,通信双方随机选择一个TID,因为是随机选择的,因此两次选择同一个ID的可能性就很小了。每个包包括两个TID,发送者ID和接收者ID。这些ID用于在UDP通信时选择端口,请求主机选择ID的方法上面已经说过了,在第一次请求的时候它会将请求发到TID 69,也就是服务器的69端口上。应答时,服务器使用一个选择好的TID作为源TID,并用上一个包中的TID作为目的ID进行发送

13、。这两个被选择的ID在随后的通信中会被一直使用。TFTP协议的通信流程如下图所示:4. 实验4.1实验环境本实验以虚拟机里的两个32位windows XP系统作为TFTP服务器和TFTP客户机。以Cisco TFTP Server搭建TFTP服务器和TFTP客户端。该软件的相关介绍如下:1、软件简介CISCO公司出品的 TFTP 服务器,常用于CISCO 路由器的IOS升级与备份工作。也可用于个人建立TFTP服务器,进行文件传输。软件中附带了一个命令行方式的TFTP 客户端,文件名为TFTP.EXE,用它可以测试你建立的TFTP服务器。2、 已知问题当多个客户端同时访问TFTP服务器,并且“选

14、项”中的“显示传输进程”开启后,会导致TFTP服务器挂掉。要避免此问题的发生,请将“选项”中的“显示文件传输进程”选项取消即可。3、 TFTP 客户端用法TFTP -i -b blocksize -v -t timeout -s host GET | PUT source destination -i 以二进制方式传输 -b 传输过程中使用的块大小 (默认为512字节). 8-65464 字节 -v 传输过程中显示详细的信息 (冗余模式). -t 超时 (默认为10 秒).可以设置为1-255秒 -s 不使用 tsize 选项 (默认启用). host 指定本地或远程主机 GET 下载文件 PUT 传文件 source 指定要传输的文件名 destination 指定传输的目的地例:tftp -i 192.168.0.8 get 1.txt从192.168.0.8 这个主机中下载1.txt这个文件到当前目录tftp -i 192.168.0.8 put test.txt将本地当前目录中的test.txt 文件上传到192.168.0.8主机中服务器端根目录如下图所示:客户端根目录如下图所示:服务器系统信息:客户机系统信息:4.2实验说明实验过程在客户机

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 理财规划师

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号