Communications between devices can be fairly complex. In order to ease the complexity when dealing with networking, the process is often broken up into sections, known as "layers." When I first started learning about layers, I seemed to think of them as Layers On A Cake. This confused the bejesus out of me. Later on, after more reading, I came to understand them as more like Layers On An Onion. You start to peal into one of them, but you kind of dig into the others.
To gain a better understanding of "how multicast works" you should really become familiar with the layers. The basic knowledge for these layers comes from understanding what is called the "OSI model." This OSI model breaks the communication down into sections so you can concentrate at what happens at each level (layer).
For an extremely rough idea of the layers:
Physical - the wires that you are using.
Data Link - your MAC Address
Network - your network address
Transport -
Session -
Presentation -
Application -
For the last four layers, don't worry about them as yet.
Hence, there are seven Layers in the OSI model.
As far as your question is concerned, you don't really have to know about the Physical Layer.
In order for a computer to send information to another computer, it needs both the MAC ADDRESS and the Network Address. When you click on a link to something, it usually just points to the Network Address. The sending computer does not have the MAC ADDRESS of the Receiving computer, but it needs that info to establish communications. To get that missing Mac Address, it sends out what is called a "Broadcast Address," meaning it sends out a packet with the correct Network Address but a bit of a fake Mac Address of "Send this to Everyone, have the person with this network address send back their MAC Address so I can put all the routing info into my next message, so we can establish communications.
Let's say that the sending computer is connected to port 1 of the switch. When a typical networking switch receives this packet of info, it doesn't even look at the Network Address, it only operates Layer 2 of the OSI model, so it just looks at the MAC ADDRESS of the incoming port and logs it (note to self, the computer with this mac address can be found at this port). PORT 1 in this case. It also doesn't know what the destination mac address is (because the sending computer sent out a broadcast. requesting that info) and sends it out ALL of its' ports. This is an inherent feature of why Ethernet works so well, you can almost always find the destination computer. The problem with this is that every computer that is connected to any port on the switch has to stop and look at the packet to determine whether
the Network Address is addressed to them. If a receiving computer doesn't have the same network address, they just drop it..which doesn't seem like a big deal, but when these messages are coming into a compter a hundred times a second, it will start to bog. The computer with the correct network address sends back a packet saying "hey, you sent a request for my mac address... here it is." Let's say the destination computer is connected to port 4 of the switch and sends back a reply.
At this point, the switch can see an incoming packet from the replying computer's Mac Address, and it logs that into it's MAC ADDRESS TABLE. Alas, the switch now knows the path between computers, and the computers now have all the info to communicate without any more "broadcasts." THe switch now knows how to forward communication
between these two computers; i.e. port 1 and port 4, don't send anything out the other ports.
Multicast Data is used to send information to Multiple Computers That Want The Same Information. The determination of which computers want to receive this information is based on the network address. This operates at Layer 3 of the OSI model. Layer 2 switches don't know how to "operate at a layer 3 address layer" to the network address level. Therefore, they forward all information out all ports. This is what causes the congestion. IGMP snooping allows the layer 2 switches to operate at the layer 3 level, usually by allowing a Layer 3 device to determine which ports to open up a multicast stream. .
SOrry, this is extremely incomplete and I'm sure it is full of errors, I just wanted to give you a general concept of what multicast involves. Study the OSI when your not trying to fix drive frequencies, set up block transfers, and keep your plant running in general.