Sorry, I should have been more precise in my comment. I intended "multicast" to encompass broadcast :-/ I should have said "non-unicast" to be more clear.
Understood. See below
The control packets are broadcast. But, it is unclear as to how the actual payload is delivered (seems to be left to the application to decide?). E.g., the protocol seems to imply each "Need"-ing host can use whatever (supported) protocol to fetch the payload from the "Have"-ing host(s). I don't see anything akin to reliable multicast inherent in the protocol (though, conceivably, a host that loses/drops payload can subsequently reissue a "NeedFile" request).
OK, different usage model than what I was targeting. E.g., consider N (N being large) diskless workstations powering up simultaneously and all wanting to fetch the (identical) image from a single/few server(s). Clearly, a broadcast/reliable multicast scheme would best utilize the network bandwidth (in this case).
Here, I'm looking at the scenario where many devices are powered up simultaneously (as above) and need to fetch images over a network that is already being used for other traffic (MM and otherwise). Or, when their collective "mode of operation" changes at run-time and they need to (all) load an "overlay", etc.
Unicast transfers (of any sort) mean that the "image server" sees a higher load as it has to push the same image out N times. (A P2P scheme shares that load among the nodes themselves but you still have a longer theoretical time until all nodes have valid images -- unless your P2P algorithm carefully schedules which packets go where to maximize network utilization). Ideally, the "image server" would coincide with the "media server" (or at least *one* such media server) so that host is already busy with some sort of load.
I *think* (unsupported) that reliable multicast/broadcast gives you the shortest time to "everyone having a clean image" -- of course, cases exist where any protocol can be boundless.
I was only mentioning wireless in the sense that it can exploit broadcast easily if there is an underlying protocol to govern access to the "medium" (hence the distinction between loose/tight meshes)