Since the networks of today are being expected to carry a lot of real time traffic like IPTV, training video’s etc, we explore multi-casting technique as a viable method of transmission to multiple clients in this article. We also explore the advantages, applications as well as the protocols involved in making multi-cast transmissions feasible over LAN as well as WAN networks. We finally touch up on IGMP/ MLD Snooping and how network switches reduce congestion and save bandwidth through those two techniques.
What is Multi-casting?
Suppose you want to send a video or a multimedia presentation (which come in large sizes) to a few people on your network. You can do one of the three following things:
You could send many Uni-cast transmissions (One PC to Another PC)
You could send a broadcast transmission (One PC to All PC’s)
You could send a Multi-cast transmission (One PC to many selective PC’s)
As you would have guessed, sending the same stream again and again to different PC’s would take a lot of bandwidth and server resources. Broadcasting would be ok, but not all hosts would be interested to receiving the content. Multi-casting is the best option in such a scenario as it sends the stream only once and only those PC’s/ Networks (In multi-network scenario) that are interested to receive them, do. And multi-cast transmissions are not sent directly to the MAC addresses of the PC’s that are supposed to receive them – instead a multi-cast address is used by the hosts and the routers/ switches determine where to send them or rather, where not to send them.
So, multi-casting is a method to send a single data stream to multiple selective clients across different/ same network.
Multi-casting within the same network:
This is simple. When the multi-cast server sends the multi-cast stream to the network, those PC’s which which have already joined the multi-cast group get the streams and the ones that have not, reject them.
Multi-casting through multiple networks:
In case there are multiple networks, the best path between the source server and the destination hosts needs to be established (which is done using multi-cast distribution trees constructed using specialized protocols) along with finding out which PC’s and consequently which networks are interested to join the multi-cast groups (if no node in a sub-network is interested in the multi-cast stream, the routers do not send multi-cast packets to that sub-network. This also can be established using certain protocol messages that are exchanged frequently between routers and hosts).
What are the advantages of Multi-casting?
- Uses lower bandwidth
- There is lesser load on the server (source) resources as well as network resources
- Large size real time transmissions (including multi-media, voice, video etc) can be sent using multi-casting
- Multi-casting is suitable for transmission across multiple networks in a Wide Area Network (like Internet) too
What are the common applications of multi-casting?
- Streaming Audio/ Video / Multi-media for a group of users on the network
- Broadcast quality Internet TV over the IP Network
- Audio/Video Conferencing
- Streaming of recorded videos such as educational lectures, chairman key note address, minutes of meeting, etc
- File distribution (like OS images and updates to multiple hosts), etc.
Some Tools available distributing a multi-cast stream:
- The VideoLAN group, which is the creator of the popular VLC media player, has developed a software program called Multicat that can be downloaded to your PC’s/ Server and can be used to initiate and send multi-cast sessions. This can also be used to convert uni-cast, file format streams etc, in to various formats including multi-cast.
- XORP, is an open source freely down-loadable Router Software that can run on any standard PC/ Server hardware that lets you to test and use the multi-cast concepts and protocols like IGMP, PIM-SM and even other common routing protocols.
Quality of Service in Multi-casting:
Multi-casting in general is connection-less and unreliable source of communication. If a few packets are lost during communication or receiving, they will not be resent by the source. Neither does the host request it. This is quite ok for a real time applications like voice/ video streaming and more over some applications have buffering built-in for compensation of delayed multi-cast packets and smoothening out losses. In addition to this, network switches can also implement end-to-end QoS settings for prioritizing the critical multi-cast sessions.
But what about those multi-cast sessions which contain critical data to be transmitted over a number of computers (like stock market tickets or OS patches, for example)? To address this, certain protocols like RSVP – Resource Reservation Protocol (A control protocol operating in the transport layer to provide receiver initiated resource reservations for multi-cast data flows for delivering specific levels of QoS / resource reservation / bandwidth reservation for application streams in each node along a path) and PGM – Pragmatic General Multi-cast (When some packets are missed, the same can be determined by the host (recipient) and a request can be made for a re-transmission of the same – PGM enables a framework to achieve this) and a few others were proposed and some are in use as well.
Multi-cast Addressing Schemes:
IPv4: IPv4 Multi-cast addresses use Class D addresses (staring with 1110 higher order bits in the first octect, followed by 28-bit group address) with a range of 220.127.116.11 to 18.104.22.168 (with some global exceptions which are pre-defined for other purposes by the IANA – Internet Assigned Numbers Authority).
IPv6: IPv6 multi-cast addresses start with the following higher order bits in the first octect – 11111111 (or) FF in hex. The next bit in the octect mentions the life-time parameter of the multi-cast addresses – 0 is permanent and 1 is temporary. The next four bits indicate the scope of the multi-cast address (with scope, it is possible to define how far the multi-cast addresses can go like node local, site local, global etc).
What is IGMP and why is IGMP Snooping by network switches required?
IGMP stands for Internet Group Management Protocol – This is the host-router communication protocol used by the routers and hosts to find out which host is interested in joining a particular multi-cast session. For a particular multi-cast address, routers send IGMP query messages to all the hosts in the network. If a host wants to join (or already joined), it sends a IGMP report message in response. Routers use this information to find out if there is at least one host in the particular sub-network which is interested in joining the multi-session, and forward the multi-cast stream only if there are any hosts interested in receiving the same in that network.
IGMP Snooping is a technique which is used by the network switches wherein they continuously check for the IGMP packets going through them and establish which particular hosts (PC’s) wants to receive which multi-cast streams and they build an appropriate table around that information. Using that, when the router sends the multi-cast stream (by default, it send the multi-cast stream to all the hosts (PC’s) in a given network), the switches interfere and send the stream to only those PC’s already registered to receive the same. This saves a lot of bandwidth and network resources and is an efficient method. This is one of the reasons why you ought to invest in fully manageable network switches with IGMP Snooping features available in them.
IGMP and IGMP Snooping is used while dealing with IPv4 addresses while MLD (Multi-cast Listener Discovery) and MLD Snooping is used while dealing with IPv6 addresses. MLD is similar to IGMP comes with a few enhancements to support IPv6 addresses.
Router-Router Signaling Protocols for Path Establishment:
Consider a scenario where you are sending multi-cast packets over a WAN network to multiple hosts present across different geographies. The server (source) does not know which hosts (PC’s) the packets must be addressed to. So, it sends the packets addressed to a generic multi-cast address to the routers as the first step. Now, the routers interact with each other to establish distribution trees to connect all members of a multi-cast group using Multi-cast Routing Protocols. There are two types of Multi-cast Routing Protocols:
Dense Mode Protocols – These protocols periodically flood the networks with multi-cast traffic to establish and maintain a distribution tree. So, it works well for situations where a particular network has a large number of multi-cast users for that particular multi-cast session as the process of flooding consumes a lot of bandwidth. Examples of Dense Mode Protocols – DVMRP – Distance Vector Multi-cast Routing Protocol, PIM-DM – Protocol Independent Multi-cast (Dense Mode).
Sparse Mode Protocols – These protocols do not flood the network like their dense mode counter-parts but construct distribution trees by adding branches only when they receive join requests from hosts. This is used in networks where there are a lot of PC’s but only a few of them are interested in receiving a particular multi-cast stream, and this saves a lot of bandwidth and network resources in such scenarios.
You can follow the latest Computer Networking/IT Products released for homes/small businesses & reviews by subscribing to this blog with your email address in the top right-hand sidebar box: ‘Follow by E-mail’. You can expect one mail per week (max).