1. Multicasting – Introduction
In this video we will try to understand what is multicasting and what are the benefits we get with a multicast instead of using a broadcast or unicast. Now, multicasting is a method of sending one single stream to multiple destinations. Like if you take an example, there is some a server which is sending some video streaming. Maybe I’m watching some video online and this multicast and this video streaming is sent to only selected destinations, but not to everyone. So we got three different types of communications. If we get back to the basics. Like we have a unicast communication. In the unicast, one device is sending the traffic and the other one is receiving the traffic. That is one to one communication. Now, one to one communication, we call it as a unicast traffic.
Now, there is another way of communicating or sending the information where we can send a broadcast. In case of broadcast we are sending to everyone, one to all. That is something what happens in your land where the device simply sends out of a broadcast packet or the broadcast ids. Now, this is another kind of communication. We have multicast where the one sender is sending not to everyone, not to a single user. It’s going to send a group of receivers. The group of receivers means like take an example, there is a server, maybe I’m accessing some video online, maybe I’m watching some video on the youtube. com and there might be multiple receivers who are watching the same video at the same time.
So probably the server is sending a one copy of the information and this is received by multiple receivers. Now, it’s not going to send to everyone, but instead it is going to send only to the users who are requesting. Now that’s what we call as multicast. Now multicast is a common implementation or the common kind of communication in general. In most of the online video or online TV, live TV or the radio broadcast to the desktop. Or maybe you are doing some videos or demand or video conferencing kind of applications you’re using. Or maybe you’re doing some online training or some real time delivery data or maybe you are playing some online games or watching some videos on the Internet. Probably they typically use, they are typically referred as one kind of multicast traffic.
So probably in this section, in this complete course, we are going to see how we can support that particular kind of multicast traffic on our cisco routers and switches. Now, the next thing we need to know why there is a need for the multicast, why not we can use unicast. Now, let’s try to take an example here to understand why we need to use multicast instead of unicaster broadcast. Like example, there is a video server here and this video server is supposed to send a video stream to multiple receivers. Now, I got one receiver here, the receiver one and I got a receiver two and I got a receiver three and there is no receiver on the other side. Now there are some receivers on a different location, maybe a different land.
And this video server is supposed to send a video stream to three different receivers. Now, let’s say the size of each video stream is 1. 5 mbps. If I’m going to use unicast, it is going to do something called one to one communication where it is going to send a separate video stream for user one and separate video stream for user two and a separate stream for the third receiver. Now, which means if I’m sending a one five mbps of video stream for 100 receivers, it’s going to utilize around 150 mvps of bandwidth. So the number of receivers increases, the more amount of bandwidth requirement also increases and also it is going to add some extra overhead on the server, probably sending 1. 5 aps of video stream for more than 100 receivers.
So that is one of the major drawback with the unicast if you are using, if you want to send some streaming to multiple receivers, maybe to a group. Now in this case, application sends one copy for each and every client. That’s what we discussed. And it is typically used when you have very few clients who are accessing the application. Now, if the message has to be sent to a large group, probably the same information has to be carried multiple times on the same link. Like here, if I’m sending 1. 5 and if I have some 100 receivers, it’s going to end up utilizing 150 mvps of bandwidth. So the bandwidth utilization is equally proportional to the number of users. The more number of receivers you have, the more amount of bandwidth it is going to utilize.
So again, the router makes an individual decision based on each pair of source and destinations. Now probably in this kind of scenarios, unicast is really not an applicable solution, okay? So in some of the worst scenarios sometimes it will do broadcast where if the unicast is unknown, if the destination is unknown, there is a possibility of broadcasting to everyone. Now let’s assume a scenario. What if I decide to use a broadcast? Now let’s say we are using some multimedia traffic using a broadcast kind of scenario where the server is supposed to send the multicast traffic to the three receivers, but in case of broadcast it’s going to send only one copy of information. That’s a good thing. Whereas in case of unicast it sends multiple copies.
But the problem is it is broadcasters to everyone, which means that the users who don’t want to receive the particular multicast traffic or multimedia traffic, still they will receive it. So application sends out just one copy of the packet using a broadcast, whereas each and every end host need to process even if they don’t want. And this is something not really a recommended implementation for sending your voice video and the data to multiple receivers. Now, if you have some hundreds of users in the land, probably all the hundreds of users has to process those packets and then they might get dropped. So it’s going to increase the bandwidth utilization on the land if it is broadcasted. So broadcast is not also an applicable solution in this kind of scenarios.
Now instead what we use, we use a multicast. So we’re not going to use a unicast. Unicast is going to have some impact on the performance as well because the server, it adds some extra load on the server sending multiple frame transmissions. The more number of users we have, the more amount of bandwidth it is going to utilize, the more load extra overhead ads on the cpu. The same thing with the broadcast broadcast, it sends unnecessary broadcast. So it’s going to reduce the network performance with too many broadcast messages and that is something we don’t want. Now instead I can go with some multicast where the server is going to send only one copy of the information and it reaches the one copy of the information. And depending upon the number of receivers we have, the router is going to make multiple copies of the information to the multiple receivers.
So let’s say in this land I have two receivers, the router is going to make two copies of the information here. One is send here and then send on this side. And then based on the number of receivers or the request you have, you are coming to the router, it’s going to make the multiple copies. Now, in this way, even though, let’s say I’m sending 1. 5 mvps of video streaming to a particular receiver and I got some ten users, maybe in the next few hours I’m sending the same information for the hundreds of users. It’s not going to increase the bandwidth utilization because we are still sending only one copy of the information. So the server is going to send only one copy of the each packet to a special address, that’s class D address.
We’ll talk about this more in detail. The server is going to send a single data stream to multiple clients. Now this is the more efficient solution because even if the number of receivers increase, it’s not going to add an extra overt on the video server because it is just simply sending only one copy and it is something replicated based on the number of receivers again and send out to the receivers and who want to receive only that particular multicast traffic. Now, the major advantage we get with the multicast is it reduces the sending server processing utilization. That’s one of the major advantage because the server is going to send only one copy of the information and also it will reduce the bandage utilization where it is sent as only 1. 5 bps.
One copy of the information but it is multiplied based on the number of receivers and also it reduces the host or the router processing utilization as well. It’s going to save the bandwidth, it is the network bandwidth consumption and the cisco switches can process the packets and deliver those packets only to the receivers who wants to receive the multicast traffic. So which means it is going to send only to the receivers who want to receive the multicast traffic. At the same time it is minimizing the cpu utilization and the load on the servers, the network utilization as well. It’s going to be a little bit optimized. So that’s the reason whenever you have a multimedia traffic to be sent like a video streaming, the best possible solution is to use multicast instead of using a broadcast or unicast.
2. How Multicast Works
In this video, we’ll try to get into some overview on how, how the multicast is going to work in a production network. Scenarios like there are five different steps, which generally happens whenever you want to receive the multicast traffic. Now, we’ll see a little bit quick overview on these things. So the first thing is, let’s say there is a server here which is sending a video streaming, or the video server is sending a multicast traffic to some of the receivers. And I have receivers on this side. Now, there are two different receivers who want to receive the multicast traffic on this network as well as on this network, whereas the other host is not a receiver. Now, in order to ensure that your multicast traffic should go from this video server to the receiver, the first thing the multicast server should be the administrator.
I need to install a multicast application on the server here by using some layer three address. And that’s what we use, a class D address. We’ll talk about multicast addresses addressing categories probably known next sections. Now typically you have some five classes in the IP addressing class abcd and E, and the class D is reserved for multicasting. So the multicast server has to be configured with some multicast rocio. So the netbug administrator need to install the application on this server by using this multicaster. So that’s the first step. Now, once you do this, probably this multicast server is responsible for sending the video streaming for all the hosts who want to receive the multicast traffic from here. Now, the next thing is multicast application also need to be installed on the host.
Like whichever the host who want to receive the multicast traffic has to be installed with the application on this side for the same multicaster. The receivers who want to receive the multicast traffic install a multicast application on the handhost. It can be any kind of Multiplast application like maybe a cisco webex program or if you’re watching some online videos, probably this user is going to click on the link which will automatically generate a request for this multicast group. Or it can be any other skype kind of applications. So the application get installed by using the same multicast reference which we use on the server. So that’s a complete second step what we need in order to have the multicast traffic between this sender and the receiver.
Now the next step is the host need to indicate the local router to receive the multicast traffic for this group. Now, whenever this user clicks on the link, maybe if you are accessing some online videos or if you open that particular application, it’s going to send a request to the nearest hop router requesting that it wants to receive the multicast traffic for this group, which is somewhere here, 224 55, whatever the atrocities. Now this is done by a protocol called igmp protocol and we’ll talk about this protocol more in detail in the next sessions. But here I just give some quick overview of all the steps. What happens when the multicast traffic is sent from the source to receiver. And the next step is once you send the request to the router.
Now, this router has to figure out where the server is, maybe on a different network and how to reach that particular server. And that is done by some routing protocols in multicasting we call them as multicast routing protocols. Now, most commonly we use a protocol called pim protocol, independent multicast. Again, we’ll talk about these protocols more in detail later on. Now igmp is the protocol which is responsible for the host to send a request to the router and the router is to figure out where is that multicast server on different network, one kind of routing we can send. And in between this there is also one more process happens here, like in the lan, we are connecting some switch.
Now the host who want to receive the multicast traffic will send the information to some multicast group address based on the IP addresses. But the switches do not understand the IP addressing. So the equivalent IP address has to be converted into equivalent multicast Mac addresses so that the switch can recognize on which ports the multicast traffic has to go. So this something will talk about this more in detail in our layer to multicast topics. And there are two different protocols can be used to make this job which is going to calculate the layer to multicast address and it is used by some protocol like igmp snooping and cgmp protocols.
Now, these are the five different step which generally happen and generally there are two different protocols responsible for the complete multicast traffic where the client is going to send the request to the router by using some igmp protocol and that’s a protocol which works between the router and the host. And then there is another protocol between router to router, multicast routing protocol. And most commonly we use a pim protocol. And then there are some other protocols which works in the switches that is layer to multicasting called igmp snooping or cgmp protocols. Again, these protocol also responsible for identifying the multicast traffic and keeping the track of the pods which supposed to send or receive the multicast traffic.
3. Multicast IP ranges
Now, in this section we’ll see the IP addressing used for the multicast application application. Now, multicast applications uses a special address range, and that range comes under the category of D class and the range from 224 to 239. Now, we know that Iprising is categorized into five classes, class ABC, where we use class ABC for the land and the man, whereas you have a class D is reserved for multicasting. Now, if you want to host any multicast services or multicast server or multicast host, we need to use this class D address range, which comes in the range of 224 to 239. So every multicast address is going to represent a multicast application and it’s typically referred as group address. Now, ina has reserved this class D address for the multicasting.
Now, let’s take an example. There is a server which is sending a multicast streaming for selected receivers. Now, when it is sending a multicast streaming to that particular receivers, it’s not going to send to the exact IP addresses. Let’s say the IP address is 100 one or 210, 1310, four. But instead it will be sent to the group address. Now, the group address will be the multicast address and the destination address will be something like 2240 zero, five. And this is the address which is used to identify the group and whoever the user wants to receive the multicast traffic. They will join to this group and they get the multicast traffic. So the class D address is used and when the multicast traffic is sent, the destination address will be always the multicast address.
So it will not be the address of the receiver address. It will be always the multicast address range. And we call that as group address. Now, according to ina, the multicast address range comes under the category of 224 to 239. Again, this address range is further classed into different categories. Like we have a permanent multicast groups and source specific multicast and private multicast address range. So the first one, let’s see, in the permanent multicast groups, which comes in between the range of 2240, zero, zero to 224-0125. In this we have two different ranges, one for the non routed purpose and the other one is for routed purpose. Now, the basic difference between these two is so all the resist, whichever starts with 2240 x x, represents any number from zero to 255.
They are reserved for the network protocols on the same local segment. Now, same local segment means these addresses will not be forwarded to the next routers and the default detail value will be one and the router do not forward these packets within this range. Like maybe you have two addresses, 224, one which is used by the host, multicast capable host. Let’s say you have some multicast capable PC in your network or a host in the land and you want to check the connectivity and you want to get a reply from all the hosts who are running the multicast traffic. Probably if you ping to this, you will get a reply from those devices.
So all the host multicast enabled host listen on this 2240 zero one, and whereas all the multicast enabled routers listen on 2240 zero two. Now they work only just one hop away. So the routers will not forward this address range to other routers. Now, similar way we have some other multicast address range like 2240 zero five and six, used by the osp of messages 2240 zero nine used by Rip version two and 2240 00:10 used by ehrp protocol like that. So it is reserved for some protocols which works just less than one hop, which works in the same local segment. Now, these are some of the examples of those non routed non routed range, permanent addresses. Now, the next thing there is a routed purpose range.
Now, this is again reserved for some kind of protocols and those protocols that are forwarded in the entire network. Now, these are just quite opposite to the non routed address range. This works only just one hop or less than that. And the default detail value is one. But here it’s not like that. So the routers with this particular group address, it will be forwarded to the next routers. And again, these are reserved for some protocols. Like there is an address of 2240, 139 and 40. These are reserved for pim RP messages. We’ll talk about Pim RP random point in the next classes, more in detail about that, but it’s one kind of multicasting as well. We call those address ranges, our routed purpose range. And then there is a source specific multicast.
The entire address range of 232 is reserved for source specific multicast. We use this in igmp version three, we’ll talk about igmp and versions in the layer transitions. And we have a separate section dedicated for understanding the source specific multicast, where in case of source specific multicast, you can decide if there are two servers sending a same multicast streaming, you can decide from which source you want to get the multicast traffic. It’s the one kind of multicast advanced implementations we’ll talk about. More on this ssm features in the later on advanced topics of the multicasting. And then finally you have another range called private multicast address range.
And this address is used with used for the range of private multicast domains used within the same organization, we can say or on any organization who want to use this address within the global multicast application. So it’s like within the private within your company, if you want to run any multicast application, more like a private IP address, you can use this address range. Now, these are the sum of the addresses which are reserved for specific purposes and that’s the complete address range. You can use any address range for hosting any multicasters, but if you’re using some specific based applications like ssm, or for some routing protocols, we use this range. And for the private multicasters, we use this range. But in general, any other addresses can use for hosting any of the multicast traffic.