Protocol Independent Multicast (PIM)

Protocol Independent Multicast (PIM)

Protocol Independent Multicast (PIM) is another type of multicasting routing protocol. The term protocol independence means that the users can choose any unicast IP routing protocol. It also works in tandem with IGMP and other unicast routing protocol. Figure below shows its connection with IGMP. From the video server and the local router, there is only unicast, multicast is later on implemented by IGMP from the multicast router to the network switch to the video client.

Mutlicast Traffic

PIM does not specify the path to each destination and only an arbitrary routing protocol can be used. PIM is innovative and unique in that it uses both dense and sparse modes which make it more flexible than other multicast routing protocol. Hence, PIM uses IP unicast routing and not a separate multicast routing table. Furthermore, the IP unicast routing table is in itself an independent routing protocol because one or more routing protocols can be used for it to populate the single table. PIM operates in two modes depending on the density of members of a multicast group.

PIM dense mode uses a push method to move simulcast packets through a network. A multicast router sends all multicast traffic in various interfaces until another device initiate pruning. A router under PIM dense mode that receives a multicast from a source to a group and verifies the standard unicast routing table to the incoming interface and use this to send unicast packets towards the source.  If it does not receive multicast from a source, it drops the packets and sends a reply via a prune message. On the other hand, if it receives a confirmation from a source, the router forwards a copy of the packet to send back prune message for the source or group destination pair. This mode is best for the environment with large multicast groups with the high possibility that any given LAN has a group member which can limit the router’s need to send prune messages.

On the other hand, sparse mode uses a pull method to move multicast packets within the network. Network branches that have active receivers are the only segments to receive multicast traffic. Many multicast routers that join and leaves of a multicast group are pruned as necessary. Sparse mode uses the shortest path trees (SPT) architecture and shared tree distribution and rendezvous point (RP) router acts as the root of the shared tree. Rather than allowing traffic to be sent away just like dense mode does, sparse mode defines the RP which then provides registration service for a multicast group.

Protocol-Independent Multicast is a family of multicast routing protocols for Internet Protocol networks that provide one-to-many and many-to-many distribution of data over a LAN, WAN or the Internet. It is termed protocol-independent because PIM does not include its own topology discovery mechanism, but instead uses routing information supplied by other routing protocols. Know more with this video below:

 

PIM
ENTER

 

PIM dense mode has a simpler approach towards IP multicasting routing. The basic assumption is that each multicast packet stream has receivers at more than one location. While PIM sparse mode sends multicasts when it is requested to do so, dense mode floods to multicast traffic and only stops when it receives prune or stop message. On the other hand, PIM sparse mode is more efficient in grouping members geographically in the networks that for groups with high density. This is made possible by having sparse mode send the data to rendezvous point only and not to the entire network unlike dense mode does.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s