The PIM-DM protocol only needs to receive CACHE-MISS messages from the kernel.
Second, the SPT creation process
1. The Linux kernel protocol stack receives a multicast source S group broadcast and checks for the presence of the multicast item in the MFC table entry, and if not, the kernel generates an application-layer program (such as PIM-DM) on the CACHE-MISS message to receive the IGMP management message.
The 2.PIM-DM IGMP management message socket receives the CACHE-MISS message from the kernel, unpack the contents of the group broadcast, and then sends the MFC creation command to the kernel, creating the multicast S (S,G) routing table entry.
3. The generated (S,G) forwarding item out interface defaults to selecting all PIM-DM routing ports except the portal, so that the group broadcasts are forwarded from all other routing interfaces outside the portal.
4. PIM-DM cascading routes that receive the group's broadcasts also create corresponding (S,G) table entries, add the PIM-DM routing interface outside the portal to the table entry exit and the pruned port, and create the corresponding pruning timer.
5. Before the pruning timer expires, the group broadcast will be forwarded to all PIM-DM routes and interfaces. After the pruning timer expires, the pruning interface in the (S,G) table entry on the cascading route is removed from the exit so that the message cannot be forwarded.
The 6.PIM-DM route restarts the pruning process after the add-prune retention timer expires. To maintain the SPT tree.
7. Cascade routing joins the interface's corresponding routing port (S,G) to the exported and pruned ports after receiving the multicast recipient's join request. And at the same time send the graft (grafting message) to the upper route to notify the recipient information, the upper route received graft message will be sent to the packet receiver port (S , G) forwarding the exit and pruned to the mouth, followed by cascaded routing ibid. Until the source route is received, the SPT tree on the whole link is completed by grafting.
In summary: The above is PIM-DM, dense mode of the entire processing process, summed up is: source routing to all routing notices: I will give you this group to you first, you do not want to talk to me about Kazakhstan. Then the required route is kept silent, and the unwanted route tells the source route: This multicast I do not need, do not send me. After a period of time, the source route is afraid of other routers have information updates, and then asked once ...