首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
热门关键字: .net应用  操作系统  Dreamweaver  WinRAR  网络推广
高级搜索
您当前的位置: 主页>网络技术>网络知识>TFTP之简单文件传送协议
TFTP之简单文件传送协议
来源: 发布时间:2007-09-10 发布人: 浏览: 人次   字体: [ ]  
TFTP(TrivialFileTransferProtocol)即简单文件传送协议,最初打算用于引导无盘系统(通常是工作站或X终端)。和将在第27章介绍的使用TCP的文件传送协议(FTP)不同,为了保持简单和短小,TFTP将使用UDP。TFTP的代码(和它所需要的UDP、IP和设备驱动程序)都能适合只读存储器。

(BootstrapProtocol)中还会遇到TFTP。在图5-1中,当从网络上引导sun主机时,也曾遇到过TFTP,sun主机通过RARP获得它的IP地址后,将发出一个TFTP请求。RFC1350[Sollins1992]是第2版TFTP的正式规范。第12章[Stevens1990]提供了实现TFTP客户和服务器的全部源代码,并介绍了一些使用TFTP的编程技术。

协议

  在开始工作时,TFTP的客户与服务器交换信息,客户发送一个读请求或写请求给服务器。在一个无盘系统进行系统引导的正常情况下,第一个请求是读请求(RRQ)。下图显示了5种TFTP报文格式(操作码为1和2的报文使用相同的格式)。

  TFTP报文的头两个字节表示操作码。对于读请求和写请求(WRQ),文件名字段说明客户要读或写的位于服务器上的文件。这个文件字段以0字节作为结束(见图15-1)。模式字段是一个ASCII码串netascii或octet(可大小写任意组合),同样以0字节结束。netascii表示数据是以成行的ASCII码字符组成,以两个字节—回车字符后跟换行字符(称为CR/LF)作为行结束符。这两个行结束字符在这种格式和本地主机使用的行定界符之间进行转化。octet则将数据看作8bit一组的字节流而不作任何解释。

  每个数据分组包含一个块编号字段,它以后要在确认分组中使用。以读一个文件作为例子,TFTP客户需要发送一个读请求说明要读的文件名和文件模式(mode)。如果这个文件能被这个客户读取,TFTP服务器就返回一个块编号为1的数据分组。TFTP客户又发送一个块编号为1的ACK。TFTP服务器随后发送块编号为2的数据。TFTP客户发回块编号为2的ACK。重复这个过程直到这个文件传送完。除了最后一个数据分组可含有不足512字节的数据,其他每个数据分组均含有512字节的数据。当TFTP客户收到一个不足512字节的数据分组,就知道它收到最后一个数据分组。

  在写请求的情况下,TFTP客户发送WRQ指明文件名和模式。如果该文件能被该客户写,TFTP服务器就返回块编号为0的ACK包。该客户就将文件的头512字节以块编号为1发出。服务器则返回块编号为1的ACK。

  这种类型的数据传输称为停止等待协议。它只用在一些简单的协议如TFTP中。在20.3节中将看到TCP提供了不同形式的确认,能提供更高的系统吞吐量。TFTP的优点在于实现的简单而不是高的系统吞吐量


5种TFTP报文格式


  最后一种TFTP报文类型是差错报文,它的操作码为5。它用于服务器不能处理读请求或写请求的情况。在文件传输过程中的读和写差错也会导致传送这种报文,接着停止传输。差错编号字段给出一个数字的差错码,跟着是一个ASCII表示的差错报文字段,可能包含额外的操作系统说明的信息。

  既然TFTP使用不可靠的UDP,TFTP就必须处理分组丢失和分组重复。分组丢失可通过发送方的超时与重传机制解决(注意存在一种称为“魔术新手综合症(sorcerer’sapprenticesyndrome)”的潜在问题,如果双方都超时与重传,就可能出现这个问题。12.2节[Stevens1990]介绍了这个问题是如何发生的)。和许多UDP应用程序一样,TFTP报文中没有检验和,它假定任何数据差错都将被UDP的检验和检测到

相 关 文 章   发布商链接
·FTP使用精萃--FTP的内部命令
·子网划分方法及掩码简便算法
·ftp命令大全及应用实例
·linux系统下的DDNS配置方法
·关于面向3G的光传送网络技术介绍
·详解ADSL宽带上网常见故障及解决方法
·nslookup命令详解及其使用实例
·用sscanf格式化MAC地址实例一则
·家庭网络布线中的几点注意事项
·小解FTP文件服务器的一些基本常识
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·家庭网络布线中的几点注意事...
·用sscanf格式化MAC地址实例一
·nslookup命令详解及其使用实...
·详解ADSL宽带上网常见故障及...
·关于面向3G的光传送网络技术...
·linux系统下的DDNS配置方法
·ftp命令大全及应用实例
热 门 文 章
·nslookup命令详解及其使用实...
·详解ADSL宽带上网常见故障及...
·linux系统下的DDNS配置方法
·子网划分方法及掩码简便算法
·用sscanf格式化MAC地址实例一...
·ftp命令大全及应用实例
·关于面向3G的光传送网络技术...
·TCP/IP协议之特殊的IP地址介...
·FTP使用精萃--FTP的内部命令<...
·家庭网络布线中的几点注意事...
·小解FTP文件服务器的一些基本...
·Cisco的IOS中最基本常见的几...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .