"Illegal TFTP Operations" 包括什么?

What are included in "Illegal TFTP Operations"?

我正在为 class 编写一个小型 TFTP 客户端和服务器,当出现问题时我必须发送 TFTP 错误数据包。 Here is the TFTP RFC for reference.

所以,错误代码 4 是“非法 TFTP 操作”,在哪些情况下您会发送该 ERROR 数据包?

例如,如果服务器在端口 69 上侦听 RRQ/WRQ 数据包,但它接收到一个随机数据包,它是否应该发送一个 ERROR(错误代码 4)数据包作为响应?

任何不遵循规范的流程和语义的都是 "illegal"。具有未知 opcode 的数据包、具有格式错误的有效负载的数据包或与 commands/responses 的正常流顺序不一致的数据包都将被视为 "illegal"。因此,对于不存在的传输 的意外 DATA 数据包可以 视为 "illegal" 并使用错误代码 4,尽管错误代码 5(未知传输 ID)将是比较合适。