Multicast PIM SSM - Source Specific Multicast from a design point of view will be explained in this post. The Shortest Path Tree concept, Advantages, and disadvantages of Multicast PIM SSM will be covered as well.
What is Source Specific Multicast - PIM SSM?
PIM is a Multicast Routing Protocol. There are two categories of PIM protocol. PIM Dense mode and PIM Sparse Mode.
PIM Sparse Mode has 3 different modes of deployment. PIM SSM - Source Specific Multicast, PIM ASM - Any Source Multicast, and PIM Bidir - Bidirectional Multicast.
In this post, we will only cover PIM SSM but for the other PIM Sparse mode and PIM Dense mode design and deployment posts, place check Multicast category.
PIM SSM is called Source-Specific because Multicast receivers not only specify the Multicast Group that they are interested in but also they can signal to the network which course they are interested in or they are not interested in.
PIM SSM in the Routing Table
In the routers, we have multicast routing tables. SSM Multicast routing entries in the routers are seen as S, G.
S stands for multicast Source and G is used for multicast Group.
Source information has to be known in PIM SSM. So, Source Specific Multicast requires Multicast Receivers to know who is the Multicast Source for the Multicast Group/Groups.
In PIM ASM - Any Source Multicast, for example, routing entries in MRIB (Multicast Routing Table) are seen as *, G, because Source information is not known with PIM ASM.
PIM SSM Range by IANA
IANA reserved 232/8 for PIM SSM usage. Although if you don't configure the 232/8 address range for Source Specific Multicast usage, SSM still works.
But it is good to use this range for better troubleshooting.
When the operator sees this range, they can immediately identify that the information is from the SSM range.
Last but not least, SSM requires IGMPv3.
So, if Source Specific Multicast will be used, Multicast receivers need to support IGMPv3
If somehow receivers don't support IGMPV3, then at the Multicast last-hop router
, IGMPv2 to v3 mapping can be done. It is called SSM Mapping
Where PIM SSM Should be used?
Because Source Specific Multicast - PIM SSM comes with more specific information (Not just group, but the source and the group), it is good for optimal routing.
Let me explain this point a little bit more.
SSM uses the Shortest path tree.
The shortest-path tree, which is also known as the Source-based tree is using the IGP shortest path between the Multicast Sender and the Receiver.
Having SPT (Shortest Path Tree), and using the shortest IGP path, means Optimal Routing basically. Optimal Multicast Routing.
Let's have a look at Shortest Path Tree.
In the above topology, let's assume all the interface costs are the same.
So, clearly, Sender 1 and Sender 2, are using the IGP shortest path to reach Receiver 1 and Receiver 2.
Sender 1 has two paths for example to reach Receiver 2.. 1-2-3-5 and 1-5. Because SPT (Shortest Path Tree) uses the shortest IGP cost, 1-5 path is used to send Multicast traffic.
Same thing can be said for the Unicast routing as well.
Whenever there is a more specific entry in Unicast, you can have Optimal Routing.
Whenever there is summarization, it means, you will have less entry in the control plane, which can increase the sub-optimal routing chance.
Thus, if we want to increase the Optimal Routing chance, we would like to use PIM SSM - Source Specific Multicast.
But, what can be the tradeoffs using SSM - Source Specific Multicast, where it shouldn't be used?
Where PIM SSM Shouldn't be used?
PIM SSM, because specifies each and every source with S, G entries, in the control plane, might create a scalability issue.
So, if the device resources might be an issue, if you have low-end routers in your network, using PIM SSM - Source Specific Multicast may not be your option.
Also, more information in the control plane might extend the troubleshooting time when there is a problem in the network.
Last but not least, because with PIM SSM, we have more specific Multicast routing table entries, compare to PIM ASM and PIM Bidir, more entries might lead to a longer network convergence
time in the case of failure.