tftp文件传输协议报文解析

先来看看tftp的五种报文格式

操作码补充说明:

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

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

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

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

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

数据结构

//tftp #define DATA_SIZE 512 struct tftpx_packet{ ushort cmd; union{ ushort code; ushort block; // For a RRQ and WRQ TFTP packet char filename[2]; }; char data[DATA_SIZE]; };

其他的报文和bootp的ip首部+udp 首部一致,现在我们来看看报文。

1,tftp request报文。

2,数据报文:

3,ack报文:

T F T P的数据交换过程时,要注意的是这儿的客户在整个传输过程中使用T F T P的知名端口( 6 9)。

那么问题来了,TFTP 服务器如何能将一个响应直接送回 BOOTP 客户?

经验分享 程序员 微信小程序 职场和发展