PXE bug mtftp

This PXE server does not allow different IP addresses or UDP
ports to be specified for MTFTP transfers of different files.
It seems to me that this limitation can cause a PXE client to
receive the wrong file over MTFTP if it boots up soon after
another client has requested a different file.

In PXE Specification Version 2.1, subsection 2.4.10 explains that
if the PXE server sends MTFTP parameters, as the Debian pxe
package always does, then the PXE client must first silently
listen for UDP packets that have the correct source IP address,
destination IP multicast address, and destination UDP port
number.  If the client receives such packets before it times out,
and they look like MTFTP, it assumes they are for the correct
file.  If the client receives the entire file in this way, it
does not send anything to the MTFTP server and instead just boots
the received file.

To let PXE clients reliably boot the correct files, the PXE
server should allow a separate IP multicast address and/or UDP
port number to be specified for each boot file.  If using atftpd,
the same addresses and port numbers would then have to be listed
in the file given to atftpd --mtftp <file>

posted on 2012-03-13 18:23  Richard.FreeBSD  阅读(397)  评论(0编辑  收藏  举报

导航