We now agreed that Multicast is the best option when it comes to video streaming and it has a lot of advantages compared to the Unicast and Broadcast streaming. Now, it is important to know that Multicast doesn’t work “out of box” like Unicast for example. So, there are number of components that we should know to be able to configure Multicast correctly on MikroTik.
1st thing to know, when using Multicast we should send the packets to a specific destination address. For this, we use class D range which is: 220.127.116.11 to 18.104.22.168. These addresses should be destination addresses and cannot be sources addresses. The source address in this case will be the one from the sever that is sending the multicast such as the video server.
2nd thing to bear in mind when using Multicast, is to use an application that support multicast. There are different types of applications in the market that you can use for multicast, but the simplest one is VLC mediaplayer which can stream and receive video streaming on the network.
[mepr-show rules=”319″ unauth=”message”]
3rd thing that we should know is when a server is streaming using Multicast and the router receives the stream, then the router should know if any of the hosts want to receive that stream as you can see in the picture below:
As you can see, the router is receiving the multicast streaming video from the server, but he doesn’t know where to send it and whether it needs to forward it or drop it. To solve the issue, the hosts should have a mechanism to tell the router when they want to receive the multicast traffic: this is solved by using IGMP Protocol (Internet Group Management Protocol).
Using IGMP, hosts that want the multicast traffic will tell the router that they want it then the router will know that he needs to forward the packets to them.
What about the switch? How can he know that he should forward the multicast traffic and through which of its interfaces? Let’s see it on this picture.
Now the router knows that there is one host interested in the multicast traffic because the host has told the router using IGMP that he is interested in the traffic. The router will forward the multicast traffic to the switch. When it comes to the switch, the question is: how the switch will know from which of its interfaces it should send the multicast traffic. Remember, the switch forwards the traffic based on the destination address. However, in this case we are using multicast as destination, so how the switch will know from which port he should send the multicast traffic?
To help the switch to know where to forward the multicast traffic, we use IGMP Snooping. With IGMP snooping, the switch will listen to the IGMP messages that has happened between the host(s) and the router then he will figure out from which of its interfaces he should forward the multicast traffic.
The last multicast component that I want to speak about in this chapter is the Multicast Routing Protocol.
Let’s imagine we have the following scenario:
As you can see, R1 is receiving the multicast traffic from the streaming server, and there is 1 host that want to receive this multicast traffic. R1 has 2 routes to send the multicast traffic: via R2 or via R3. If we are using a unicast routing protocol such as static route or RIP or OSPF, they all have the same concept: the router will check his routing table to see if there is an entry to the destination then route the packets. However, in our case the destination is the multicast address which is from Class D as I have already explained, that means the normal routing protocol will not help R1 to decide how to send the multicast packets.
To solve the problem, we need to use a Multicast Routing Protocol which is PIM (Protocol Independent Multicast). Using this protocol, R1 will know whether he should send the multicast traffic from to R2 or to R3.
To mention, there are other Multicast Routing Protocols, but PIM is mostly and widely used in Multicast. Other protocols are:
- DVMRP (Distance Vector Multicast Routing Protocol)
- MOSPF (Multicast Open Shortest Path First)
In this course, I am going to cover and speak only about PIM because this the only protocol supported by MikroTik.
This is all what I wanted to explain in this 1st chapter, I hope you enjoyed it and see you in the upcoming one.