< Home

PIM-SM Control Message

PIM-SM devices implement multicast by exchanging PIM-SM control messages.

A PIM control message is encapsulated in an IP packet, as shown in Figure 1.

Figure 1 Encapsulation format of the PIM control message

Types of PIM Control Message

The headers of all PIM control messages use the same format, as shown in Figure 2.

Figure 2 Format of the PIM protocol message

Table 1 Description of the fields of the PIM control message

Field

Description

Version

Indicates the PIM version. The value is 2.

Type

Indicates the message type.
  • 0: Hello (applicable to PIM-DM, PIM-SM, and Protocol Independent Multicast-Source-Specific Multicast (PIM-SSM))
  • 1: Register (applicable only to PIM-SM)
  • 2: Register-Stop (applicable only to PIM-SM)
  • 3: Join/Prune (applicable to PIM-DM, PIM-SM, and PIM-SSM)
  • 4: Bootstrap (applicable only to PIM-SM)
  • 5: Assert (applicable to PIM-DM, PIM-SM, and PIM-SSM)
  • 6: Graft (applicable only to PIM-DM)
  • 7: Graft-Ack (applicable only to PIM-DM)
  • 8: Candidate-RP-Advertisement (applicable only to PIM-SM)
  • 9: State Refresh (applicable only to PIM-DM)

Reserved

Indicates that this field is reserved.

Checksum

Indicates the checksum.

The following part describes message types only related to PIM-SM.

Hello Message

PIM devices periodically send Hello messages through all PIM interfaces. PIM devices discover neighbors and maintain the neighbor relationship by exchanging Hello messages.

The source address of the IP packet encapsulated with the Hello message is the local interface address. The destination address is 224.0.0.13, and the TTL value is 1. The message is transmitted in multicast mode.

Figure 3 Format of the Hello message

Figure 4 Hello Option field format

Table 2 Description of the fields of the Hello message

Field

Description

Type

Indicates the message type. The value is 0.

Reserved

Indicates that this field is reserved. The field is set to 0 when the message is sent, and is ignored when the message is received.

Checksum

Indicates the checksum.

OptionType

Indicates the types of parameters. For the valid values, see Table 3.

OptionLength

Indicates the length of the Option Value field.

OptionValue

Indicates the values of parameters.

Table 3 Valid OptionType values

OptionType

OptionValue

1

Holdtime: indicates the timeout period during which the neighbor is in the reachable state. If a router does not receive any Hello message in the timeout period, the router considers its neighbor unreachable.

2

The field consists of the following parts:
  • LAN Prune Delay: indicates the delay for transmitting Prune messages in the shared network segment.
  • Interval: indicates the period for overriding the prune action in the shared network segment.
  • T: indicates the suppression capability of the Join message.

19

DR Priority: indicates the priorities of the router interfaces that take part in the DR election. The higher the priority is, the more possible the interface wins in the election.

20

Indicates the generation ID, a random number carried in the Hello message. It indicates the status of the neighbor. If the status of the neighbor changes, the random number is updated. When a router finds that the Hello messages received from the upstream contain different Generation ID values, the router considers that the upstream neighbor is lost or the status of the upstream neighbor changes.

21

State Refresh Capable: indicates the interval for refreshing the status of the neighbor.

24

Address List: indicates the secondary address list of PIM interfaces.

Register Message

When an active multicast source appears in the PIM-SM network, the Designated router (DR) at the source side sends a Register message to the Rendezvous Point (RP) to register the source.

The source address of the IP packet encapsulated with the Register message is the address of the DR at the source side and the destination address is the address of the RP. The message is transmitted in unicast mode.

Figure 5 Format of the Register message

Table 4 Description of the fields of the Register message

Field

Description

Type

Indicates the message type. The value is 1.

Reserved

Indicates that this field is reserved. The field is set to 0 when the message is sent, and is not processed when the message is received.

Checksum

Indicates the checksum.

B

Indicates the border bit.

N

Indicates the Null-Register bit.

Reserved2

Indicates that this field is reserved. The field is set to 0 when the message is sent, and is not processed when the message is received.

Multicast data packet

Indicates the multicast data packet. The DR at the source side encapsulates the received multicast data in a Register message and sends the message to the RP. After decapsulating the message, the RP learns the (S, G) information of the multicast data packet.

If a multicast source may send data to multiple groups, the DR at the source side must send a Register message to the RP each group corresponds to. A Register message is encapsulated in only one multicast data packet, so the packet carries only one copy of the (S, G) information.

In the register suppression period, the DR sends Null-Register messages to notify the RP that the multicast source is still in the active state. After the register suppression times out, the DR reuses the Register message to encapsulate multicast data packet. In the Null-Register message, the field contains only the IP header of the multicast data packet, including the source address and group address.

Register-Stop Message

In a PIM-SM network, the RP sends Register-Stop messages to the DR at the source side in the following cases:
  • Receivers have not received data sent to a certain group from the RP.

  • The RP does not serve a certain multicast group.

  • Multicast data has been switched from the rendezvous point tree (RPT) to the shortest path tree (SPT).

After receiving the Register-Stop message, the DR at the source side stops using the Register message to encapsulate multicast data packet and enters the register suppressed state.

The source address of the IP packet encapsulated with the Register message is the address of the RP and the destination address is the address of the DR at the source side. The message is transmitted in unicast mode.

Figure 6 Format of the Register-Stop message

Table 5 Description of the fields of the Register-Stop message

Field

Description

Type

Indicates the message type. The value is 2.

Group Address

Indicates the group address G.

Source Address

Indicates the source address S.

An RP can synchronously serve multiple groups and a group may correspond to multiple sources that send data to the group. Therefore, an RP may synchronously perform multiple (S, G) registrations.

A Register-Stop message carries only one copy of the (S, G) information. When the RP sends a Register-Stop message to the DR at the source side, the RP can end only one (S, G) registration.

After receiving the Register-Stop message carrying the (S, G) information, the DR at the source side stops encapsulating (S, G) packets. S still uses Register messages to encapsulate packets and send the packets to other groups.

Join/Prune Message

A Join/Prune message can contain both Join messages and Prune messages. The Join/Prune message that contains only a Join message is called Join message. The Join/Prune message that contains only a Prune message is called Prune message.

  • When the downstream interface of a PIM device does not have any receiving requirement, the PIM device sends a Prune message through the upstream interface to notify the upstream device of stopping forwarding packets to the network segment.

  • When a group member appears in the PIM-SM network, the DR at the group member side sends a Join message through Reverse Path Forwarding (RPF) interface towards the RP to notify the upstream neighbor of forwarding packets to the network segment. The Join message is sent to the upstream hop by hop. The RPT is set up.

  • When the RP triggers the SPT switchover, the RP sends a Join message through the RPF interface towards the source to notify the upstream neighbor of forwarding packets to the network segment. The Join message is sent to the upstream hop by hop. The RP-source tree is set up.

  • When the DR at the group member side triggers the SPT switchover, the DR sends a Join message through the RPF interface towards the source to notify the upstream neighbor of forwarding packets to network segment. The Join message is sent to the upstream hop by hop. The SPT is set up.

  • A PIM network segment may be connected to a downstream interface and multiple upstream interfaces. Assume that an upstream interface sends a Prune message. If other upstream interfaces still need to receive multicast packets, these interfaces must send the Join message within the override-interval. Otherwise, the downstream interfaces responsible for forwarding packets in the network segment cannot perform the prune action.

    • On a multicast network, if PIM is enabled on the interfaces of the user-side routers, a member's DR is elected, and outbound interfaces are added to the PIM DR. The PIM DR sends Join messages to the RP.
    • On a multicast network, if PIM is not enabled on the interfaces of the user-side routers, no members' DR is elected, and outbound interfaces are added to the IGMP querier. The IGMP sends Join messages to the RP.

    As shown in Figure 7, GE1/0/0 of Router A is a downstream interface, and GE2/0/0 of RouterB and GE3/0/0 of RouterC are upstream interfaces. If RouterB sends a Prune message through GE2/0/0, GE3/0/0 of RouterC and GE1/0/0 of RouterA can receive the message. If RouterC still wants to receive the multicast data of the group, RouterC needs to send a Join message within the override-interval. GE1/0/0 of RouterA can know that a downstream router still wants to receive the multicast data. Therefore, RouterA does not perform the prune action.

  • Figure 7 Join/Prune Messages in the PIM Shared Network Segment

The source address of the IP packet encapsulated with Join/Prune message is the local interface address. The destination address is 224.0.0.13, and the TTL value is 1. The message is transmitted in multicast mode.

Figure 8 Format of the Join/Prune message

Figure 9 Format of the Group J/P Record field

Table 6 Description of the fields of the Join/Prune message

Field

Description

Type

Indicates the message type. The value is 3.

Upstream Neighbor Address

Indicates the address of the upstream neighbor, that is, the address of the downstream interface that receives the Join/Prune message and performs the Join and Prune actions.

Number of Groups

Indicates the number of groups contained in the message.

Holdtime

Indicates the amount of time a receiver keeps the Join/Prune state, in seconds.

Group Address

Indicates the group address.

Number of Joined Sources

Indicates the number of sources that the router joins.

Number of Pruned Sources

Indicates the number of sources that the router prunes.

Joined Source Address

Indicates the address of the source that the router joins.

Pruned Source Address

Indicates the address of the source that the router prunes.

Bootstrap Message

When the dynamic RP is used in the PIM-SM network, routers configured with Candidate-BSR (C-BSR) periodically send Bootstrap messages through all PIM interfaces to take part in the BootStrap router (BSR) election. The router that wins in the election continues to send Bootstrap messages carrying RP-set information to all PIM devices in the domain.

The source address of the IP packet encapsulated with the Bootstrap message is the C-BSR address and the destination address is 224.0.0.13. The packet is sent in multicast mode. The packet with the TTL of 1 is forwarded hop by hop in the PIM-SM and is flooded in the entire network at last.

Figure 10 Format of the Bootstrap message

Figure 11 Format of the Group-RP Record field

Table 7 Description of the fields of the Bootstrap message

Field

Description

Type

Indicates the message type. The value is 4.

Fragment Tag

Indicates random number used to distinguish the Bootstrap message.

Hash Mask length

Indicates the length of the Hash mask of the C-BSR.

BSR-priority

Indicates the priority of the C-BSR.

BSR-Address

Indicates the C-BSR address.

Group Address

Indicates the group address.

RP-Count

Indicates the total number of the Candidate-RPs (C-RPs) that serve the group.

Frag RP-Cnt

Indicates the total number of the C-RPs that want to serve the group in the network segment. The packet may be fragmented and the RP-Set information may not be integrated, so the field is used to indicate this.

RP-address

Indicates the address of the C-RP.

RP-holdtime

Indicates the aging time of the advertisement message sent by the C-RP. The aging time indicates the valid time of the C-RP.

RP-Priority

Indicates the priority of the C-RP.

The BSR boundary of a PIM interface can be set by using the pim bsr-boundary command on the interface. Multiple BSR boundary interfaces divide the network into different PIM-SM domains. Bootstrap messages cannot pass through the BSR boundary.

Assert Message

In the shared network segment, if a PIM device receives a (S, G) packet from the downstream interface of the (S, G) or (*, G) entry, it indicates that other forwarders exist in the network segment. The PIM device sends an Assert message through the downstream interface to take part in the election. The router that fails in the election stops forwarding multicast packets through the downstream interface.

The source address of the IP packet encapsulated with the Assert message is the local interface address, the destination address is 224.0.0.13, and the TTL value is 1. The packet is sent in multicast mode.

Figure 12 Format of the Assert message

Table 8 Description of the fields of the Assert message

Field

Description

Type

Indicates the message type. The value is 5.

Group Address

Indicates the group address.

Source address

If the router elects the unique forwarder of the (S, G) entry, the address is the source address. If the router elects the unique forwarder of the (*, G) entry, the address is 0.

R

Indicates the RPT bit. If the router elects the unique forwarder of the (S, G) entry, the bit is set to 0; if the router elects the unique forwarder of the (*, G) entry, the bit is set to 1.

Metric Preference

Indicates the priority of the unicast path to the source address.

If the R field value is set 1, this field indicates the priority of the unicast path to the RP.

Metric

Indicates the cost of the unicast route to the source address.

If the R field value is set 1, this field indicates the cost of the unicast path to the RP.

C-RP Advertisement Message

When the dynamic RP is used in the PIM-SM network, routers configured with C-RP periodically send Advertisement messages to notify the BSR of the range of groups they want to serve.

The source address of the IP packet encapsulated with the Advertisement message is the C-RP at the source side and the destination address is the BSR. The packet is sent in unicast mode.

Figure 13 Format of the Advertisement message

Table 9 Description of the fields of the Advertisement message

Field

Description

Type

Indicates the message type. The value is 8.

Prefix-Cnt

Indicates the prefix value of the multicast address.

Priority

Indicates the C-RP priority.

Holdtime

Indicates the aging time of the Advertisement message.

RP-Address

Indicates the C-RP address.

Group Address

Indicates the group address.

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