- RFC 4601
- Uses ‘Pull’ model or explicit join.
- Uses two tree types:
- RPT – Shared tree
- SPT – Shortest Path tree
- NOTE
- Dense mode uses only SPT
- More scalable and usually better design choice then Dense mode.
- Dense mode basically legacy.
- Multicast tree determines how traffic is routed from sender to receiverS.
- Source based tree
- Uses shortest path from sender to receiver.
- Dense mode or sparse mode
- Shared trees
- Uses shortest path from sender Rendezvous Point, then shortest path from RP to receiver.
- Sparse mode only
- Used for the following:
- Eliminate flooding
- Eliminate pruning
- Making routing table more scalable.
- Sparse Mode Operations:
- Discover PIM neighbors and elect Designated Router.
- Discover RP
- Tell RP about sources.
- Tell RP about receivers.
- Build Shared Tree from Sender to Receivers through RP.
- Join shortest path tree.
- Leave shared tree.
- Multicast Table Maintenance.
- Rendezvous Point:
- Used as reference point for root of shared tree.
- Learns about sources from Unicast PIM Register messages.
- Register message gives PIM an (S,G)
- Learns about receivers through PIM Join messages.
- Join message tells RP to add interface to OIL for (*,G)
- Used to merge the two trees together.
- Without RP, there will be zero registers and joins in PIM sparse mode.
- As Root of all shared trees, RP must know all sources.
- More operations:
- When first hop router connected to sender hears traffic, a unicast Register is sent to RP.
- Only DR sends register if multiple multicast routers available.
- If RP accepts, it acknowledges with Register Stop and inserts (S,G) into Multicast table.
- At this point only DR and RP know (S,G) mapping.
- PIM Join
- When last hop router receives IGMP Report, a PIM Join is generated up reverse path (tree) to RP.
- All routers in reverse path install (*,G) and forward the Join hop-by-hop to the RP.
- At this point all downstream routers toward receiver know (*,G).
- Merging Trees
- Once RP knows (S,G) from sender and (*,G) from receivers, RP sends PIM Join up reverse path to source.
- All routers in between RP and source install (*,G) with outbound interface list pointing towards RP.
- Once (S,G) begins, tree is built end to end through RP.
- SPT
- Shared tree is made of two Shortest Path Trees.
- SPT from RP to sender
- SPT from receiver to RP
- SPT from receiver to sender (both combined) may not be same as shared tree.
- result is shared tree not optimal.
- Fix
- Last hop router joins SPT to source with (S,G) Join.
- Leaves RPT by sending (*,G) Prune to RP
- Can be modified with ‘ip pim spt-threshold’.
- Shared tree is made of two Shortest Path Trees.
- When first hop router connected to sender hears traffic, a unicast Register is sent to RP.
- Routing Table Maintenance:
- PIM Dense and PIM Sparse use State Refresh to ensure feeds to not timeout.
- (*,G) join sent to RP or up SPT to refresh the OIL.
- Sparse Prune message can be used to speed up state information timeout if IGMP Leave is heard from end point.
- PIM Dense and PIM Sparse use State Refresh to ensure feeds to not timeout.