跳到主要内容

3. Relation to other Protocols (与其他协议的关系)

如前所述, TFTP 被设计为在数据报协议 (Datagram Protocol, UDP) 之上实现. 由于数据报协议在互联网协议 (Internet Protocol) 上实现, 数据包将具有互联网头部, 数据报头部和 TFTP 头部. 此外, 数据包可能具有头部 (LNI, ARPA 头部等) 以允许它们通过本地传输介质. 如图 3-1 所示, 数据包内容的顺序将是: 本地介质头部 (如果使用), 互联网头部, 数据报头部, TFTP 头部, 然后是 TFTP 数据包的其余部分. (这可能是也可能不是数据, 取决于 TFTP 头部中指定的数据包类型.) TFTP 不指定互联网头部中的任何值. 另一方面, 数据报头部的源端口和目标端口字段 (其格式在附录中给出) 由 TFTP 使用, 长度字段反映 TFTP 数据包的大小. TFTP 使用的传输标识符 (Transfer Identifiers, TID) 被传递到数据报层用作端口; 因此它们必须在 0 到 65,535 之间. TID 的初始化在初始连接协议部分讨论.

TFTP 头部由一个 2 字节的操作码 (opcode) 字段组成, 该字段指示数据包的类型 (例如, DATA, ERROR 等). 这些操作码和各种类型数据包的格式在 TFTP 数据包部分进一步讨论.

 ---------------------------------------------------
| Local Medium | Internet | Datagram | TFTP |
---------------------------------------------------

Figure 3-1: Order of Headers