0:00
In today's lesson we discuss multicast routing and it's a foundation broadcast.
Previously, we discussed the many routing mechanisms that
assume a given source transmits its packets to a single destination.
But in some circumstances, such as teleconferencing,
a source may want to send its packets to multiple destinations simultaneously.
This calls for another type of routing called multicast.
As illustrated in the figure,
source S wants to transmit to jet destinations with multicast group G1.
Though you can send each copy of the packet separately
to each destination using conventional unicast routing,
a more efficient method would be to minimize the number of copies.
For example, when router one receives a packet from the source,
it copies a packet to routers two and five simultaneously.
Upon receipt of these packets router two forwards the packets to its local network.
And the router five copies the packets to routers seven and eight.
The packets will eventually be received by each intended destination.
There are many ways to generate a multicast tree.
One approach that is used in multicast backbone is called reverse-path multicasting.
The easiest way to understand a reverse-path multicasting is by
first considering a simpler approach called reverse-path broadcasting.
Which you use is the fact that as a set of shortest paths to
a node forms a shortest path tree that spans the network.
Assuming that each router already knows the current shortest path to a given destination,
the operation of reverse-path broadcasting is quite simple.
Upon receipt of a multicast packet,
a router further records the source address of the packet and the port it arrives on.
If the shortest path from the router back to the source is through the same port,
we call it parent port the packet arrives on.
The router forwards a packet to all other ports except as a one packet arrive on.
Otherwise that router drops a packet.
The advantage of this approach is that each packet is forwarded a router exactly once.
The basic assumption underlying
the algorithm is that is the shortest path from the source to
a given router must be the same as the shortest path from the router back to the source.
This assumption [inaudible] each link to be symmetric.
Let's see an example: the port over which the router expects to
receive multicast packets from a given source is referred to as a parent port.
The figure shows the spanning tree of shortest paths to
a node S and parent ports are shown in color red.
First, router one receive a packet on port one from
source S. Because the packet comes from the parent port,
the router copies the packet to all other ports.
Assume these packets reach routers two,
three, four, and five.
Router two computes the shortest path from intercept
to s and finds that parent port is one.
Due to the match it copies the packet as through to all other ports.
Similarly, routers three, four,
and five find and that as a packet arrives on the parent port,
as a result, each router copies a packet to its other ports as shown in the figure.
Note that the bidirectional link indicates that
each router forwards a packet to the other.
Next, let's assume that as the packets arrive at routers two, three, eight.
Because the router two receives the packet from port four which is not its parent port,
router two drops a packet.
Routers three, four, and five also drop the packets for the same reason.
Router six, however, finds that the parent port is port one.
So it copies a packet coming from router four to its other ports.
The packet that came from router five to router six is dropped.
Router seven and eight copies the packet that
came from router five and forward it to other ports.
The figure illustrates this process.
Please verify that as a packet will no longer be propagated after this point.
Note that although the hosts connected to
routers three and six belong to different multicast groups,
the packets for group G one are still forwarded by these routers.
Unnecessary bandwidth is wasted,
regardless of the multicast group.
This problem can be solved by having the router truncate its transmission to
the local network if none of the hosts
attached to the network belong to the multicast group.
This refinement is called truncated reverse-path broadcasting.
The Internet Group Management Protocol, IGMP,
allows a host to signal its multicast group membership to its attached router.
A multicast router periodically issues an IGMP query message,
to check whether there are hosts belonging to multicast groups.
Routers determine which multicast groups are associated with a certain port.
Routers only forward packets on ports that have hosts belonging to the multicast group.
Briefly speaking, reverse-path multicasting is
an enhancement of truncated reverse-path broadcasting.
But unlike truncated reverse-path broadcasting,
reverse-path multicasting forwards a multicast packet only
to a router that will lead it to a leaf router with group non-members.
To do so, it relies on IGMP to identify multicast group memberships.