PIM Sparse mode

PIM Sparse mode

Ask and ye shall receive

  • It addresses many of the scaling issues of PIM Dense Mode
  • The major difference is in the idea of "Implicit Join" now discarded.
    • A receiver must explicitly choose to join a multicast stream
    • If PIM-DM was "Push" model, PIM-DM is referred as "pull" model
  • Although they share names, PIM-DM and PIM-SM should be treated as very different protocols
    • Different Priorities
    • Different mechanisms
    • They do share some packet formats
Initial Signaling
  • Just like anu multicast routing protocol, the end goal for PIM-SM is to bring the source's traffic to interested receivers
    • To enable this to occur, the first step is to locate the sources and receivers
  • Sources
    • Signal to the FHRs about their existence
    • Occurs completely in data plane
  • Receivers
    • Signal to the LHRs about their existence
    • Either dynamically via IGMP or statically via interface configuration.
After initial Signaling
  • PIM-SM's Challenge: 
    • Connect the FHRs to the LHRs
Rendezvous Point
  • The FHRs know about the source, LHRs know about the receivers
    • One way would be for them to sent it to each other directly
      • Scaling nightmare on many different levels
  • Simpler solution - "Central registry" or Redezvous Point (RP)
    • Idea is very simple - pick one multicast enabled router in the network and assign it special duties
      • It should receive MC state information from both FHRs and LHRs
      • It should compare this information and work to connect them if needed be
  • FHRs; LHRs and the RP should all agree on who is the RP
  • Almost any MC enabled router can be selected to perform RP duties
    • Only stipulation is that all MC routers must be informed about it.
LHR with interested Receivers (Join/prune message to the RP)

Once an LHR creates a (*,G) state, it can start the PIM signaling process\
  • PIM trees are built from the leaves towards the root
    • RP is considered to be the root for the (*,G) tree (or RP tree or Shared tree)
  • LHR sends a join/Prune message (Join version)
  • Sent  upstream on the RPF interface for the RP IP
    • Processed hop-by-hop, directed towards the RP by each router between the LHR and RP
  • Each router also creates a (*,G) state (if one did not exist previously)
    • Tree is being built in reverse, from the leaves, to the root
    • Interface receiving the join is included in the OIL
    • RFP interface to the RP becomes the IIF
FHR Joining/Pruning
  • LHR method to join a PIM tree is the join/prune messages
  • This is not good solution for disseminating information about sources
    • Join/prune messages were designed to build the tree from leaves towards the root - i.e message is sent upstream repeatedly
    • Since the source is already the root, it is already at the top of the stream
    • Nowhere further up to send the message.
FHR to RP Communication
  • FHR simply inform the RP about the stream - i.e about the source and the MC group, (SG)
    • Then the RP has the ability to use the Join/Prune mechanism to build a tree from itself to the source
    • Furthermore, the RP would build this tree only if it was required 
      • In other words, the RP would not have to build trees to source of group no receivers ere interested in.
  • This is exactly the purpose of the PIM register message
    • One of the few unicast message in PIM
      • Source IP - FHR's IP
      • Destination IP - RP's IP
      • Content - Information about the (S,G) (Plus some a few things)
  • Each MHR simply routes/forwards the packet as it would any unicast packet
  • The message is not processed by the MHRs
RP's on-demand Join
  • Once the RP has the (S,G) from the FHR it joins the (S,G) to first receive the multicast packets
    • It can use the join/prune mechanism as it is a leaf for the SPT
  • PIM trees are built from the leaves towards the root
    • FHR is considered to be the root for an (S,G) tree (Source Tree or Shortest Path Tree)
  • RP sends a join/prune message (join version)
  • Sent upstream on the IIF (RPF interface for the source's IP)
    • Processed hop-by-hop, directed towards the FHR by each router between the RP and FHR
  • Each middle hop router (MHR) creates an (S,G) state (if one did not exist previously)
    • Tree is being built in reverse, from the leaf to the root
    • Interface receiving the join is included in the OIL
    • RPF interface to the FHR (or source) becomes the IIF
Multicast traffic flow
  • As the (S,G) join is received by the FHR, it adds the incoming interface to the OIL of the (S,G) state.
    • It now starts replicating (S,G) packets on the interface
  • MHRs will receive these packets on the IIF
    • Put through the RPF check (which they should pass)
    • Replicate them on the OIL
  • The packets will eventually reach the RP
    • RP will replicate them on the (*,G) tree(s)
    • Same process as above repeats on the MHRs between RP and LHR
  • LHR receives the packets and delivers them to the receivers
======================Advanced PIM Sparse Mode======================

Hello Message

  • Both PIM modes require the establishment of the neighbor adjacencies through the network.
    • Leads the creation of the base multicast tree
      • Topology of links where multicast traffic can flow
    • Routed multicast traffic will only flow between two directly connected PIM nodes
    • Note: Can be radically different from the UC routing topology
  • PIM uses Hello messages to discover directly connected neighbors
    • Source IP - That of the directly connected interface
    • Destination IP - 244.0.0.13 (All-PIM-Routers)
    • IP protocol - 103
    • TTL - 1
    • Option carried as TLVs
    • Note: PIM SM routers can become adjacent with PIM DM routers 
PIM DR

  • PIM elects a DR for every multi-access segment
  • DR election is a requirement of the PIM-SM protocol
  • A DR serves two functions depending on its placement
    • Segments with MC senders (FHR Segment)
      • DR is responsible for sending the PIM register message to the RP
    • Segments with MC receivers (LHR segment)
      • DR is responsible for sending the PIM join message towards the RP
  • PIM-SM uses the DR priority option in the hello message
    • Highest priority preferred
    • Highest IP used for tie-breakers

  • PIM Join/Prune Message
    • The most important PIM Message
      • No separated Prune Message
      • Used in both PIM DM and SM
      • Capable of signaling both Joins and Prunes.
        • Message only used for pruning in PIM DM
        • Joins in PIM DM are implicit
      • Join messages are processed hop-by-hop in the PIM topology
        • Destination IP - 224.0.0.13 
        • IP protocol - 103
        • TTL - 1
  • (S,G) Join
    • The simpler of the two Join messages
    • Pre-requisite - The source must be known
      • The RP has that information after the source registration
      • The RP can use this message to build an SPT to the FHR
    • Upstream neighbor - RPF neighbor towards the source
    • MC Group - The desired group's IP
    • Joined M Source - The discovered source's IP
    • Each MHR performs an RPF check, processes the packet and then passes on to the RPF interface for the FHR
      • Each MHR also creates the (S;G) state
      • IIF and the OIL added or updated 
    • Finally the LHR adds the OIL to its (S,G) state

No comments:

Post a Comment

 EIGRP New