Introduction
This document describes the packet flow of the Any-Source Multicast (ASM) Model.
Background Information
This document provides the detail packet flow of the Native Multicast packet flow and analysis of its output. This describes about the detail analysis output and packet flow in control plane and forwarding plane.
The ASM is the model in which the receiver does not have the knowledge of sender. It means it can receive traffic from any source. Receiver is only aware of the multicast group that sender uses and Internet Group Management Protocol (IGMP) in order to subscribe to receive all the traffic destined for this address.
All of this is covered in this document:
1. What happens when Receiver is active.
2. What happens when Source is active.
3. What happens when Register is received at Rendezvous Point (RP).
4. How (S,G) formed. Till First Hop Router (FHR).
5. Which path it takes for the first Multicast Stream.
6. What happens when two streams receive at the Last Hop Router (LHR).
7. How Shortest Path Tree (SPT) is formed over Shared Tree. Exactly what happens and the reason why the switchover takes place.
Protocol Independent Multicast (PIM) is used as a multicast routing protocol between source and receiver to create the multicast tree. In ASM, (*,G) multicast entry is used where * represents any-source and G is the multicast group address receiver that is interested in order to receive the traffic.
Step 1. When Receiver is Active, it Sends IGMP Report Message
- When the receiver's expression of interest is received, the Designated Router (DR) then sends a PIM Join message towards the RP for that multicast group.
- This Join message is known as a (*,G) Join because it joins group G for all sources to that group.
- The (*,G) Join travels hop-by-hop towards the RP for the group, and in each router it passes through, multicast tree state for group G is instantiated.
LHR is consider the last-hop router because it has the C flag in the (*,G) entry which means that it has directly connected receiver (in fact in this case it is himself with the use of the igmp join group command).
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-00.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-01.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-02.png)
Step 2. When Source is Active
- Before the DR sends the registration message, in a nutshell, it has to consult the mroute table to ensure that it is not the RP and has RP-Set information and all the checks require PIM to be enabled between DR and RP router.
- Both the FHR and RP tunnel need to have software level tunnel encapsulation and decapsulation.
- Register Message provides the information Source Group and existence of Source.
- The encapsulated multicast packet is extracted and the RP checks to see if there exists (*,G) state for the destination address.
- If there is no (*,G) state, PIM Register-Stop is sent back immediately.
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-03.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-04.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-05.png)
Step 3. Form Shared Tree
- Before the DR sends the registration message, in a nutshell, it has to consult the mroute table to ensure that it is not the RP and has RP-Set information and all the checks require PIM to be enabled between DR and RP router
- Both the FHR and RP tunnel need to have software level tunnel encapsulation and decapsulation
- Register Message provides the information Source Group and existence if Source.
- The encapsulated multicast packet is extracted and the RP checks to see if there exists (*,G) state for the destination address.
- If there is no (*,G) state, PIM Register-Stop is sent back immediately.
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-06.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-07.png)
Step 4. (S,G) Packet Reaching towards the FHR
- Only presence of REGISTER MESSAGE at RP (S,G) PIM JOIN travel to the FHR. To create the Forwarding state.
- After the PIM JOIN it complete the process to create a Hardware Forwarding State for Multicast traffic flow.
- If there are (*,G) listeners, the RP starts constructing SPT toward the multicast source IP address. This is where the RPF check is performed to find out the upstream interface to send the PIM Join to.
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-08.png)
Step 5. First Stream of Multicast Packet, reach to Receiver via Shared Tree
- A router forwards multicast stream only if received on the INC /RFP interface.
- Multicast Packets source address is checked against unicast RT.
- Determine the interface and next hop multicast router in the direction of the source where the join sent.
- RP is in the process of joining the source-specific tree for S, the data packets will continue being encapsulated to the RP. When packets from S also start to arrive natively at the RP, the RP will be receiving two copies of each of these packets.
- At this point, the RP starts to discard the encapsulated copy of these packets, and it sends a REGISTER STOP message back to S's DR to prevent the DR from unnecessarily encapsulating the packets.
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-09.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-10.png)
- Once the RP receive the source traffic via the source tree. Hardware source path is establish. Set the ”T” Flag ad the tree is built.
- RP sends REGISTER STOP to torn down the tunnel from the FHR to RP after receive the source traffic.
- To stop this register process the RP sends a PIM register stop message
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-11.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-12.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-13.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-14.png)
Step 6. LHR Receives Traffic from SPT and Sends Prune Message towards the Shared Tree
After receipt of two streams of Multicast Traffic, the LHR starts to receive the traffic from SPT and sends prune message towards the Shared tree.
The J flag means the respective (*,G) state is to switch the SPT by the leaf router.
LHR #
(10.0.12.1, 239.1.1.1), 00:00:38/00:02:21, flags: LJT
Incoming interface: FastEthernet0/0, RPF nbr 10.0.78.7
Outgoing interface list:
GigabitEthernet1/0, Forward/Sparse, 00:00:38/00:02:21
The “F” flag is typically found for the states created at the PIM DR router – it signalizes the forwarding states that correspond to the flows that are registered with the RP. If the “F” flag persists, then your router is most likely unable to receive the PIM Register-Stop messages back from the RP, and thus there are sources that have not switched to the SPT.
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-15.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-16.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-17.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-18.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-19.png)
![](/c/dam/en/us/support/docs/ip/multicast/212639-native-multicast-flow-any-source-multi-20.png)