Explain
Multicast routing protocols in detail.
A host places a multicast address in the destination
address field to send packets to a set of hosts belonging to a group.
Internet
multicast can be implemented on physical networks that support broadcasting by
extending forwarding functions. The extended ones are:
o Link-State Multicast
o Distance-Vector
Multicast
o Protocol Independent Multicast (PIM)
Link-State
Multicast
Multicasting is added to the existing
link-state routing.
o Each router
knows entire topology by way of update messages.
o
Dijkstra's algorithm is used to compute
shortest path spanning tree to reach all destinations.
Each
router determines which groups have members on which LAN by monitoring the
periodical announcements.
o
If a host does not advertise
periodically, then it has left the group.
Equipped with group and membership knowledge, each
router computes shortest path multicast tree from any source to any group using
Dijkstra's algorithm.
Link-state routing is expensive as each router must
store a multicast tree from every source to every group.
Distance-Vector
Multicast
Multicasting is added to existing
distance-vector routing in two stages.
o
Each router maintains a table of (Destination,
Cost,
NextHop)
for all destination through exchange of distance vectors.
o Reverse Path
Broadcast mechanism that floods packets to other networks
o
Reverse Path Multicasting that prunes
end networks that do not have hosts belonging to a multicast group.
Reverse-Path
Broadcasting
A router when it receives a multicast packet from
source S to a Destination from NextHop,
then it forwards the packet on all out-going links.
The
drawbacks are:
o It floods a
network, even if it has no members for that group
o
Duplicate flooding,
i.e., packets are forwarded over the LAN by each router connected to
that LAN.
Duplicate flooding is avoided by
o
Designating a router on the shortest
path as parent router.
o
Only parent router is allowed to forward
multicast packets from source S to that LAN.
Reverse-Path
Multicasting
Multicasting is
achieved by pruning networks that do not have members for a group G.
Pruning is achieved by identifying a leaf network, which has only one
router (parent). The leaf network is monitored to determine if it has
any members for group G.
The
router then decides whether or not to forward packets addressed to G over that
LAN. The information "no members of G here" is propagated up
the shortest path tree.
Thus
routers can come to know for which groups it should forward multicast packets.
Including all this information in a routing update is expensive.