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