Python实现TFTP

一、TFTP协议简单介绍

1、定义

TFTP(Trivial File Transfer Protocol):简单文件传输协议)。

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

TFTP是一个传输文件的简单协议,它基于UDP协议而实现。

2、特点

简单、占用资源少、基于UDP实现、端口号为69、适合在局域网内传输小文件。

3、TFTP支持五种类型的包
opcode operation
1.Read request (RRQ)
2.Write request (WRQ)
3.Data (DATA)
4.Acknowledgment (ACK)
5.Error (ERROR)


二、TFTP数据包格式


1、读写请求

操作码  +  文件名  +  0  +  模式  +  0

2Bytes     String   1Byte   String   1Byte

当操作码的取值为1时,表示RD 读请求;当操作码的取值为2时,表示WE 写请求。

2、数据包

操作码  +  块编码  +  数据

2Bytes    2Bytes     512Bytes

数据包操作码值为3。

3、ACK

操作码  +  块编码

2Bytes     2Bytes

ACK 操作码值为4。

4、ERROR

操作码  +  差错码  +  差错信息  +  0

2Bytes    2Bytes      String     1Byte

ERROR 操作码值为5。

注意:

1、当客户端接收到的数据小于516字节

  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值