< Home

PIM-SM (ASM Model)

Implementation

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

Neighbor discovery in PIM-SM is similar to that in PIM-DM. For details, see "PIM-DM Neighbor Discovery".

DR Election

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.

Figure 1 DR election

RP Discovery

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:

    Figure 2 Dynamic RP election

    The RP election process is as follows:

    1. 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.

    2. 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.

    3. Routers elect an RP from multiple C-RPs that serve a specific multicast group based on the RP-set and the following election rules:
      • 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.

    4. 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.

RPT Setup

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.

Figure 3 RPT setup

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.

Multicast Source Registration

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.

Figure 4 Multicast source registration

The registration and forwarding process is as follows:

  1. The multicast source sends a multicast packet to the source DR.
  2. After receiving the multicast packet, the source DR encapsulates the multicast packet into a Register message and sends the Register message to the RP.
  3. After receiving the Register message, the RP decapsulates it, creates an (S, G) entry, and sends multicast data to group members along the RPT.

SPT Switchover

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.

    Figure 5 SPT switchover triggered by the receiver DR

    The SPT switchover is as follows:

    1. The receiver DR sends a Join message to the source DR hop by hop, creates an (S, G) entry hop by hop, and then sets up an SPT from the source DR to the receiver DR.
    2. After the SPT is set up, the receiver DR sends Prune messages along the RPT to the RP, which then deletes the downstream interface connected to the receiver DR from the (*, G) entry. After the prune action is complete, the RP no longer forward multicast packets along the RPT.
    3. Because the SPT does not pass through the RP, the RP continues to send Prune messages along the RPT to the source DR, which then deletes the downstream interface connected to the RP from the (S, G) entry. After the prune action is complete, the source DR no longer forward multicast packets along the SPT to the RP.

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.

Assert

The assert mechanism in PIM-SM is similar to that in PIM-DM. For details, see "PIM-DM Assert".

BSR Administrative Domain

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.

    Figure 6 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.

    Figure 7 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.

Copyright © Huawei Technologies Co., Ltd.
Copyright © Huawei Technologies Co., Ltd.
< Previous topic Next topic >