1.6.c PIM

1.6c i Sparse Mode 

Instead of flooding multicast traffic to all potential receivers, PIM Sparse Mode builds explicit multicast distribution trees from the receivers to the sources.  To build an explicit tree to the source, receivers and sources should have a way to dynamically discover each other – Rendezvous Points. 

The biggest challenge facing PIM really is how receivers and sources can learn about each others existence to know where to send the traffic.  This is the role of the Rendezvous Point.  An RP will receive Multicast state information from both Sources and Receivers. 

PIM Sparse Mode Operation:

  1. Discover PIM neighbors & elect DR
  2. Discover RP
  3. Tell RP about sources (PIM register, unicast messages)
  4. Tell RP about receivers (PIM join)
  5. Build shared tree from sender to receivers through RP
  6. Join shortest path tree
  7. Leave shared tree
  8. Multicast table maintenance

1.6c ii Static RP, BSR, AutoRP 

Once an RP is chosen on the network, the rest of the network needs to know where the RP is. 

Static RP

A static RP is one that is manually configured on the non-RP participant on the multicast network. This would be configured with the command:

ip pim rp-address <ip address> [acl]

Auto RP

General configuration on ALL routers:

  • Enable multicast-routing
  • Enable ip pim autorp listener (the router will use dense mode only for the 224.0.1.39 and 224.0.1.40 addresses)
  • Enable ip pim sparse mode on all necessary interfaces
ip multicast-routing
ip pim autorp listener
interface X
 ip pim sparse-mode

The candidate RP is a router that announces itself that it wants to be an RP for the network. It does so by sending RP announcement packets to the 224.0.1.39 multicast address.

ip pim send-rp-announce <interface id> scope <ttl value> [<group-list acl>] [<time in seconds>]

The mapping agent listens to the RP announcement packets from our RP candidates and makes a list of all possible RPs. It will then elect an RP and informs the rest of the network with RP mapping packets that are sent to multicast address 224.0.1.40. When two candidate RPs want to become RP for the same group(s) then the mapping agent will prefer the RP with the highest IP address.

ip pim send-rp-discovery <interface id> scope <ttl>

BSR

The Bootstrap Router (BSR) is the open standard to Cisco’s AutoRP implementation and effectively does the same job.

General configuration on ALL routers:

  • Enable multicast-routing
  • Enable ip pim sparse mode on all necessary interfaces
ip multicast-routing
interface X
 ip pim sparse-mode

BSR uses two roles:

  • A Candidate BSR is a router that collects information from all the available RP’s in the network and advertises this throughout the network (think mapping agent in Auto RP). 
  • A Candidate RP is a router that advertises itself as wanting to become the RP.
! Candidate BSR
ip pim bsr-candidate <interface id>

! Candidate RP 
ip pim rp-candidate <interface id> [<group-list acl>] <priority>

1.6c iii Group to RP Mapping 

AutoRP automates the distribution of group-to-RP mappings in a PIM network.  To make AutoRP work, a device must be designated as an RP Mapping Agent (see command above).  The mapping agent will receive RP announcement messages from the RPs of the PIM network and will then arbitrate conflicts. The mapping agent will then send out the consistent group-to-RP mappings to all the other devices by way of dense mode flooding (you’ll get this traffic whether you asked for it or not). All routers therefore, automatically discover which RP to use for the groups they support. AutoRP uses two group addresses; 224.0.1.39 and 224.0.1.40. 

1.6c iv Bidirectional PIM (Bidir-PIM)

Where traditional multicast has one source and many receivers, Bidirectional PIM supports a multicast environment where the sources are also listeners and the listeners are also sources… Sounds complex, but in reality its easy to get your head around when you consider an environment for Video Conferencing.  All the participants in a Video Conference need to be able to talk and listen, all the while sending and receiving from all the other participants of the same conference.  In a Bidirectional PIM environment, there will never be (S,G) entries, only (*,G) entries. 

1.6c v Source Specific Multicast (SSM)

Traditionally, Multicast is known as Any Source Multicast (ASM).  It is based on a many-to-many model where the source can be anyone and only the group is known.  For some applications like stock exchanges, this is a good choice, but for IPTV usage, it makes more sense to use a Source Specific Multicast (SSM) as it will scale better when there is no need for a Rendezvous Point. 

SSM uses IGMPv3 to signal what channel (source) it wants to join for a group.  IGMPv3 can use INCLUDE messages that specify that only these sources are allowed or they can use EXCLUDE messages to allow all sources except for those listed. 

SSM uses 232.0.0/8 by default, but other ranges are configurable using an ACL e.g. 

access-list 1 permit 225.0.0.0 0.0.0.255 
ip pim ssm range 1 

1.6c vi Multicast Boundary, RP Announcement Filter 

Filtering multicast traffic has a couple of options open to us.  One option is to set the TTL to limit the number of hops the multicast traffic can travel, but this is unwieldy in large topologies.  We can also use an ACL in the command: ip multicast boundary <ACL>.  The added benefit of this, is that as well as filtering multicast traffic to a particular multicast group in a standard ACL, we have the option of using an extended ACL to filter based on source. 

On a Mapping Agent, we can also filter RP announcements from routers that fancy themselves as being the RP for the network with the command: ip pim rp-announce-filter rp-list <RP ACL> group-list <Group ACL>. 

1.6c vii PIMv6 Anycast RP 

Anycast RP is a mechanism that ISP backbones use for fast convergence when a PIM RP device fails. To allow receivers and sources to rendezvous to the closest RP, the packets from a source need to get to all the RP’s to find joined receivers. 

A unicast address is choses as the RP address.  This address is either statically configured or distributed using a dynamic protocol to all PIM devices throughout the domain.  A set of devices in the domain is chosen to act as RPs for this RP address – these devices are called the Anycast RP set.  Each device in the Anycast RP set is configured with a loopback interface using the RP address.  Each device in the Anycast RP set also needs a separate physical IP address to be used for communication between the RPs.  Each device in the Anycast set must contain the list of all the devices in the Anycast set. 

The RP address, or a prefix that covers the RP address is then injected into the unicast routing system inside of the domain. 

1.6c viii IPv4 Anycast RP using MSDP 

Usually, MSDP (Multicast Source Discovery Protocol) is used for inter-domain (different BGP AS) multicast deployments.  We can still use MSDP in an IGP environment though to provide resiliency for multicast deployments combined with Anycast. Anycast is one to nearest routing so multiple destinations will share the same address but will route to the closest one based on the IGP/BGP table. 

MSDP is used to advertise (S,G) pairs between RPs, it listens for PIM register messages about (S,G), then tells other RPs about (S,G) through an MSDP Source Active (SA) message. 

1.6c ix Multicast Multipath 

Multicast Multipath is essentially a load-balancing methodology simply enabled using the command: ip multicast multipath

Comments

So empty here ... leave a comment!

Leave a Reply

Sidebar