In Any-Source Multicast (ASM) implementation, PIM-Sparse Mode (PIM-SM) forwards multicast packets in pull mode and is for use on large-scale networks with sparsely distributed group members. Devices on the PIM-SM network work as follows:
A Rendezvous Point (RP), an important PIM router, is available to provide services for group members or multicast sources that appear at any time. All PIM routers on the network know the position of the RP.
When a user host joins a multicast group G using IGMP, the last-hop router sends a Join message to the RP. A (*, G) entry is created hop by hop, and an RPT with the RP as the root is generated.
When a multicast source sends the first multicast packet to a multicast group G, the first-hop router encapsulates the multicast data in a Register message and sends the Register message to the RP in unicast mode. The RP then creates an (S, G) entry and registers multicast source information.
In the ASM model, PIM-SM uses the neighbor discovery, DR election, RP discovery, RPT setup, multicast source registration, SPT switchover, and assertion mechanisms. A Bootstrap router (BSR) can also be configured to implement fine-grained management in a single PIM-SM domain.
Neighbor discovery in PIM-SM is similar to that in PIM-DM. For details, see "PIM-DM Neighbor Discovery".
The network segment where a multicast source or group member resides is usually connected to multiple PIM routers. These PIM routers exchange Hello messages to set up PIM neighbor relationships. The Hello messages carry the DR priority and the interface address of the network segment. Each PIM router compares its own information with the information carried in messages sent by its neighbors. A DR is then elected for multicast data forwarding on the source side or the receiver side. The election rules are as follows:
If all PIM routers on the network segment allow Hello messages to carry DR priorities, the PIM router with the highest DR priority is elected as the DR.
If multiple PIM routers have the same DR priority, or if at least one PIM router does not allow Hello messages to carry the DR priority, the PIM router with the largest IP address is elected as the DR.
If an existing DR becomes faulty, PIM neighbor relationships time out, and a new DR election is triggered among PIM neighbors.
Figure 1 shows two types of DRs in the ASM model:
Source DR
It is connected to a multicast source. On the shared network segment connected to the multicast source, the source DR is responsible for sending Register messages to the RP.
Receiver DR
It is connected to group members. On the shared network segment connected to group members, the receiver DR is responsible for sending Join messages to the RP.
An RP is responsible for processing Register messages from the multicast source and Join messages from group members. All PIM routers on the network know the location of the RP.
An RP can serve multiple multicast groups simultaneously, but each multicast group can be associated with only one RP. RPs can be configured statically or elected dynamically:
Static RP
All PIM routers on the network are manually configured with the same RP address.
Dynamic RP
Several PIM routers in a PIM domain are configured as candidate RPs (C-RPs) and an RP is elected from them. One or more PIM routers are configured as candidate BSRs (C-BSRs), and a BSR from them to collect and advertise C-RP information.
During a BSR election, each C-BSR considers itself the BSR and sends the entire network a BootStrap message that carries its address and priority. Each PIM router compares the Bootstrap messages it receives from C-BSRs. The BSR is elected based on the result of the comparison:
If the C-BSRs have different priorities, the C-BSR with the highest priority (largest priority value) is elected as the BSR.
If the C-BSRs have the same priority, the C-BSR with the largest IP address is elected as the BSR.
Figure 2 shows the RP election process:
The RP election process is as follows:
C-RPs send Advertisement messages to the BSR. An Advertisement message carries the address of the C-RP, the range of the multicast groups that it serves, and its priority value.
The BSR collects the information in an RP-Set, encapsulates the RP-Set in a Bootstrap message, and advertises the message to each PIM-SM router on the network.
The C-RP with the longest mask length of the served group address range matching the specific multicast group wins.
If multiple C-RPs have the same mask length, the C-RP with the highest priority (smallest priority value) wins.
If multiple C-RPs have the same priority values, the C-RPs use a hash algorithm to calculate their hash values. The C-RP with the largest hash value wins.
If all the preceding values are the same, the C-RP with the largest IP address wins.
PIM routers save the relationship between this multicast group and its RP for subsequent operations. This relationship is the same on all PIM routers because they use the same RP-Set and the same election rules.
A PIM-SM RPT is a multicast distribution tree (MDT) that uses an RP as the root and group member routers as leaves. In Figure 3, when a host joins a multicast group G using IGMP, the receiver DR sends a Join message to the RP. A (*, G) entry is created hop by hop, and an RPT with the RP as the root is generated.
During RPT setup, PIM routers perform an RPF check before sending a Join message. Each router searches for a unicast route toward the RP, in which the outbound interface is the upstream interface and the next hop is the RFP neighbor. Join messages are forwarded from the receiver DR to the RP hop by hop along the unicast route.
In Figure 4, a new multicast source on the PIM-SM network must register with the RP so that the RP can forward multicast data from this source to group members.
The registration and forwarding process is as follows:
A multicast group on a PIM-SM network can be associated with only one RP and sets up only one RPT. Normally, all multicast packets destined for a multicast group are encapsulated in Register messages and sent to the RP. The RP then decapsulates the packets and forwards them along the RPT to multicast group members. All multicast packets pass through the RP. If the number of multicast packets increases dramatically and the RP becomes heavily burdened, PIM-SM allows the RP or the receiver DR to trigger an SPT switchover.
SPT switchover triggered by the RP
After receiving a Register message from the source DR, the RP decapsulates the Register message and forwards multicast packets along the RPT to group members. The RP also sends a Join message to the source DR to set up an SPT from the RP to the source.
After the SPT is set up, the source DR forwards multicast packets directly to the RP. After the switchover, the source DR and RP no longer need to encapsulate or decapsulate packets.
SPT switchover triggered by the receiver DR
In Figure 5, the receiver DR periodically checks the forwarding rate of multicast packets. When the receiver DR finds that the forwarding rate is higher than the configured threshold, it triggers an SPT switchover.
The SPT switchover is as follows:
No default threshold is configured for the multicast packet forwarding rate on a switch. Therefore, an SPT switchover is triggered when the RP or receiver DR receives the first multicast packet from the multicast source.
The assert mechanism in PIM-SM is similar to that in PIM-DM. For details, see "PIM-DM Assert".
To provide fine-grained network management, a PIM-SM network has both a global domain and multiple BSR administrative domains. This reduces the workload on individual BSRs and allows for the use of private group addresses to provide special services to users in specific domains.
Each BSR administrative domain maintains only one BSR, which serves multicast groups within a specific range. The global domain maintains a BSR that serves multicast groups not served by an administrative domain.
This section describes the relationship between BSR administrative domains and the global domain in terms of domain space, group address ranges, and multicast functions.
Domain space
Figure 6 shows the relationship between BSR administrative domains and the global domain in terms of domain space.
BSR administrative domains for the same group address contain different PIM routers. A PIM router belongs to only one BSR administrative domain. BSR administrative domains are independent of and isolated from each other. Each BSR administrative domain manages the multicast groups within a specific group address range. Multicast packets within this range can be transmitted only within this administrative domain and cannot cross its border.
The global domain contains all PIM routers on the PIM-SM network. A multicast packet that does not belong to any BSR administrative domain can be transmitted throughout the entire PIM network.
Group address range
Figure 7 shows the relationship between BSR administrative domains and the global domain in terms of group address ranges.
Each BSR administrative domain serves multicast groups within a specific range. The group address ranges served by different BSR administrative domains can overlap. In Figure 7, the group address range of BSR1 overlaps that of BSR3. The address of a multicast group that a BSR administrative domain serves is used as a private group address and is valid only in its BSR administrative domain.
In Figure 7, the group address range of the global domain is G-G1-G2 excluding group addresses G1 and G2.
Multicast function
In Figure 6, the global domain and each BSR administrative domain have their respective C-RP and BSR devices. These devices function only in the domain where they reside. Each domain holds independent BSR and RP elections.
Each BSR administrative domain has a border. Multicast messages from this domain, such as C-RP Advertisement messages or BSR BootStrap messages, can be transmitted only within the domain from which they originate. Multicast messages from the global domain can be transmitted throughout the entire global domain and traverse any BSR administrative domain.