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>
转载于:https://www.cnblogs.com/RichardLee/archive/2012/03/13/2394292.html