tftp文件传输协议报文解析

1,接着上一篇描述bootp,我们现在了解一下tftp协议。

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

tftp文件传输协议报文解析_第1张图片

操作码补充说明:

读文件请求包: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报文。 

tftp文件传输协议报文解析_第2张图片

 2,数据报文:

tftp文件传输协议报文解析_第3张图片

3,ack报文:

tftp文件传输协议报文解析_第4张图片

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

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

你可能感兴趣的:(交换芯片,服务器,linux,运维)