TFTP(Trivial File Transfer Protocol,简单文件传输协议):实现客户端与服务器之间简单文件传输。小文件传输,端口:69。协议简单,易于实现。

缺点:

  1. 传输效率低
  2. 对于超时机制没有明确说明
  3. 每包长度固定为512字节,不灵活

TFTP端口:指的是TFTP服务在服务器的69端口运行,客户端发送RRQ和WRQ的目的端口都是69,客户端源端口和服务器发送的端口都是随机的。

TFTP包格式

TFTP包有6种类型,包的类型由数据包前2个字节(操作码Opcode)确定,这6种类型的数据包分别是:

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

具体结构如下图所示:(没有指明字节数就是可变长,需要根据实际情况决定)

块编号:包的序号

读/写文件请求包:

文件名:ASCII码表示,\0结尾

mode(传输模式):\0结尾

字符串文件 netascii
二进制文件 octet

ERROR中的错误码见下文。

请求响应包是对请求数据的响应,是可选包,视具体情况而定。
1. 操作码(2字节)
2. 可选字段(timeout、blksize、tsize等,以 \0 结尾)

TFTP协议过程分析

TFTP客户端下载过程
  

第一步:客户端给服务器发起下载请求,数据格式为(操作码1+文件名+0+模式+0)。
  第二步:服务器接收到请求之后,回复客户端数据。如下所示:(操作码3+块编码0+数据, (IP号, 端口号))。
  第三步:客户端每接受一次数据,都要回复服务器一次ACK信号。
  第四步:服务器收到ACK,给客户端发送下一包数据。(重复3-4这个过程)
  第五步:客户端接收到的数据小于512个字节,说明服务器发送完毕。数据包小于516字节(2B操作码+2B块编码+512B数据)

TFTP客户端上传过程

  第一步:客户端给服务器发送上传请求,数据格式为(操作码2+文件名+0+模式+0)。
  第二步:服务器接收到请求之后,回复客户端数据。(操作码4+块编码0, (IP号, 端口号))。
  第三步:客户端每发送一次数据,服务器都要回复一次ACK信号。
  第四步:客户端收到ACK,给服务器发送下一包数据。(重复3-4这个过程)
  第四步:直到客户端发送完数据才结束。
  

注意:
  1、当客户端接收到的数据小于512字节时,表示服务器发送数据完成
  2、块编码从0开始,每次加1,它的范围是[0,65535]

ERROR包中的错误码

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传输协议相关推荐

  1. 简单文件传输协议TFTP分析还原

    " 介绍TFTP协议及传输内容的还原." TFTP,全称为Trivial File Transfer Protocol,即简单文件传输协议,是一个用来在客户端与服务器之间进行简单文 ...

  2. 计算机网络之应用层:3、文件传输协议FTP、简单文件传输协议TFTP

    应用层:3.FTP.TFTP FTP要解决的问题: 文件传输协议: FTP客户端和服务器: FTP工作原理: FTP要解决的问题: 1.不同计算机存储数据的格式不同 2.文件的目录结构和文件的命名规则 ...

  3. 文件传输协议FTP/TFTP/SSH/SCP——应用层

    常见的文件传输协议:FTP.TFTP.SSH.SCP 一.FTP(英文:File Transfer Protocol,缩写:FTP) 1.概念 FTP是在网络层传输文件的应用层协议,基于TCP连接,使 ...

  4. TFTP文件传输协议

    TFTP是一个简单的文件传输协议,默认使用UDP,服务器开放69端口. 关于协议的细节网上可以找到,在此不再赘述. 本文用一个简单的通信实例来分析通信协议. Windows 系统自带TFTP客户端,服 ...

  5. 文件传输协议:FTP和TFTP

    文件传输协议 一.FTP协议 1.FTP协议介绍 2.FTP数据传输模式 二.TFTP协议 1.TFTP协议介绍 2.TFTP协议报文 3.TFTP文件传输过程(重发机制 一.FTP协议 1.FTP协 ...

  6. LinuxProbe 0x14 虚拟网站主机功能(基于端口)、Vsftpd服务传输文件、TFTP简单文件传输协议

    虚拟网站主机功能 基于端口号 基于端口号的虚拟主机功能可以让用户通过指定的端口号来访问服务器上的网站资源.在使用Apache配置虚拟网站主机功能时,基于端口号的配置方式是最复杂的. 因此我们不仅要考虑 ...

  7. 简单文件传输协议TFTP

    一.简单文件传输协议介绍 文件传输协议规范了本地从远程服务器上访问文件的方式. 文件传输协议分为两类:1.online-access 和 2.whole file copying.前者的代表协议为NF ...

  8. 常见文件传输协议(ftp、tftp、scp)及其特点

    在工作中,我们经常要涉及到文件传输,windows 与windows, linux 与linux,windows 与linux 之间的文件传输,可供选择的途径有好多种. 可是常见的无非那么几种. 常见 ...

  9. TFTP 简单文件传输协议

    1 协议介绍: TFTP (Trivial File Transfer Protocol, 简单文件传输协议也称小型文件传输协议) 是一种于1981年在RFC 783中定义的简化的文件传输协议(FTP ...

最新文章

  1. 汇编: mul乘法指令(字乘法结果在dx:ax中,8位乘法:一个乘数默认放在al中)
  2. 详细设计 存储分配_万字长文:云架构设计原则(一)
  3. ubuntu15.10英文系统中文输入法配置 fcitx
  4. Ubuntu安装特定版本安装包
  5. 微课|中学生可以这样学Python(例4.5):计算最大函数值
  6. 导出oracle11g的空表,轻松解决oracle11g 空表不能 exp 导出 的问题。
  7. CTR点击率预估实战分享
  8. 算法导论学习--学习笔记0527
  9. 解决Python print 输出文本显示 gbk 编码错误问题
  10. HTML学生个人网站作业设计——HTML+CSS+JavaScript简单的大学生书店网页制作(13页) web期末作业设计网页 web结课作业的源码 web网页设计实例作业
  11. xlsxwriter设置列宽_Python3之excel操作xlsxwriter模块
  12. 计算机青年教师基本功大赛,北京高校第九届青年教师基本功比赛纪实
  13. WebGL压缩纹理实践
  14. xp系统打开internet服务器,WinXP电脑Internet选项打不开的解决方法
  15. linux syscall 内核系统调用API接口
  16. 使用sklearn构建完整的回归项目(一)
  17. vue与ios和Android联调方法
  18. Leetcode 1628. Design an Expression Tree With Evaluate Function [Python]
  19. 时光不负有心人 --又是折腾的一年
  20. 一种改进的天鹰优化算法和非洲秃鹫混合优化算法(Matlab代码实现)

热门文章

  1. 小米战略入股TCL集团,不只是为了0.48%的股份
  2. LPDDR5 之Link ECC
  3. 当前国内市场做MES的三类企业,来看看他们的优缺点是什么
  4. WindowBlinds v3.0 enhanced 破解
  5. 第13课 Altium Designer20(AD20)+VESC6.4实战教程:将元器件封装导入到PCB(北冥有鱼)
  6. 互联网快讯:拓荆科技成功登陆科创板;极米H3S、极米Z6X Pro持续热销;盒马在上海启动“流动超市”
  7. NodeJS实现视频转码
  8. .net framework、.net standard、.net core .net 5/6/7/8 区别
  9. 在家用c++实现贪吃蛇——c++小游戏
  10. 【隔离器使用说明】光隔、磁隔、容隔三兄弟介绍