TFTP简单文件传输协议_第1页
TFTP简单文件传输协议_第2页
TFTP简单文件传输协议_第3页
TFTP简单文件传输协议_第4页
TFTP简单文件传输协议_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

效劳器销不大的文件传输效劳69。名目初始连接早终结目的概况初始连接早终结FTPFTP开放编辑本段目的TFTP是一个传输文件的简洁协议,它基于UDP传输协议完成的。此协议设计的时候是进展小文件传输的。因此它不具备通常的FTP的很多功能,它只能从文件效劳器上获得或写入文件,不能列知名目,不进展认证,它传输 8位数据。传输中有三种模式:netascii,这是8位的ASCII码形式,另一种是octet,这是8位源数据类型;最终一种mail已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。编辑本段概况任何传输起自一个读取或写入文件的恳求,这个恳求也是连接恳求。如果效劳器批准此恳求,则效劳器翻开连接,数据以定长512数据包包括一块数据,效劳器发出下一个数据包以前必需得到客户对上一个数据包确实认。假设一个数据包的大小小于512果数据包在传输过程中丧失,发出方会在超时后重传输最终一个未被确认的数据包。通信的双方都是数据的发出者与接收者,一方传输数据接收应答,另一方发出应答接收数据。大局部的错误会导致连接中断,错误由一个错误的数据包引起。这个包不会被确认,也不会被重发送,因此另一方无法接收到。假设错误包丧失,则使用超时机制。错误主要是由下面三种状况引起的:不能满足恳求,收到的数据包内容错误,而这种错误不能由延时或重发〕。TFTP接,这种状况是源端口不正确,在这种状况下,指示错误的包会被发送到源机。这个协议限制很多,这是都是为了实现起来比较便利而进展的。编辑本段与其它协议的联系TFTPUDPUDPIP,IPIPTFTPTFTPTFTPIP头中不指定任何数据,但是它使用UDP中的源和目标端口以及包长度域。由TFTP〔TID〕在这里被用TID必需介于065,535TFTP上的TFTP包格式,相关的内容我们在后面的章节中进展争论。|LocalMedium|Internet|Datagram|TFTP|包头次序编辑本段初始连接初始连接时候需要发出WRQ〔恳求写入远程系统〕或RRQ〔恳求读取远程系统〕,收到一个确定应答,一个确定可以写出的包或应当读取的第一块数据。通常确认包包括要确认的包的包号,每个数据包都与一个块号相对应,块号从1开头而且是连续的。因此对于写入恳求确实定是一个比较特别的状况,因此它的包的包号是0。假设收到的包是一个错误的包,则这个恳求被拒绝。创立连接时,通信双方随机选择一个TID,因此是随机选择的,因此两次选择同一个ID的可能性就很小了。每个包包括两个TIDIDIDIDUDPID已经说过了,在第一次恳求的时候它会将恳求发到TID6969TIDTID,并用上一个包中的TID作为目的ID进展发送。这两个被选择的ID被始终使用。下例是一个写入的例子,其中WRQ,ACKDATA确认和数据。编辑本段相关应用ABWRQ,其中端口为69BAACK0BATID此时连接建立,第一个数据包以序列号1要保证以开头时确定的其次个应答包而导致第一个建立的连接失败。5.TFTPTFTPopcodeoperationReadrequest(RRQ)Writerequest(WRQ)Data(DATA)Acknowledgment(ACK)Error(ERROR)包头中包括了这个包所指定的操作码。2bytesstring1bytestring1byte|Opcode|Filename|0|Mode|0|Figure5-1:RRQ/WRQ包RRQWRQ〔代码分别为12〕的格式如上所示。文件名是NETASCII名称不分大小写。接收到NETASCII格式数据的主机必需将数据转换为本地格式。OCTET模式用于传输文件,这种文件在源机上以8位格式存储。假设每个机器都存在一个8位的格式,这样的假设是最一般的。比方DEC-2036484到OCTET格式文件,返回时必需与原来文件完全一样。在使用MAIL模式时,用户可以在FILE处使用接收人地址,这个地址可以是用户名或用户名@主机的形式,假设是后一种形式,允许主机使用电子邮件传输此文件。假设使用MAIL类型,包必需以WRQNETASCII完全一样。我们的争论建立在发送方和接收方都在一样模式的状况下,但是双方可以以不同的模式进展传输。例如一个机器可以是一台存储效劳器,这样一台效劳器需要将NETASCIIDEC-2036却可以仍旧使用格式的状况。可以在两台主机间定义其它的传输方式,但是定义要留神,由于这种传输方式不为人知,而且也没有权威机构为其指定名称或定义它的模式。2bytes2bytesnbytes|Opcode|Block#|Data|Figure5-2:DATA包其格式如上图所示。数据包的OP码为3,它还包括有一个数据块号和数据。数据块号域从1开头编码,每个数据块加1,这样接收方可以确定这个包是数据还是已经接收过的数据。数据域从 0字节512字节。假设数据域是512字节则它不是最终一个包,假设小于512字节则表示这个包是最终一个包。除了ACK到确认。发出的数据包等于确认上次的包。WRQDATAACKERROR数据包确认,而DATAERRORACK包,操作码为4。其中的包号为要确认的数据包的包号。2bytes2bytes|Opcode|Block#|Figure5-3:ACK包WRQACKWRQ0。2bytes2bytesstring1byte|Opcode|ErrorCode|ErrMsg|0|Figure5-4:ERROR包5,它的格式如上所示。此包可以被其它任何类型的包确认。错误码指定错误的类型。错误的值和错误的意义在附录中。错误信息是供程序员使用的。编辑本段正常终止0-511数据包确认。接收方在发出对最终数据包确实认后可以断开连接,固然,适当的等待是比较好的,假设最终确实定包丧失可以再次传输。假设发出确认后仍旧收到最终数据包,可以确定最终确实认丧失。发送最终一个DATA主机必需等待对此包确实认或超时。假设响应是ACK,传输完成。假设发送方超时并不预备重发送并且接收方有问题或网络有问题时,发送也正常结编辑本段早终结假设恳求不能被满足,或者在传输中发生错误,需要发送 仅是一种传输友好的方式,这种包不会被确认也不会被重传输,因此这种包可能永久不会被接收到。因此需要用超时来侦测错误。编辑本段其它相关I.附录2bytes|LocalMedium|Internet|Datagram|TFTPOpcode|TFTPTypeOp#没有包头的格式2bytesstring1bytestring1byteRRQ/|01/02|Filename|0|Mode|0|WRQ 2bytes2bytesnbytesDATA|03|Block#|Data|2bytes2bytesACK|04|Block#|2bytes2bytesstring1byteERROR|05|ErrorCode|ErrMsg|0|读文件的初始连接ARRQA,包括源=AID=69BDATA,其中包号=1,这个包被传送到A,源=BID,目的=AID错误码ValueMeaning未定义,请参阅错误信息〔假设提示这种信息的话〕文件未找到访问非法磁盘满或超过安排的配额非法的TFTP操作ID文件已经存在没有类似的用户Internet〔TFTPUDP〕Format012301234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|SourcePort|DestinationPort|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Length|Checksum|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+域的值SourcePort由传输发起方选择Dest.Port由目的地选择〔假设是RRQWRQ69〕Length包括UDPChecksum校验码,假设是0,则未使用校验UDP安全问题由于TFTP没有安全掌握机制,因此安全问题应当多加考虑。通常 TFTP编辑本段FTPFTPInternet用户使用最频繁的命令之一,不管是在DOSUNIX操作系统FTP,都会遇到大量的FTPFTPFTPftp-v-d-i-n-g[-v显示远程效劳器的全部响应信息;-rc-d-gftp使用的内部命令如下(中括号表示可选项):![cmd[args>shellexitftp!ls*.zip.$macro-ame[args]macro-name.account[password]系统资源所需的补充口令。appendlocal-file[remote-file]系统主机,假设未指定远程系统文件名,则使用本地文件名。asciiasciibell:每个命令执行完毕后计算机响铃一次。bin:使用二进制文件传输方式。byeftpcasemgetcdremote-dircdupchmodmodefile-namefile-namemodechmod777a.outcloseftp会话(与open对应)。crassciideleteremote-filedebug[debug-value]debup30debug。dir[remote-dir][local-file]:显示远程主机名目,并将结果存入local-filedisconnectionclose。formformatformatfilegetremote-file[local-file]remote-filelocal-filemdeletemget,mput-ghash1024hashcmdhelpget24.idle[seconds]:将远程效劳器的休眠计时器设为[seconds]25.imagebinary)lcd[dir]dir。:显示远程名目remote-dirlocal-filemacdef完毕。mdelete[remote-file]dir如:mdir*.o.*.zipoutfilemgetremote-filesmkdirdir-name:在远程主机中建一名目。mlsremote-filelocal-filenlist,但可指定多个文件名。modenamestream方式。modtimefile-namemputlocal-filenewerfile-name:假设远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。nlist[remote-dir][local-file]:显示远程主机名目的文件清单,并存入本地硬盘的local-filenmap[inpatternoutpattern]:设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如:nmap$1.$2.$3[$1,$2].[$2$3],则a1.a2.a3a1,a2。该命令特别适用于远程主机为非UNIXntrans1RLLLRRR。openhost[port]ftppassivepromptproxyftp-cmdftp,该命令允许ftpftpopen,以首先建立两个效劳器间的连接。putlocal-file[remote-file]:将本地文件local-file主机。pwd:显示远程主机的当前工作名目。47.quitbyeftpquotearg1arg2...ftpquotesyst.recvremote-file[local-file]:同get。regetremote-file[local-file]:类似于getlocal-file在,则从上次传输中断处续传。rhelp[cmd-name]rstatus[file-name]则显示文件状态。rename[from][to]resetrestart130rmdirdir-name:删除远程主机名目。缀..1,.2sendlocal-file[remote-file]put。59.sendp

温馨提示

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

评论

0/150

提交评论