I have another "idea": instead of multicasting isn't possible to "sniffing" low bandwith comunication between two peers?
Peer A transmits only to Peer B and a peer C, interested at the same file "intercept" the data transfert from the peers A and B.
The transfert could be at low speed to avoid too much packet are loss, and eventually correction of the errors can be made at the end of transmission of file....
So Peer A don't need to use multicasting/UDB to address the same file to different peers.....
Sorry if this idea is crazy or like in a science-fiction but i don't know about protocols and programming