Configuration Guide Vol. 3


15.4.2 IPv4 PIM-SM

PIM-SM exchanges neighbor information and join/prune requests to the multicast delivery tree through the multicast routing protocol used between routers to forward and discard received multicast packets. PIM-SM first forwards multicast packets through the rendezvous point. It then uses existing unicast routing information to switch to the shortest path from the multicast packet sender, and continues forwarding multicast packets.

The format and setting values for PIM-SM frames sent by the Switch follow RFC 2362.

<Structure of this section>

(1) PIM-SM messaging support spec

The following table describes supported specifications for PIM-SM messages.

Table 15-9 PIM-SM messaging support spec

Message type

Functionality

PIM-Hello

Detecting nearby PIM routers

PIM-Join/Prune

Joining and pruning multicast delivery trees

PIM-Assert

Determining the forwarder

PIM-Register

Performing IP encapsulation to rendezvous points for multicast packets

PIM-Register-stop

Suppressing Register messages

PIM-Bootstrap

Determining the BSR and distributing rendezvous point information.

PIM-Candidate-RP-Advertisement

Reporting local rendezvous point information from the rendezvous point to the BSR

(2) Operation

Each PIM-SM router reports information learned using IGMP to rendezvous points. Rendezvous points acknowledge the existence of each group by receiving group information from each PIM-SM router. Therefore, PIM-SM first forms a delivery tree of rendezvous points based on sender in order to deliver multicast packets from sender networks to all group members via the rendezvous points. It then uses existing unicast routing information to form a shortest-path delivery tree from senders, to arrive at the shortest path from the senders to each group. This is how it performs multicast packet forwarding from senders to each group member over the shortest path. The following figure provides an overview of PIM-SM operation.

Figure 15-7: Summary of PIM-SM Operation

[Figure Data]

(a) Rendezvous Point and Bootstrap Router (BSR)

Rendezvous point and bootstrap routers (BSRs) can be set up through configuration. The Switch can use a maximum of 16 BSRs in each network (VPN). The BSR reports the IP address and other rendezvous point information to all multicast interfaces. These notifications are reported hop by hop to all multicast routers. For the Rendezvous Point router and the router other than BSR, set PIM for the Rendezvous Point router and BSR interface. The following figure shows the roles of rendezvous points and BSRs.

Figure 15-8: Roles of the rendezvous point and bootstrap router (BSR)

[Figure Data]

In this figure, the BSR (PIM-SM router C) reports rendezvous point information to all multicast interfaces. Routers receiving rendezvous point information learn the IP address of rendezvous points, and report rendezvous point information to all interfaces for which multicast routers exist other than the received interface.

(b) Notification of group participation information to the rendezvous point

Each router reports the group joining information learned by IGMP to rendezvous points, which use this information to understand the existence of groups for each interface. The following figure shows how group joining information is reported to rendezvous points.

Figure 15-9: Notification of group join information to a rendezvous point

[Figure Data]

In this diagram, each host joins group 1 using IGMP. PIM-SM router D and PIM-SM router E learn information about group 1, and report this information to the rendezvous point (PIM-SM router C). The rendezvous point (PIM-SM router C) receives this information, and learns that group 1 exists on the interface from which reception occurred.

(c) Multicast packet communication via rendezvous point (encapsulation)

When sender S1 sends a multicast packet bound for group 1, PIM-SM router A IP-encapsulates the multicast packet (creating a Register packet) and sends it to the rendezvous point (PIM-SM router C), because the IP address of the rendezvous point was learned in (a). When the rendezvous point (PIM-SM router C) receives the IP-encapsulated packet, it decapsulates the packet and forwards the multicast packet bound for group 1 to the interface on which group 1 exists, because the existence of group 1 was learned in (b). When PIM-SM router D and PIM-SM router E receive the multicast packet bound for group 1, the packet is forwarded to the interface on which group 1 exists, because the existence of group 1 was learned by IGMP in (b). The following figure shows multicast packet communication (encapsulation) via rendezvous point.

Figure 15-10: Multicast packet communication via rendezvous point (encapsulation)

[Figure Data]

(d) Multicast packet communication via rendezvous point (Decapsulation)

When the rendezvous point (PIM-SM router C) receives IP-encapsulated packets, it decapsulates them and forwards the multicast packet bound for group 1 to the interface on which group 1 exists.

After this processing is completed, the rendezvous point reports information about group 1 to the sending server over the shortest path. When PIM-SM router B and PIM-SM router A receive information about group 1, they learn that group 1 exists on the interface from which the information was received. PIM-SM router A forwards to the corresponding interface all multicast packets bound for group 1 as sent by the sending server, without performing IP encapsulation. When PIM-SM router B, PIM-SM router C, PIM-SM router D, and PIM-SM router E receive multicast packets bound for group 1, they forward them to the interface on which group 1 exists. The following figure shows multicast packet communication (decapsulation) via rendezvous points.

Figure 15-11: Multicast packet communication via rendezvous point (decapsulation)

[Figure Data]

(e) Shortest-path multicast packet communication

When PIM-SM router D and PIM-SM router E receive multicast packets bound for group 1 from the sending server (as explained in (c)), PIM-SM router D and PIM-SM router E report information about group 1 to sender S1 over the shortest path (based on the existing unicast routing information). When PIM-SM router A receives information about group 1 from PIM-SM router D and PIM-SM router E, it learns that group 1 exists on the interface from which the information was received, and when it receives multicast packets bound for group 1 from the sending server, it forwards them to the corresponding interface. The following figure shows multicast packet communication for shortest paths.

Figure 15-12: Multicast packet communication with the shortest path

[Figure Data]

(f) Pruning a multicast delivery tree

When a host leaves group 1 over IGMP, PIM-SM router D reports pruning information for group 1 to interfaces to which information about group 1 was being reported. When PIM-SM router A receives a pruning notification for group 1, it stops forwarding multicast packets bound for group 1 to the interface from which the information was received. The following figure shows multicast delivery tree pruning.

Figure 15-13: Cropping a multicast delivery tree

[Figure Data]

(g) Election of Rendezvous Point

If more than one rendezvous point candidate exists, the rendezvous point is selected according to the selection algorithms described in RFC2362 and RFC4601. The rendezvous point selection algorithm is specified in the configuration command ip pim rp-mapping-algorithm. Note that the rendezvous point election algorithm must be the same in the network.

The following tables show the selection conditions for RFC2362 and RFC4601 rendezvous points and the priorities of the selection conditions.

Table 15-10: Rendezvous point selection conditions

Elected items

Conditions for Election

Priority

RFC2362

RFC4601

Group address managed by the rendezvous point

Longest match

-

1

Rendezvous point priority*1

Minimum

1

2

Hash value of rendezvous point*2

Maximum

2

3

IP address of the Rendezvous Point.

Maximum

3

4

Legend:-: No condition

Note #1

If the Switch is a rendezvous point candidate, you can specify it in the configuration command ip pim rp-candidate.

Note #2

This is the hash function calculated from RFC2362 and RFC4601.

(3) Neighbor Detection

PIM-SM routers regularly send PIM-Hello messages to all interfaces capable of multicast. PIM-Hello messages are sent to the address for the All-PIM-RoutersIP multicast group (224.0.0.13). When these messages are received, neighboring PIM routers can be dynamically detected. The Switch supports the Generation ID option for PIM-Hello messages (in accordance with RFC 4601 and draft-ietf-pim-sm-bsr-07).

A Generation ID is a 32-bit random number for each multicast interface that is appended when PIM-Hello messages are sent. Generation IDs are regenerated when the status of the multicast interface changes to Up. When the Generation ID option is added to a received PIM-Hello message, the Generation ID is recorded to enable neighboring switches to detect interface failure when the Generation ID changes. When a Generation ID change is detected, updates to neighbor switch information, PIM-Hello messages, PIM Bootstrap messages, and PIM Join/Prune messages are sent without waiting for regular advertisements. This process allows multicast routing information to be relearned quickly.

(4) Determining Forwarder

If multiple PIM-SM routers are connected on the same LAN, multicast packets might be duplicated and forwarded on the network.

If multiple PIM-SM routers exist on the same LAN, and two or more of these routers forward multicast packets to the LAN, the PIM-SM routers use PIM-Assert messages to compare the multicast path preferences and metrics, and choose the most appropriate router on the sender network as the forwarder.

Only the router that becomes the forwarder forwards multicast packets on the LAN, in order to prevent duplicate multicast packet forwarding.

The flow for determining the forwarder by PIM-Assert messages is as follows:

  1. Preferences are compared, and the router with the lowest value becomes the forwarder.

  2. If the preferences are the same, the metrics are compared, and the router with the lowest value becomes the forwarder.

  3. If the metrics are the same, the IP addresses of the routers are compared, and the router with the highest IP address becomes the forwarder.

The Switch sends PIM-Assert messages with the multicast path preference fixed at 101, and the metric fixed at 1024. However, for direct connections with a sender, PIM-Assert messages are sent with the preference and metric both fixed at 0.

The following figure shows how the forwarder is determined.

Figure 15-14: Decision Forwarder

[Figure Data]

(5) Determining and Working with DR

If multiple PIM-SM routers exist on the same LAN, a forwarding delegate router (DR) for the LAN is determined. PIM-SM router with the largest primary IP on that interface becomes DR. The DR reports group-joining information from the receiving host and reports it to the rendezvous point. The DR IP-encapsulates multicast packets sent by the sending server, and then sends them to the rendezvous point. The following figure shows DR operation.

Figure 15-15: DR operation

[Figure Data]

The IP addresses of PIM-SM router A and PIM-SM router B are compared, and if that of PIM-SM router B is higher, PIM-SM router B becomes the DR and reports group joining information to the rendezvous point. Likewise, the IP addresses of PIM-SM router D and PIM-SM router E are compared, and if that of PIM-SM router E is higher, PIM-SM router E becomes the DR and forwards IP encapsulated packets to the rendezvous point.

(6) Notes on Redundant Routes

Keep in mind that multicast packets are not forwarded in redundant configurations such as that shown in the figure below. PIM settings are required for all routers on any redundant routes.

Figure 15-16: Notes on redundant routes

[Figure Data]

(7) Additional functions of PIM-SM

(a) Bootstrap message reception suppression function

When a new network is configured in the multicast network that is in operation and when the BSR candidate is incorrectly set, the BSR candidate becomes the main BSR and might stop the multicast communication in the entire connected multicast network.

This functionality discards the PIM-Bootstrap message that was sent from the newly configured network with an invalid setting, by setting the ip pim accept-bootstrap configuration command on the interface that is connected to the new network. This enables protection of the multicast network that is currently in operation. The following figure shows the operation of this functionality:

Figure 15-17: Operation of the bootstrap message reception suppression facility

[Figure Data]

The Switch on the network boundary discards the PIM-Bootstrap message sent from the BSR candidate on the newly configured network. This allows you to prevent forwarding the PIM-Bootstrap message from the new network to the existing network. On the other hand, the PIM-Bootstrap message sent from the existing network will be forwarded to the new network.

(8) PIM-SM Timer

The following table describes the timer values used by PIM-SM.

Table 15-11: PIM-SM timer

Timer name

Description

Default value (in seconds)

Depending on the configuration

Setting range (seconds)

Remarks

Hello-Period

Hello sending interval

30

5~3600

-

Hello-Holdtime

Adjacency retention period

105

3.5 x Hello-Period

Calculated based on the formula to the left.

Assert-Timeout

Assert-based forwarding suppression period

180

-

-

Join/Prune-Period

Join/Prune sending interval

60

30~3600

A variance as high as +50% might occur.

Join/Prune-Holdtime

Retention period for routing information and forwarding destination interfaces

210

3.5 x Join/Prune-Period

Calculated based on the formula to the left.

Deletion-Delay-Time

Duration of multicast forwarding destination interfaces after receiving OOA#1

1/3 x Join/Prune-Holdtime

0~300

#2

Data-Timeout

Forwarding entry retention period

210

0 (infinite),

60~43200

A gap of as much as +90 seconds might occur.

Register-Supression-Timer

Encapsulation sending suppression period

60

-

A variance as high as 30 seconds might occur.

Probe-Time

Time for sending restart checks for encapsulation sending

5

5~60

With the default of 5 seconds, a restart check (Null-Register) for encapsulation sending is sent once, 5 seconds before Register-Suppression-Timer is up.#3 #3

C-RP-Adv-Period

Notification interval for rendezvous point candidates

60

-

-

RP-Holdtime

Rendezvous point retention period

150

2.5 x C-RP-Adv-Period

Calculated based on the formula to the left.

Bootstrap-Period

BSR message send interval

60

-

-

Bootstrap-Timeout

BSR message retention period

130

2 x Bootstrap-Period+10

Calculated based on the formula to the left.

BS_Rand_Override

BSR switching delay

5~23

-

-

Negative-Cache-Holdtime

(PIM-SM)

Negative cache retention period

210

10~3600

For PIM-SSM, this is fixed at 3600

Legend:-: Not applicable

Note #1

A configured timer value is used if it set in the configuration, however, to the forwarding destination interface, set a value that does not exceed the Join/Prune-Holdtime value included in the PIM-Join/Prune message received with the last Join as the retention period in the interface.

Note #2

Because the value set in the configuration is given priority for this timer value, operation differs from the standard in RFC 2362. However, if no value is specified in the configuration, operation complies with RFC 2362.

Note #3

If this timer value is set to 10 or more, the restart check for encapsulation sending is sent multiple times every five seconds. If no value is specified in the configuration, the check is sent only once.

(9) Notes on using PIM-SM

Keep the following limitations in mind when configuring a network using PIM-SM. The Switch conforms to RFC 2362 (the PIM-SM specification), but differs from some parts of the RFC due to software functionality limitations. The following table describes the differences with the RFC.

Table 15-12: Difference from RFC

Item

RFC

Switch

Packet

format

The RFC contains a field for setting a mask length for the encoding group address and encoding source address.

The mask length of encoding addresses is fixed at 32 for the Switch.

The RFC contains fields for setting the address family and encoding type for encoding group addresses and encoding source addresses.

The address family for encoding addresses is fixed at 1 (IPv4), and the encoding type is fixed at 0 for the Switch. Cannot connect with a PIM-SM other than IPv4.

The RFC contains a field for setting the PIM version of a PIM message header.

The PIM version is fixed at 2 for the Switch.

Connections to PIM version 1 cannot be established.

Join/Prune fragments

Join/Prune messages can be fragmented even when exceeding the network MTU.

If the size of Join/Prune message to be sent is large, the Switch sends it in 8192 octets. Also, Join/Prune messages split before sending are sent using IP fragments based on the network MTU length.

Connections to PMBR

The RFC contains a specification for connections to PMBRs (PIM Border Routers) and for (*, *, RP) entries.

The Switch does not support connections to PMBR. Also, (*, *, RP) entries are not supported.

Switching to shortest paths

The RFC contains a switching method based on the data rate for switching to the shortest path.

When the Switch first receives data for the last-hop-router, it switches to the shortest path without checking the data rate.

Sending and receiving Join/Prune messaging

(Send and receive S,G)RPT=1 Prune messages only.

(Send and receive S,G)RPT=1 Join/Prune messaging.