PG1X WIKI

My Knowledge Base

User Tools

Site Tools


tech:network:cisco:multicast:routing:pim:pim-sm:pim-sm

Multicast PIM-SM Introduction

PIM-SM

  1. Protocol-Independent Multicast Sparse Mode
  2. Explicit Join
  3. PIM-SM uses combination of Source Tree and Shared Tree
  4. PIM-SM create empty distribution tree
  5. Join Request, then add the router
  6. central of tree has RP (Rendezvous Point) router
  7. Receiver connected router registered to RP
  8. Sender sends multicast packet to RP, the traffic Receiver via RP, path information optimized
    1. unused hop removal
  9. Messages
    1. Receiver Join: (*, G) Join to RP
    2. Sender Register: (S, G) Register to RP
  10. Sender to RP: Source Tree
  11. RP to Receiver: Shared Tree
  12. RP centric multicast packet forward path is not SPT typically
  13. Switchover feature enables Sender and Receiver SPT
    1. LHR(Last Hope Router) recogznize sender IP address, then switchover.
  14. PIM-SM does not flooding multicast packet, forward receiver direction only, and enables shortest path communication by switchover feature.
  15. therefore, PIM-SM is recommended.
  16. RP is configurable each multicast groups.
  17. Also, single RP can be multiple multicast group RP.

(S, G) and (*, G)

  1. Sender to RP: Source Tree (S, G) entry
  2. RP to Rceiver: Shared Tree (*, G) entry
  3. PIM-SM also needs RPF check successful
    1. (S, G) entry determined RPF Interface by Sender IP address
    2. (*, G) entry determined RPF Interface by RP IP address

PIM Neighbor Detection

  1. PIM has
    1. PIMv1
    2. PIMv2
  2. This page assume PIMv2 typically used.
  3. Enable PIM-SM
  4. PIM-SM enabled interface send PIM Hello Message to 224.0.0.13 (ALL-PIM-Routers)
  5. same segment all PIM router every 30 sec.
  6. PIM must be enabled that router, sender, receiver connected I/F, all possible multicast packet path.
  7. PIM-DR election on multi-access network
    1. largest PIM DR priorities router
    2. smallest IP address router
  8. PIM DR router does following roles
    1. send PIM Join Message: create Shared Tree (*, G)?
    2. send PIM Register Message: create Source Tree (S, G)?

(*, G) entry

  1. flags: S
  2. (*, G) entry automatically created if following any condition satisfied
    1. When first (S, G) entry created
    2. Receive IGMP Membership Report from Receiver
    3. Receive PIM (*, G) Join Message
  3. RPF
    1. Incoming Interface: shortest path to RP IP address
    2. RPF nbr: PIM neighbor IP address for Incoming Interface direction
    3. at RP, Incoming Interface is Null, RPF nbr is 0.0.0.0
  4. OIL: following interfaces will be added
    1. PIM (*, G) Join Message receive interface
    2. Receiver exist interface
    3. ip gmp join-group, ip igmp static-group configured interface

(*, G) Join Message

  1. IGMP Membership Report (IGMP Join Message) received router create (*, G) entry
  2. PIM-DM also does same thing.
  3. PIM-SM after (*, G) creation done, send PIM (*, G) Join Message to RP direction
  4. PIM (*, G) Message received routers create (*, G) entry
  5. PIM-DM (*, G) OIL will registered PIM neighbor interface
  6. PIM-SM (*, G) OIL will registerd PIM (*, G) Join Message received interface
  7. So, PIM-SM not flooding multicast packet, alternatively PIM (*, G) Join Message explicit requested interface only forward multicast packet.

(S, G) entry

  1. (S, G) entry automatically created following any condition satisfied
    1. Receive multicast packet from Sender (First Hop Router)
    2. PIM (S, G) Join Message or PIM (S, G) Prune Message received
    3. Receive PIM Register Message (RP)
  2. RPF
    1. Incoming Interface: Shortest Path to Sender IP address
    2. RPF nbr: IPM neighbor IP address for Incoming Interface direction
  3. OIL following interfaces will be added exclude RPF I/F
    1. PIM (S, G) Join Message Received interface
    2. Receiver exist interface
    3. ip igmp join-group, ip igmp static-group configured interface

PIM (S, G) creation flow

(*, G) creation flow, refer to above.

PIM Register Message

  1. Sender send multicast packet
  2. If receive the multicast packet, FHR (Fisrt Hop Router) create (S, G) entry
  3. If (*, G) entry not exist, (*, G) also will be created
  4. (S, G) entry Incoming Interface is multicast packet received interface
  5. Outgoing Interface is currently not recognize Receiver, so set to Null
  6. So, currently FHR cannnot forward multicast packet

Next phase

  1. FHR send PIM Register Message that multicast packet capsuled by unicast packet.
  2. The multicast packet forward to RP (Rendezvous Point) by PIM Register Message.
  3. Finally, On RP PIM Register Message received, extract capsuled multicast packet and create (S, G) entry.
  4. RP forward by the (S, G) entry (?)

PIM (S, G) Join Message

  1. PIM Register request to create Source Tree (SPT: Shortest Path Tree) between RP and FHR
  2. RP send PIM (S, G) Join Message to Sender
  3. The PIM (S, G) Join Message received routers creates (*, G), (S, G) entry.
  4. Finally, PIM (S, G) Join Message reached to FHR, Outgoing Interface changed Null to interface for direction to RP

So, Source Tree (S, G) created above process: PIM Register Message, PIM (S, G) Join Message

  1. Now, Multicast traffic can be forwarded by Source Tree (S, G) from Sender to RP
  2. This time, PIM Register Message not required anymore.
  3. RP send PIM Register-stop Message to FHR by unicast packet
  4. When FHR receive Register-stop Message, will stop to send PIM Register Message

SPT Switchover

  1. PIM-SM Switchover feature enables SPT between Sender and Receiver
  2. LHR (Last Hop Router) will trigger this feature
  3. This feature assume (*, G) Shared Tree, (S, G) Source Tree already created.

Phase 1

  1. If multicast packet transport rate exceed SPT Threshold on LHR, set J flag to (*, G) entry
  2. Cisco router SPT Threshold default value is 0
  3. So, actually LHR set J flag when Receiver connected.
  4. LHR send PIM (S, G) Join Message to Sender hop by hop
  5. So, (S, G) entry and Source Tree created.

But this phase has multicast packet duplicate problem because Shared Tree, Source Tree multicast packet.

  1. Source Tree and Shared Tree boundary router send (S, G) RP-bit Prune Message to RP to stop multicast packet coming from Shared Tree
  2. Also RP send (S, G) Prune Message
  3. As a result, the multicast packet via RP stopped.
  • How about complex Source Tree with distributed Receivers?

Flags and expire timer

References

tech/network/cisco/multicast/routing/pim/pim-sm/pim-sm.txt · Last modified: 2021/05/27 13:51 by wnoguchi