Broadcast and Multicast – Real Life Examples

broadcastmulticast

In broadcast routing, packets are sent to all nodes even if they do not want it. What is a real life example of "broadcast"? Almost everything I can think of, like GMail and YouTube, appears to be unicast.

Along similar lines whats a real life use case for "multicast"?

Best Answer

ARP as described above is an excellent example of Broadcast messaging but I see that there really weren't many clear examples of multicast. I know this is an ancient thread but thought I would add a little more color for anyone that runs across it.

There are many different areas where multicast is crucial for.

Network and application control traffic: The example was given earlier of OSPF etc but not how or why it was using it. Multicast is used by these protocols to be able to reach out to a "well known" or reserved multicast address to automatically discover other routers running the same protocol or to send updates to a specific class of routers. For example OSPF reserves 224.0.0.5 for all OSPF routers and 224.0.0.6 for all Designated Routers. The .5 address is used for initial router discovery since only routers running OSPF will listen to that multicast address. The .6 address allows sending simultaneous updates that reach both the DR and BDR but do not have to be processed by "Other" routers on the subnet. There are many other services that use similar functionality for discovery through mDNS. Your phone will use this to try to find devices like a Google Chromecast, Smart TV, Amazon Fire Stick or other devices on your local network that it can send an audio or video signal to, the mDNS request is sent to the the registered multicast address of 224.0.0.251 and supporting devices will listen to that address and respond with their IP if the device type being requested matches, without the need to configure the device and IP into a local DNS server for lookup/discovery.

Beyond discovery and control protocols there are still lots of other use cases for multicast:

IPTV is a big one. Imagine you run a hotel and have 400 guest rooms. If 87 guests are watching CNN in HD, 62 of them are watching HBO and 41 are watching ESPN you would have to maintain 190 HD unicast streams for that content, assume each one is around 15 Mbps you are consuming almost 3 Gbps of bandwidth if you send that using unicast vs 45 Mbps using multicast. Using Unicast could easily overwhelm not only network resources but also the IPTV server itself.

Another solution involving video feeds is IP Cameras. If you have a bank of security cameras that can be viewed by many different users throughout your organization and used unicast it could overwhelm the processing resources on the camera encoding multiple streams simultaneously and also impacts network bandwidth vs sending the signal as a multicast feed.

System imaging and patch management applications. If you are an IT group and need to image 100 computers daily (laptops for new employees, hardware refresh for existing employees on a 3-5 year cycle, replacement laptops due to hardware failure for existing employees and systems that have software errors too time consuming to diagnose) you don't want to send out the same system image of 127 GB 100 times consuming 12.7TB of network bandwidth daily (not to mention the additional time needed for the imaging processes) use multicast. If you have 5000 Linux servers all running RHEL do you want all of them to reach out to update servers online independently to pull down patches and system updates? It is much more efficient to have a central patch management server where the needed patches can be downloaded and stored then multicast out to the servers in the DC.

Digital signage: modern digital signs can shift the displayed advertisement at an administrative defined frequency. Multicast is commonly used to send the graphics information displayed on these throughout a city, region, etc... The line here can blur between static content and IPTV type video elements.

Tickers: Alongside control protocols this was one of the first use cases for multicast and still plays an important role today. If you have ever seen video of trading floors you will see several scrolling displays showing real time stock prices, commodity pricing, commodities futures, monetary exchange rates, lending rates, etc... Multicast is used to send this information out to the displays ensuring they are all displaying the same data in a synchronized fashion. Tickers can also be used for purposes inside an enterprise business, for example a large call center with signs and/or ticker feeds displayed on the users desktops showing how many customers are on hold in each queue and what the current average and longest hold times are etc...

These are just some real world examples of how Multicast is used in many forms of networks from inside your home through large scale enterprise deployments. Hope this helps.