Appendix I (附录I)
Order of Headers (头部顺序)
2 bytes
----------------------------------------------------------
| Local Medium | Internet | Datagram | TFTP Opcode |
----------------------------------------------------------
TFTP Formats (TFTP格式)
Type Op # Format without header
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 (读取文件的初始连接协议)
- 主机A向主机B发送"RRQ",源= A的TID,目标= 69.
- 主机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's)传递给互联网用户数据报协议,以用作源端口和目标端口.