the server, and downstream links, being the ones 
pointing to the end hosts. 
Regarding a particular multicast router, when 
receiving some multicast traffic from its upstream 
router, it must somehow know if any end device is 
interested in receiving that flow through any of its 
downstream routers, or otherwise, if such end device 
is directly connected. The former task is performed 
by PIM, whereas the latter is done by IGMP. 
In order to get a proper modelling of both PIM 
and IGMP behaviour, their main features are going 
to be described in the following subsections. 
2.1  PIM Dense Mode 
This mode is used on multicast domains where most 
networks have devices that are willing to receive 
multicast traffic. This fact implies that most end 
users all over the network will be requesting the 
reception of that multicast stream. 
Therefore, multicast routers along the path 
forward multicast traffic on through all their 
interfaces until any of the routers requests to prune a 
particular interface, this is, to stop forwarding 
multicast traffic through that interface because it has 
no clients. Furthermore, if all interfaces in a router 
are pruned, that router will be pruned as well. 
PIM Dense Mode might be considered as a push 
method, in the sense that the source provides the 
multicast flow and all the routers along the path 
getting that flow will be flooding it through all their 
interfaces, unless they are pruned. 
In order to prevent multicast routing loops, 
Reverse Path Forwarding (RPF) check is put in  
place in order to make sure that the multicast flow 
gets into a router through the interface stated by the 
unicast routing table, as the way to get to the source.  
This fact allows the building of the Shortest Path 
Tree (SPT), also known as source-based distribution 
tree, where the root of that tree is the source, 
meaning that the preferred path for a multicast flow 
to distribute contents from a particular source is the 
shortest one. The usual notation for a source tree is 
[S,G], where S is the unicast source address and G is 
the multicast group address. 
Regarding the information embedded into PIM 
packets, there must be distinguished between 
synchronous and asynchronous packets. As per the 
time related ones, PIM Hello (PIM-H) messages are 
exchanged every 30 seconds, with a hold timer of 
105 seconds, whereas PIM State Refresh (PIM-SR) 
messages are sent every 180 seconds in order to 
keep the prune state interfaces, otherwise those 
interfaces will swap to forwarding state. 
With regard to the non-time related ones, PIM 
Prune (PIM-P) messages are sent when there are no 
clients interested in the multicast stream in a certain 
interface, PIM Graft (PIM-G) messages are sent if a 
previously pruned path is to be set in forwarding 
state again, bearing a PIM Graft ACK (PIM-GA) 
message back, whose waiting time is 3 seconds.  
2.2  PIM Sparse Mode 
Alternatively, this other mode is used on multicast 
domains where many networks have devices that are 
not willing to receive multicast traffic. This fact 
implies that few end users all over the network will 
be requesting the reception of that multicast stream, 
hence the former mode would be very inefficient. 
Therefore, multicast routers along the path 
forward multicast traffic on only through the 
interfaces which were explicitly requested to do so. 
PIM Sparse Mode might be considered as a pull 
method, in the sense that the end devices request the 
multicast flow to go from the source all the way 
down to them. 
This approach gets into trouble when it comes to 
locating the multicast sources as the client does not 
know how to reach them. In order to sort this out, 
PIM Sparse mode appoints a Rendezvous Point 
(RP), which is a network device managing the 
different sources available and the different hosts 
willing to get in touch with them.  
RP might be seen as the meeting point for 
multicast domain, in a way that a router receiving 
multicast traffic from the source will forward it on to 
the RP and each router wanting to receive such 
traffic will ask the RP for it. The RP might be 
appointed statically or by means of a specific 
protocol to dynamically discover it, but anyway all 
multicast routers get to know where it is located and 
how to reach it. 
This fact of joining the RP allows the building of 
the Root Path Tree (RPT), also known as shared 
distribution tree, where the root of the tree is the RP, 
meaning the path for a multicast flow to distribute 
contents from a particular source to a particular host 
is always based on the RP. The usual notation for a 
root tree is [*,G], where * represents any source, as 
all of them will pass through the RP, and G is the 
multicast group address. 
With regards to the path from source to RP, 
when a source wants to start forwarding multicast 
traffic, its directly connected router, also known as 
Designated Router (DR) for the source, sends the 
very first multicast packet encapsulated in a PIM 
Register (PIM-R) message headed for the RP. Upon