精华内容
下载资源
问答
  • tftp协议

    2019-07-10 01:22:00
    TFTP(Trivial File Transfer Protocol,...TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常...

    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务端口号为69。

    TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。传输中有三种模式:netascii,这是8位的ASCII码形式,另一种是octet,这是8位源数据类型;最后一种mail已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。

    转载于:https://www.cnblogs.com/Confusedren/p/11161471.html

    展开全文
  • TFTP协议

    2017-12-03 23:34:39
    说明: 本文是以下文献相关内容的总结 [1] 《TCP/IP详解 卷1:协议》 [2] 《TCP/IP协议族 第4版》 ...TFTP协议常用于无盘工作站或路由器从别的主机上获取引导配置文件,由于TFTP报文比较小,能个迅速复制这

    说明: 本文是以下文献相关内容的总结
    [1] 《TCP/IP详解 卷1:协议》
    [2] 《TCP/IP协议族 第4版》
    [3] 《计算机网络 第5版》

    TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。TFTP协议常用于无盘工作站或路由器从别的主机上获取引导配置文件,由于TFTP报文比较小,能个迅速复制这些文件。

    Notice
    1. TFTP协议代码所占用的内存小,其对应的软件也很小,所以能个很容易地放入到无盘工作站的ROM中。
    2. TFTP支持ASCII码或二进制传送。

    TFTP过程描述
    以TFTP客户端向TFTP服务器发送读请求为例,说明整个过程:
    1. 服务器使用熟知端口号69被动打开连接;
    2. 客户主动打开连接,它使用临时端口作为源端口而将端口69作为目的端口,向服务器进程发送RRQ报文;
    3. 服务器主动打开连接,它使用新的临时端口作为源端口,而使用收到的来自客户的临时端口作为目的端口,向TFTP客户进程发送DATA报文(2B操作码,2B数据块的块号K,512B数据);
    4. 客户收到服务器的报文后,发送4B的ACK(2B的操作码和2B的数据块号)给TFTP服务器,告诉它之前发送给客户的数据报已经收到;
    5. 重复步骤3-4,直到所有请求的数据发送完毕。

    总结
    1. 从上面的过程可以看出,TFTP是一种类似于停止等待协议(不是真正的停止等待协议,在停止等待协议中,接收方发送的ack表示期望收到的下一个分组,而在TFTP的ACK报文中,ack的块号表示的是本次成功收到的数据块,而不是下一个期望的下一个数据块)。TFTP服务器只有收到客户端的确认报文ACK后才会向客户端接着发送新的数据。
    2. 服务器向客户端发送数据的过程中,每次都是发送512B的数据,如果客户进程收到某个DATA报文中数据部分的长度小于512B,说明这是收到的最后一个报文;如果待发送的数据的总长度正好是512的整数倍,这就意味着最后一个数据报的长度正好为512B,此时服务器进程会再次发送一个包含0字节数据的DATA报文(显然,该报文的总长度为4B=2B操作码+2B块号+0B数据);
    3. TFTP协议中,用于读文件的连接和用于写文件的连接的建立方式不同:建立读连接的时候,客户首先向服务器发送RRQ读报文,服务器收到该报文后,直接发回给该客户DATA报文,并且包含第一个数据块(块号为1)。而建立写连接的时候,客户首先先服务器发送WRQ写报文,服务器收到该报文后,则发回给客户ACK报文,使用的块号为0;当然上面两种情况如果遇到请求报文出错时,均会发回ERROR报文作为响应。

    TFTP五种报文
    TFTP五种报文分别是:RRQ,WRQ,DATA,ACK和ERROR。
    这里写图片描述

    • RRQ/WRQ:模式字段中,包含两种字符串中的一种,”netascii”表示ASCII文件,”octet”表示二进制文件;对于RRQ,客户向TFTP服务器发送读请求后,服务器返回一个块编号为1的DATA报文;而对于WRQ,客户向TFTP服务器发送写请求后,服务器返回的是块编号为0的ACK报文。总之,不管是RRQ还是WRQ,接收DATA数据的一方(读者)发送ACK确认,而发送DATA数据(写者)的只负责发送数据。
    • DATA报文:由客户或服务器使用(由写者发送),用于传送数据块。所有的块都用数字顺序编码,从1开始。在所有的DATA报文中,这个块必须准确地等于512B,但最后一个块可以小于或等于512B。当发送的DATA报文中数据部分的长度小于512B后,表示DATA报文发送完毕,所以小于数据部分512B的DATA数据报可以作为文件结束的标志。特殊的情况是,当文件中的数据正好是512B的整数倍时,那么发送端必须再发送一个具有数据部分为0B的额外的DATA数据块以表示传输的结束。数据可以采用ASCII码或二进制组来传送。
    • ACK报文:块号表示它所收到的块号(不是下一个期待的块号哈,这与TCP中的ACK序号不同)。特殊情况是,当客户向服务器发送一个WRQ请求后,服务器返回给客户的是一个块号为0的ACK报文,表示服务器已经准备好了接收来自客户的数据报。
    • EEROR报文:ERROR报文既可以有客户发送,也可以由服务器发送,当一条连接(如读连接或写连接)不能建立或在数据传输中出现问题时使用。差错码定义了差错的类型,差错信息是一个可变字节,包含原文中的差错数据。

    注意:从上面的报文格式中可以看出,TFTP报文没有差错检验和字段,所以接收端检验数据是否出现差错的唯一方法是通过分组该TFTP数据报的UDP首部中的检验和字段。

    流量控制
    TFTP流量控制采用的是停止等待协议。TFTP使用DATA报文发送数据块,并等待ACK报文的确认。若在超时之前发送端就收到了确认,它就发送下一个块。这样,实现流量控制的方法是在发送下一个数据块之前,必须要保证收到了上一个数据块的ACK报文。

    • 客户从服务器读文件:当客户打算向服务器读文件时,先发送RRQ报文,若无问题,服务器就直接发送块号为1的DATA报文(即第一个数据块就直接发送过去了)。

    • 客户向服务器写文件(就是存储文件):当客户打算写文件时,先发送WRQ报文,若无问题,服务器就响应块号为0的ACK报文(不是DATA报文,因为此时服务器是数据接收方,只能发送ACK,同时注意第一个ACK的块编号是0,这样就可以通知客户,我同意了你的写请求)。客户在收到该确认后,就是用块号为1发送第一个数据块给服务器。

    差错控制
    TFTP的差错机制与其他协议不同,它是对称的,因为TFTP协议在发送端和接收端都使用了计时器。也就是说,客户和服务器两端,一方使用了DATA报文计时器(发送端),另一方使用ACK报文计时器(接收端)。若发送端丢失了数据报文,在计时器到期时发送端就重传该数据报文;若接收端丢失了ACK报文,在超时时接收端就重传该ACK报文。

    差错控制常用于这四种情况:报文受损、报文丢失、确认丢失和报文重复。

    • 报文受损:当数据块出现差错(通过差错检验,得靠UDP首部)时,接收端能够检测出来并丢弃该报文。发送端等待确认,超时后就重传该数据报。
    • 报文丢失:若数据报丢失了,它就用于不能到达接收方,而确认页不会发出。发送端在超时之后,就会重传该数据报。
    • 确认丢失:确认丢失了,则可能发生两种情况:一是接收端的计时器比发送端的计时器先到期,则接收方重传确认;若发送端的计时器先到期,则发送端重传该数据。
    • 报文重复:接收端通过块编号可以检测出数据块的丢失。若数据块重复了,接收端就简单地将其丢弃。

    sorcerer’s apprentice bug
    Sorcerer’s apprentice buy可以翻译为“魔法师学徒的错误”(或魔术新手综合征),这个名称来自一个动画人物,这个人不经心地对一个拖把施加魔法,结果这个拖把连续地复制它自己。若分组的ACK报文没有丢失而是延迟了,则会发送这种错误。
    数据分组发生这种错误的原因分析:
    发送端发送一个分组出去后,会启动该分组的DATA计时器;接收方收到该分组后就会发送一个ACK数据报,并启动一个ACK计时器。发送端收到该ACK报文之前,它会按照一定的时间间隔(由发送端的计时器决定)重发该数据块,直到收到该数据块的ACK报文为止。现在假设出现这么一种情况,发送端将DATA分组发送出去后,接收方收到该数据并发回一个ACK数据报,但是ACK在路上走着,并没有丢失(只是走得很慢)。当发送端的DATA计时器到期了都还没有收到ACK分组时,发送端就会认为DATA数据包已经丢失了,就会重发该数据报。发出去没过多久却收到了之前那个数据报的ACK分组。这回发送端才发送下一个数据报,这样导致的结果就是每一个成功发送的DATA都要发送两次,而每一个成功的ACK也要发回两次。这一现象就称为“魔术新手综合症”。

    原文地址:http://blog.csdn.net/jxh_123/article/details/26505761

    展开全文
  • TFTP协议理解

    2019-12-13 23:42:30
    TFTP协议理解 转载 TFTP协议理解 TFTP协议 (RFC1350)http://www.ietf.org/rfc/rfc1350.txt 为什么要引入TFTP? 在项目中udp环境下需要进行文件传输,一种高效的文件传输。文件传输一般会想到FTP 和TFTP,但考虑...

    TFTP协议理解

    转载
    TFTP协议理解

    TFTP协议

    (RFC1350)http://www.ietf.org/rfc/rfc1350.txt

    为什么要引入TFTP?

    在项目中udp环境下需要进行文件传输,一种高效的文件传输。文件传输一般会想到FTP 和TFTP,但考虑限制条件,所以采用TFTP。

    TFTP是什么?

    TFTP是一种简单的文件传输协议。目标是在UDP之上上建立一个类似于FTP的但仅支持文件上传和下载功能的传输协议,所以它不包含FTP协议中的目录操作和用户权限等内容。

    与FTP相似,TFTP传输过程中也有传输模式之分,模式的意思是如何解释数据包里的内容,比如是字符串还是二进制等。目前有三种模式:

    · l netascii型:一种修改的8bit ascii码

    · l octet型:即binary普通的二进制型

    · l mail型:过时,不再使用

    另外,通讯双方也可以自定义所需的传输模式

    TFTP的通信流程

    TFTP共定义了五种类型的包格式,格式的区分由包数据前两个字节的Opcode字段区分,分别是:

    · l 读文件请求包:Read request,简写为RRQ,对应Opcode字段值为1

    · l 写文件请求包:Write requst,简写为WRQ,对应Opcode字段值为2

    · l 文件数据包:Data,简写为DATA,对应Opcode字段值为3

    · l 回应包:Acknowledgement,简写为ACK,对应Opcode字段值为4

    · l 错误信息包:Error,简写为ERROR,对应Opcode字段值为5

    1、由客户端发起读文件/写文件的请求,同时可以进行请求连接

    2、服务器监听到请求,打开连接,并向客户端发送文件,以每个定长为512字节的块进行发送。每个数据包包含一个数据块,在发送下一个包的时候必须被客户端确认回应一个回应包。

    3、当发现某个数据包小于512个字节,说明传输终止。

    4、如果出现网络丢包,收件方(客户端)会超时,并且重传最后的接收包(可以是数据包或者回应包),因此这将可以让发送者重新发送丢失包。当之前的包已经接受成功之后,发送者只需要保持一个重传包。注意 发送者 要做的事情:发送数据,接受 回应包;接受者要做的:发送回应包,接受数据。如下图所示:

    读请求和写请求的回应是不一样的下图是读请求

    在这里插入图片描述

    有许多的错误会造成连接中断.

    1、发送错误的包,这个包没有回应,也没有重发,(例如,TFTP服务器或者客户端会因为收到错误的信息终止)这样导致对方接受不到。所以引入了超时机制。通常错误由3种情况导致:

    (1)、不能满足请求的内容(例如:文件找不到,不允许接入,或者用户不存在)
    (2)、由于网络延迟或者重置导致正在接收的包无法解析(例如包的格式不正确)
    (3)、必须访问资源丢失(例如磁盘满了,或者传输过程中拒绝访问)

    TFTP意识到仅有一个错误条件是不会导致中断的,那就是接收包的源端口不正确。在这种情况下会向原始的服务器发一个错误包。

    为了简单的实现,TFTP协议非常的有限。例如:固定大小的块可以使得分配空间更直接,在锁定等待回应包可以方便控制流并且不需要重排接到的数据包

    TFTP的具体包结构

    因为TFTp是设计在udp上层的协议,并且是报文是基于网络协议,属于数据包将拥有一个网络包头,报文头,和TFTP头

    另外数据包有可能还有其他的头(例如LNI,ARPA头等等)来允许他们通过本地的传输媒体。下面的表表示了一个包包含的内容: local medium header, if used, Internet header,

    Datagram header, TFTP header, followed by the remainder of the TFTP

    Packet.

    TFTP不需要制定任何的网络头的值。另外报文头数据源和目标端口字段用于TFTP,长度字段但应tftp包的大小。用于TFTP的传输id(tid)会传到报文层当作端口使用,因此必须是0~65535(16位,2个字节)

          ---------------------------------------------------
    
         |  Local Medium  |  Internet  |  Datagram  |  TFTP  |
    
          ---------------------------------------------------
    
                      Figure 3-1: Order of Headers
    

    TFTP支持5中操作类型的数据:

            opcode  operation
    
            1     Read request (RRQ) 读文件请求
    
            2     Write request (WRQ) 写文件请求
    
            3     Data (DATA) 数据
    
            4     Acknowledgment (ACK) 确认包
    
            5     Error (ERROR) 错误
    

    TFTP的请求包。如下图

            2 bytes     string    1 byte     string   1 byte
    
            ------------------------------------------------
    
           | Opcode |  Filename  |   0  |    Mode    |   0  |
    
            ------------------------------------------------
    
                      Figure 5-1: RRQ/WRQ packet
    

    上述协议中

    Opcode 操作码

    Filename:netascii的文件字节序号,0表示终止

    Mode:类型主要 可以是 “netascii”, “octet”, or “mail” (这几个单词的字母不区分大小写)

    数据包格式:

                   2 bytes     2 bytes      n bytes
    
                   ----------------------------------
    
                  | Opcode |   Block #  |   Data     |
    
                   ----------------------------------
    
                        Figure 5-2: DATA packet
    

    Block# 从1开始,每一个新包自加。此限制,允许程序使用一个单一的数字来区分的新数据包之间的重复。每一个块的定长为512 (2^9),如果出现某一块长度部位512,那就表示数据传输完成,终止传输。

    除了ACK和用于中断的包外,其它的包均得到确认。发出新的数据包等于确认上次的包。WRQ和DATA包由ACK或ERROR数据包确认,而RRQ数据包由DATA或ERROR数据包确认。

    ACK包

                         2 bytes     2 bytes
    
                         ---------------------
    
                        | Opcode |   Block #  |
    
                         ---------------------
    
                         Figure 5-3: ACK packet
    

    错误包结构

               2 bytes     2 bytes      string    1 byte
    
               -----------------------------------------
    
              | Opcode |  ErrorCode |   ErrMsg   |   0  |
    
               -----------------------------------------
    
                        Figure 5-4: ERROR packet
    

    附录:

    Order of Headers(头顺序)

                                                  2 bytes
    
    ----------------------------------------------------------
    

    | Local Medium | Internet | Datagram | TFTP Opcode |

    ----------------------------------------------------------
    

    TFTP Formats(TFTP格式)

    Type Op # Format without header

          2 bytes    string   1 byte     string   1 byte
    
          -----------------------------------------------
    

    RRQ/ | 01/02 | Filename | 0 | Mode | 0 |

    WRQ -----------------------------------------------

          2 bytes    2 bytes       n bytes
    
          ---------------------------------
    

    DATA | 03 | Block # | Data |

          ---------------------------------
    
          2 bytes    2 bytes
    
          -------------------
    

    ACK | 04 | Block # |

          --------------------
    
          2 bytes  2 bytes        string    1 byte
    
          ----------------------------------------
    

    ERROR | 05 | ErrorCode | ErrMsg | 0 |

          ----------------------------------------
    

    初始化一个读文件的连接

    初始化连接协议

    一旦发送请求(WRQ 写文件请求或者 RRQ读文件请求),传输就已经建立,并且收到写的回应包,或读取第一个数据,的肯定答复。一般说回应包会包含已经回应的数据包的块序号。每一个数据包都和他的块序号关联,块序号从1开始,顺序增加。在特殊的情况下块序号是0,即当写请求的相应包是一个确认包的时候(通常,只要确认包是确认的数据包,确认包会包含被确认数据的块序号)。如果回应是一个错误包,请求会被拒绝。

    为了建立连接,连接的每一段都会为自己在传输期间选则传输id(tid)。连接的tid是随机生成的,所以在一个过程中同时出现两个相同的tid的概率是非常少的。每一个包都包含两个tid,一个是源tid,一个是目标tid。这两个tid是用来支持udp(或者其他报文协议)作为源端口和目标端口。在响应请求的,正常情况操作下,服务器使用自己的TID作为源TID,而选择上一条请求消息的Tid作为目标TID。这两个TId作为接下来的传输。

    例如:

    1.主机A向主机B发出WRQ,其中端口为69

    2. B机向A机发出ACK,块号为0,包括B和A的TID

    错误码

    值 表示意思

    0 未定义Not defined, see error message (if any).
    1 文件找不到File not found.
    2 拒绝访问Access violation.
    3 磁盘满了或者超出了可分配空间Disk full or allocation exceeded.
    4 非法TFTP操作Illegal TFTP operation.
    5 传输ID未知Unknown transfer ID.
    6 文件不存在File already exists.
    7 没有该用户No such user.

    TFTP总结

    整体上来说,TFTP的一个重要特点就是简单及易于实现,这也是设计TFTP协议的一个初衷。

    优点:

    · l 每个数据包大小固定,这样在内存分配处理的时候比较直接

    · l 实现简单

    · l 每个数据包都有确认机制,可以实现一定程度的可靠性

    缺点:

    · l 传输效率不高

    · l 滑动窗口机制太简单,并且该窗口仅有一个包的大小

    · l 超时处理机制并不完善,RFC1350并没有给出详细的处理机制说明

    展开全文
  • 分析学习tftp协议所用的流量包
  • TFTP协议介绍

    2021-01-24 11:38:09
    TFTP协议简单介绍 TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。


    一、TFTF协议简介

    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为69。
    TFTP通常基于UDP协议而实现,但是也不能确定有些TFTP协议是基于其它传输协议完成的。TFTP协议的设计目的主要是为了进行小文件传输,因此它不具备通常的FTP的许多功能,例如,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证。
    TFTP代码所占的内存较小,这对于较小的计算机或者某些特殊用途的设备来说是很重要的,这些设备不需要硬盘,只需要固化了TFTP、UDP和IP的小容量只读存储器即可。因此,随着嵌入式设备在网络设备中所占的比例的不断提升,TFTP协议被越来越广泛的使用。

    二、TFTP包格式

    TFTP共定义了五种类型的包,包的类型由数据包前两个字节确定,我们称之为Opcode(操作码)字段。这五种类型的数据包分别是:

    • 读文件请求包:Read request,简写为RRQ,对应Opcode字段值为1
    • 写文件请求包:Write requst,简写为WRQ,对应Opcode字段值为2
    • 文件数据包:Data,简写为DATA,对应Opcode字段值为3
    • 回应包:Acknowledgement,简写为ACK,对应Opcode字段值为4
    • 错误信息包:Error,简写为ERROR,对应Opcode字段值为5

    RRQ和WRQ的数据包格式一样,只不过某些值域设置有差别,剩下的三种数据包格式各不相同。

    1.读/写请求包

    RRQ和WRQ数据包的格式:
    1.操作码(2字节),它用来表示当前数据包的类型(取值1表示该数据包是个读请求,2表示该数据包是写请求);
    2.可变长字段,它用来表示要读取或上传的文件名,它使用ASCII码并以0表示结尾;
    3.Mode,也是可变长字段,用来表示传输文件的数据类型,如果传输的是字符串文件,那么它填写字符串”netascii”,如果传输的是二进制文件,那么它填写字符串”octet”,这些字符串都以0结尾。

    其结构如图:

    读写请求包

    2.文件数据包

    传输数据块的DATA数据包,它头2字节也是操作码,取值3用于表示数据包用于数据块传输,接下来的2字节用于表示数据块编号,最后是可变长字段Data,用于装载数据块。

    文件数据包

    3.回应包

    应答ACK数据包,它开始的2字节也是操作码,取值4;接下来2字节表示接收到的数据块编号,

    回应包

    4.错误信息包

    错误ERROR数据包,它开始的2字节表示操作码,取值5;接下来2字节表示错误码;最后的是可变长字段,它用字符串的形式描述具体错误。
    错误信息包

    三、TFTP的工作流程

    TFTP的工作都是由客户端发起一个RRQ或者WRQ开始的。这里以WRQ(写请求)为例,讲述读写的工作过程,以及错误处理等内容。
    S表示Server,C表示Client,主要工作过程如下:

    • S在端口为69的UDP上等待C发出写文件请求包
    • C通过UDP发送符合TFTP请求格式的WRQ包给S。从UDP包角度看,该UDP包的源端口由C随意选择,而目标端口则是S的69。
    • S收到C的这个请求包后,需发送ACK给C。对于写请求包,S发送的ACK包确认号为0。
    • C发送DATA数据给S,S接收数据并写文件
    • 当C发送的DATA数据长度小于512字节时,S认为这次WRQ请求完成
    • 当为RRQ请求时,刚好相反

    同时,当有多个C向S请求时,在TFTP中,一次请求中所有包的源和目标都由Transfer ID TID来标示。TFTP规定TID值就是UDP包中的源和目标端口。也就是说,一次请求过程中,S和C通过UDP包的源和目标端口来判断这个包是不是发给自己的。
    另外,S对于每个请求,都要采用一个不重复的新的UDP端口号作为它的TID,也就是说,S上同时存在的n个请求的TID都将不同。

    这里再介绍下TFTP的回复ACK机制。虽然TFTP中有指定的ACK包作为回应,但在普遍意义上,DATA包和ERROR包都可以作为上一次发送包的响应。
    一般来说,C发送了一个非结束DATA包给S,如果在超时时间内,C未收到S发送的ACK,则C继续发送这个DATA直到S回复ACK。这种情况是比较好理解的。
    但假如S回复了上一个非结束DATA包ACK后,C在S的超时时间内没有发送下一个DATA包,则S将继续发送这个ACK。从这个角度看,S等待的这个新DATA包是对上一次ACK的确认。

    TFTP主要工作流程如下图(WRQ)
    WRQ

    四、TFTP的传输模式

    TFTP传输8位数据,传输中有三种模式:

    • Netascii:这是8位的ASCII码形式,一般用来传输字符数据;
    • Octet:这是8位源数据类型,一般用来传输二进制数据;
    • Mail:它将返回的数据直接返回给用户而不是保存为文件,但该模式已经不再支持。

    总结

    以上就是本篇文章内容,本文简单介绍了TFTP协议。
    之后的文章,将使用C语言,实现一个简单的TFTP客户端,使用TFTP客户端与服务端进行交互,进行简单的下载上传等操作。

    展开全文
  • TFTP协议简介

    2017-09-07 23:37:41
    TFTP协议简介TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身...
  • TFTP协议详解及TFTP穿越NAT

    千次阅读 2019-04-04 14:56:47
    2、TFTP协议学习 2.1、协议概述 2.2、TFTP报文类型 2.3、TFTP端口号分配 2.4、TFTP报文格式 2.4.1、Read request报文格式 2.4.2、Write requst报文格式 2.4.3、Acknowledgement报文格式 2.4.4、Data 报文...
  • TFTP协议浅析

    2017-08-07 08:20:09
    一.协议简介 TFTP(TrivialFile Transfer Protocol,简单文件...TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。
  • tftp协议的实现

    2019-08-09 20:05:39
    tftp协议是一种简单的文件传输协议,基于udp,使用端口号69.因为传输层协议使用的udp,因此tftp协议为了保证传输的可靠性,使用了一些手段,比如超时重传,数据块号确认。 tftp协议有两种传输模式,分别是二进制...
  • 针对嵌入式产品分布广、位置分散、维护升级困难的问题,提出了一种基于TFTP协议的STM32软件升级系统的设计方案。该系统主要由STM32F407微控制器、LAN8720A网卡芯片和外扩存储器W25Q128、IS62WV51216组成,采用IAP...
  • TFTP协议分析与实现

    千次阅读 2019-10-02 13:28:59
    1、TFTP协议与功能点介绍: TFTP采用UDP协议进行TFTP协议的文件传输,其默认的协议socket为:UDP + port 69;UDP不支持顺序传输,但是TFTP有ACK的回复,因此TFTP协议可以顺序传输,但是可能会发生重传过程中产生的...
  • 针对嵌入式产品维护和无人值守区嵌入式产品升级困难的问题,提出了一种基于TFTP协议的ARM软件远程更新系统的设计方案。该系统主要由LPC2290微控制器、DM9000E网卡芯片以及SST39VF1601型NOR FLASH、MT45W4MW16型RAM...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,174
精华内容 1,269
关键字:

tftp协议