Javis in action : Pim-DM 

 About PIM-DM

 The simulation showing PIM-DM

 

About PIM-DM:

Protocol Independent Multicast (PIM) is a multicast protocol which is not dependent on any unicast routing protocols. This independency makes PIM contrast to the traditional multicast routing protocols such as DVMRP and MOSPF. DVMRP is based on distance-vector unicast routing protocol. MOSPF is based on link-state unicast routing protocol.

There are 2 implemented modes of PIM: PIM dense mode (PIM-DM) and PIM sparse mode (PIM-SM or PIM). PIM-DM is suitable for an area which members of a multicast group are distributed densely. PIM-SM is developed for a situation that members of a multicast group are distributed sparsely in a network. This page is donated to PIM-DM.

PIM-DM is similar to DVMRP (source-based tree, broadcast-and-prune) except that it does not depend on distance-vector routing protocol. It means that even though the existing unicast routing protocol is the link-state protocol, this network can implement PIM-DM without changing the protocol.

A source (S) first broadcasts multicast packets (of a muticast group G) via all its interfaces. Then, any router which has no a member of this multicast group G attaching to it will send prune messages via all interfaces leading to the source. Prune messages will leave a prune entry at every router it passes. A prune entry (S,G,interfaces) consists of the specific source identifier (S) and the multicast group address (G) which it wants to prune. It will cause the router not to send any multicast packets from the specified source S (to G) down to this interface any more. When a new member (R) wants to join this multicast group G, it just sends join messages to its designated router telling it that "I want to join group G". This join message will be forwarded through all routers towards the source. It will discard prune entries which prohibits a multicast packet of G to be forwarded to R.

 

The simulation showing PIM-DM:

Tools:

1. Javis version 0.2 (Applet version)

2. ns version 2.1b6

Topology Desctiption: There are 10 nodes named "0", "1", "2", ..., "9" in the topology.

"1" is a sender.

"3", "5", "6" and "9" act as receivers of a multicast group G.

Link Description: There are ten duplex-links. The characterizations of every link are as follow:

1.5 Mb 10 ms DropTail

Assumptions:

1. There is only one multicast group in the network.

2. At time 0.3, "3" joins a group G.

3. At time 0.4, "6" joins a group G.

4. At time 0.5, "5" joins a group G.

5. At time 0.6, "9" joins a group G.

6. At time 0.8, "5" leaves a group G.

7. At time 0.9, "6" leaves a group G.

8. At time 1.0, "3" leaves a group G.

9. At time 1.1, "9" leaves a group G.

 

 

 File Name: test-mcast-PimDM-out.nam

Simulation Descriptions:

- At time 0.35, sender (node1) starts sending.

- At time 0.37224, node7 sends prune messages to node3 and node8 sends prune messages to node4.

- At time 0.382667, node 3 receives prune messges from node7 , node4 receives prune messges from node8 and node4 sends prune messages to node1.

- At time 0.39823, node9 sends prune messages to node6.

- At time 0.416027, node 9 sends prune messges to node5 and node6 receives prune messages from node9.

- At time 0.426453, node5 receives prune messages from node9 and node5 sends prune messages to node2.

- At time 0.5, node5 sends graft(join) messages to node2.

- At time 0.6, node9 sends graft(join) messgages to node5.

- At time 0.90487, at node3, a prune entry of node7 time-out. This causes some multicast packets can reach node7. Ultimately, node7 sends prune messages to node3 to prohibit multicast packets forwarded by node3.

- At time 0.91625, at node1, prune entries of node4 and node8 time-out. This causes node4 and node8 to resend prune messages for prohibiting multicast packets forwarded by their parents.

- At time 1.22, sender stop sending.