Quote Originally Posted by CommonTater View Post
Multicast is a technique of sending identical packets to multiple clients (hense it's name)... Basically clients contact the server and their IP addresses are added to a list of recipients. When a packet needs to be sent, copies go to each recipient... While this seems like a perfectly sensible way of doing things, you need to appreciate that with 12,543,000 clients, for every packet you receive, the server has to send 12,543,000 uniquely addressed packets... Good idea but horridly inefficient.
That is not how multicast works. Multicast functions in a manner similar to broadcast. The main difference is in the IP address used and how it is routed.

A multicast IP address is in the range 224.x.x.x-239.x.x.x. The server picks an address in this range to send to, and each client registers to listen on that multicast address. Also, when a client registers to listen to a multicast address, the network stack automatically sends out an IGMP message to inform the local router. If the router is so configured, it will propagate that message to other routers. Then, when the server send out a multicast packet, the LAN sends it to any local host that is listening, and the local router will also pass it on if it knows of any listeners beyond it. In practice, most routers won't route multicast packets or IGMP messages, so multicast is typically restricted to the local LAN unless you configure the routers to allow it.

Clients do NOT register with the server, and the server does NOT send a copy to each client individually.