跳到主要内容

Appendix I (附录 I)

Order of Headers (头部顺序)

                                          2 bytes
----------------------------------------------------------
| Local Medium | Internet | Datagram | TFTP Opcode |
----------------------------------------------------------

TFTP Formats (TFTP 格式)

类型 操作码 无头部格式

      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 |
----------------------------------------

Initial Connection Protocol for reading a file (读取文件的初始连接协议)

  1. 主机 A 向主机 B 发送"RRQ", 源 = A 的 TID, 目标 = 69.
  2. 主机 B 向主机 A 发送"DATA" (块号 = 1), 源 = B 的 TID, 目标 = A 的 TID.

Error Codes (错误代码)

值 (Value)含义 (Meaning)
0未定义, 参见错误消息 (如果有).
1文件未找到.
2访问违规.
3磁盘已满或超出分配.
4非法 TFTP 操作.
5未知传输 ID.
6文件已存在.
7没有此类用户.

Internet User Datagram Header (互联网用户数据报头部) [2]

(此处仅为方便起见而包含. TFTP 不必在互联网用户数据报协议之上实现.)

Format (格式)

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Values of Fields (字段值)

  • Source Port: 由数据包发起者选择.
  • Dest. Port: 由目标机器选择 (RRQ 或 WRQ 为 69).
  • Length: UDP 数据包中的字节数, 包括 UDP 头部.
  • Checksum: 参考文献 2 描述了计算校验和的规则. (实现者应确保此处使用正确的算法.) 如果未使用, 字段包含零.

注意: TFTP 将传输标识符 (TID) 传递给互联网用户数据报协议, 用作源端口和目标端口.