120
Neighbor discovery
In a PIM domain, a PIM router discovers PIM neighbors and maintains PIM neighboring relationships
with other routers. It also builds and maintains SPTs by periodically multicasting hello messages to
all other PIM routers (224.0.0.13) on the local subnet.
Every PIM-enabled interface on a router sends hello messages periodically, and thus learns the PIM
neighboring information pertinent to the interface.
SPT building
The process of building an SPT is the flood-and-prune process.
1.
In a PIM-DM domain, when multicast source S sends multicast data to multicast group G, the
multicast packet is first flooded throughout the domain. The router first performs an RPF check
on the multicast packet. If the packet passes the RPF check, the router creates an (S, G) entry
and forwards the data to all downstream nodes in the network. In the flooding process, an (S, G)
entry is created on all routers in the PIM-DM domain.
2.
Nodes without receivers downstream are pruned. A router having no receivers downstream
sends a prune message to the upstream node. The message notifies the upstream node to
delete the corresponding interface from the outgoing interface list in the (S, G) entry. Then, the
upstream node stops forwarding subsequent packets addressed to that multicast group down
to this node.
NOTE:
•
An (S, G) entry contains the multicast source address S, multicast group address G, outgoing
interface list, and incoming interface.
•
For a given multicast stream, the interface that receives the multicast stream is called
"upstream," and the interfaces that forward the multicast stream are called "downstream."
A prune process is first initiated by a leaf router. As shown in
, a router without any receiver
attached to it (the router connected with Host A, for example) sends a prune message. This prune
process goes on until only necessary branches are left in the PIM-DM domain. These branches
constitute the SPT.
Figure 40 SPT building
The flood-and-prune process takes place periodically. A pruned state timeout mechanism is provided.
A pruned branch restarts multicast forwarding when the pruned state times out and then is pruned
again when it no longer has any multicast receiver.
Source
Server
Host A
Host B
Host C
Receiver
Receiver
Multicast packets
SPT
Prune message