Unit 4 Multicast and Multicast Routing
Unit 4 Multicast and Multicast Routing
IP multicast application
IP multicast: abstraction of hardware multicast
IP multicast service model
IP multicast addresses
Link-level/hardware multicast
Mapping IP multicast to Ethernet
IGMP
Position of IGMP in TCP\IP
IGMP V2 message
Dynamics of IGMP message
IGMP V3 overview
Multicast router
Multicast routing overview
Multicast VS multiple unicast
Delivery tree
Multicast routing protocol
Source-Based tree (DVMRP (overview, Reverse Path Multicasting, Reverse Path
forwarding), MOSPF, PIM-DM)
Group shared tree (PIM-SM, CBT)
There are basically three modes of operation or packet delivery models namely unicast, broadcast and
multicast.
Unicast
a. In unicast, there is one source and one destination network. The relationship between the
source and the destination network is one to one.
b. Each router in the path of the datagram tries to forward the packet to one and only one of
its interfaces.
Broadcast
a. In broadcast communication, the relationship between the source and the destination is
one to all. There is only one source, but all of the other hosts are the destinations.
b. The internet does not explicitly support broadcast because of the huge amount of traffic it
would create and because of the bandwidth it would need. Imagine the traffic generated
in Internet if one person wanted to send a message to everyone else connected to the
internet.
Multicast
a. In multicast, there is one source and a group of destinations. The relationship is one to
many. In this type of communication, the source address is a unicast address, but the
destination address is a group address, a group of one or more destination networks in
which there is at least one member of the group that is interested in receiving the
multicast datagram.
b. The group address defines the members of the group. In multicasting, a router may have
to send out copies of the same datagram through more than one interface.
Anycast
Anycast is a network addressing and routing methodology in which data from a single sender are
routed to the topologically nearest node in a group of potential receivers, though it may be sent to a
several nodes, all identified by the same destination address. Example: Used in DNS query.
3. Dissemination of News:
In a similar manner news can be easily disseminated through multicast. Ine single message can be sent
to those interested in a particular topic. For example, the statistics of the championship high school
basketball tournament can be sent to the sports editors of many newspapers.
4. Teleconferencing
Teleconferencing involves multicasting. The individuals attending a teleconference all need to
receive the same information at the same time. Temporary or permanent groups can be formed for this
purpose. For example, an engineering group that holds meetings every Monday morning could have a
permanent group while the group that plans the holiday party could form a temporary group.
5. Distance Learning
One growing area in the use of multicasting is distance learning. Lessons taught by one single
professor can be received by a specific group of students. This is especially convenient for those
students who find it difficult to attend classes on campus.
IP Multicast: abstraction of hardware multicast
IP multicast is the internet abstraction of hardware multicast. It follows the paradigm of allowing
transmission to a subset of host computers, but generalizes the concept to allow the subset to spread
across arbitrary physical networks throughout the internet. In IP terminology, a given subset is known as
a multicast group.
Group address. Each multicast group is a unique class D address. A few IP multicast addresses
are permanently assigned by the Internet Authority, and correspond to group that always exist
even if they have no current members. Other addresses are temporary, and are available for
private use.
Dynamic group membership. A host can join or leave an IP multicast group at any time.
Furthermore, a host may be a member of an arbitrary number of multicast groups.
Use of hardware. If the underlying network hardware supports multicast, It uses hardware
multicast to send IP multicast. If the hardware does not support multicast, It uses a broadcast or
unicast to deliver IP multicast.
Delivery semantics. IP multicast uses the same best-effort delivery semantics as other IP
datagram delivery, meaning that multicast datagrams can be lost, delayed, duplicated, or
delivered out of order.
Membership and transmission. An arbitrary host may send datagrams to any multicast group;
group membership is used to determine whether the host receives datagrams sent to the group.
Multicast Vs Multiple Unicast
Multicasting starts with one single packet from the source that is duplicated by the routers. The
destination address in each packet is same for all duplicates. Note that only one single copy of the packet
travels between any two routers.
In multiple unicast, several packets start from the source. For example, if there are four
destinations, the source sends four packets, each with a different unicast destination address. Note that
there may be multiple copies travelling between two routers. The email software creates replicas of the
message, each with a different address and sends them one by one.
If there was no multicast, then a source would have to send a separate packet with the identical data to
each member of the group (multiple unicast)
This redundancy consumes more bandwidth
Redundant traffic is not evenly distributed, (concentrated near the sending host)
Multicast Group IP Range
Class D IP Address
i.e. 224.0. 0.0 to 239.255. 255.255.
Example 1:
Solution: The given IP address is 232.149.14.7. Since, we need lower 23 bits; expand in binary of lower
3 octets of given IP 128 64 32 16 8 4 2 1
lower 23 bits 149 1 0 0 1 0 1 0 1
14 0 0 0 0 1 1 1 0
232. 1 0010101. 00001110. 00000111 7 0 0 0 0 0 1 1 1
149 14 7
The Physical address is obtained by combining 01:00:5e: bit 0 with lower 23 bits of IP.
01:00:5E:0001 0101. 0000 1110. 0000 0111
1 5 0 14E 0 7
Answer: 01:00:5E:15:0E:07
Question: Calculate multicast MAC address for following IP address
i. 225.2.100.15
ii. 231.130.100.15
Note: We can have same Multicast Ethernet address for different 32 Multicast IPs.
IGMP is a communication protocol used by hosts and nearest multicast router on a network to
establish multicast group membership. IGMP is an integral part of IP multicast. IGMP is not a multicast
routing protocol; it is a protocol that manages group membership. IGMP runs between hosts and the
nearest multicast router. A local host can use it to inform the router which multicast group it wants to be
added in, while the multicast routers can use it to poll the LAN periodically, thus determine if known
group members are still active.
1. Hosts send messages to routers to subscribe (join) to and unsubscribe (leave) from a multicast
group defined by a given multicast address.
2. Routers periodically check which multicast groups are of interest to which hosts.
IGMP V2 messages
There are basically two types of IGMP messages: Membership query and Membership Report. There
is another optional message leave group. The Membership queries are of two types General and Specific
1. Membership Query:
a. General membership query: Sent regularly by routers to query all membership
b. Specific membership query: Sent by routers to query specific group membership
2. Membership report
3. Leave Group
IGMP snooping:
IGMP is an L3 protocol. Switches are L2. When a multicast L2 message comes in to a switch, it does not
know where the members are -> must flood on all ports. For large bridged networks, this may waste a lot
of bandwidth, especially for high bandwidth applications (eg IPTV). Switches may therefore listen to
IGMP messages, and prune/graft traffic based on this. This is called IGMP snooping.
IGMP operates locally, i.e., within a network. The Internet Group Management Protocol offers functions
that a station can use to inform the router assigned to it that it is to be included in a multicast group. On
the other hand, it enables the routers to remember outgoing interfaces of those receiver devices that are to
receive certain IP multicast data streams to be able to send specific reports as soon as corresponding data
is received.
Joining a Group – Router: A router also maintains a list of group-ids that show membership for the
networks connected to each interface. If a multicasting router receives a membership report from a device
attached to an interface for a network where there was not already interest, the router will issue a
membership report message to a device on the network that supplies the multicast packets for this group.
Router acts like host but group list is much broader (accumulation of all loyal members that are connected
to its interfaces).
Leaving a Group: There must be a mechanism for a device to report that it no longer wishes to have
membership in a group. When a host sees that no process is interested in a specific group, it sends a leave
report. When a router determines that none of the networks connected to its interfaces is interested in a
specific group, it sends a leave report about that group.
Monitoring membership: A host or router can join a group by sending a membership report message and
leave by sending a leave report message. However, sending these two types is not enough. The multicast
router is responsible for monitoring all the hosts or routers in a LAN to see if they want to continue their
membership in a group. The router periodically sends a general query message in which group address
field is set to 0.0.0.0. It expects a response for each group in its group list. The query message has a
maximum response time of 10s. When a host or router receives the general query message, it responds
with a membership report if it is interested in a group.
IGMP V3:
IGMP Version 3 (IGMPv3) adds support for “source filtering,” which enables a multicast receiver host to
signal to a router which groups it wants to receive multicast traffic from, and from which source(s) this
traffic is expected. IGMP version 1 and version 2 allow hosts to join multicast groups but they don’t
check the source of the traffic. Any source is able to receive traffic to the multicast group(s) that they
joined. IGMPv3 supports applications that explicitly signal sources from which they want to receive
traffic.
With IGMPv3, receivers signal membership to a multicast host group in the following two modes:
• INCLUDE mode—In this mode, the receiver announces membership to a host group and provides a list
of IP addresses (the INCLUDE list) from which it wants to receive traffic.
• EXCLUDE mode—In this mode, the receiver announces membership to a host group and provides a list
of IP addresses (the EXCLUDE list) from which it does not want to receive traffic. This indicates that the
host wants to receive traffic only from other sources whose IP addresses are not listed in the EXCLUDE
list.
The general IP multicast service model [RFC1112] is that senders send to a multicast IP address,
receivers express an interest in traffic sent to a given multicast address, and that routers figure out
how to deliver traffic from the senders to the receivers.
The benefit of IP multicast is that it enables delivery of content such that any multicast packet sent
from a source to a given multicast group address appears once and only once on any path between a
sender and an interested receiver that has joined that multicast group. A reserved range of addresses
(for either IPv4 or IPv6) is used for multicast group communication.
Two high-level flavours of this service model have evolved over time.
Any-Source Multicast (ASM): Any number of sources may transmit multicast packets, and
those sources may come and go over the course of a multicast session without being known
a priori. In ASM, receivers express interest in a given multicast group address.
Source-Specific Multicast (SSM) the specific source(s) that may send traffic to the group
are known in advance. In SSM, receivers express interest in a given multicast address and
specific source(s).
Senders transmit multicast packets without knowing where receivers are, or how many there are.
Receivers are able to signal to on-link routers their desire to receive multicast content sent to a given
multicast group. In the case of SSM from specific sender IP addresses they may discover the group
(and sender IP) information in a number of different ways. They may also signal their desire to no
longer receive multicast traffic for a given group (and sender IP).
Multicast routing protocols are used to establish the multicast forwarding paths (tree) between a
sender and a set of receivers. Each router would typically maintain multicast forwarding state for a
given group (and potentially sender IP), such that it knows which interfaces to forward (and where
necessary replicate) multicast packets to.
Multicast packet forwarding is generally not considered a reliable service. It is typically
unidirectional, but a bidirectional multicast delivery mechanism also exists.
PIM
GroupShared Tree
The group-shared tree approach is more efficient from the router performance perspective. Only
one tree is built for each group. The tree has its root in a designated router called rendezvous point (RP)
or core router. All senders in a group forward their multicast datagrams to the RP encapsulated in unicast
datagrams. The RP decapsulates the unicast and forwards the multicast datagrams along the tree. Since
there are many senders in a group G, a group-shared tree is denoted (*,G).
The RP is responsible for the shaping of a shortest path tree to all receivers with the RP as root.
Other routers involved in the delivery of this group’s multicast datagrams do not build any trees, but of
course they have to have control over how their part of the tree is constructed.
Multicast Link State Routing: MOSPF
MOSPF is the multicast extension to OSPF (Open Shortest Path First) which is a unicast link-
state routing protocol.
Link-state routing protocols work by having each router send a routing message periodically
listing its neighbors and how far away they are. These routing messages are flooded throughout
the entire network, and so every router can build up a map of the network which it can then use to
build forwarding tables (using a Dijkstra algorithm) to decide quickly which is the correct next
hop for send a particular packet.
Extending this to multicast is achieved simply by having each router also list in a routing message
the groups for which it has local receivers. Thus given the map and the locations of the receivers,
a router can also build a multicast forwarding table for each group.
MOSPF also suffers from poor scaling. With flood-and-prune protocols, data traffic is an implicit
message about where there are senders, and so routers need to store unwanted state where there
are no receivers. With MOSPF there are explicit messages about where all the receivers are, and
so routers need to store unwanted state where there are no senders.
The only problem with this protocol is the time and space needed to create and save the many
shortest path trees. For efficiency, the router calculates the shortest path trees on demand (when it
receives the first multicast packet). In addition, the tree can be saved in cache memory for future
use by the same source/group pair.
MOSPF is a data-driven protocol; the first time an MOSPF router sees a datagram with a given
source and group address, the router constructs the Dijkstra shortest path tree. The shortest path
tree is made all at once instead of gradually (i.e. pre-made, pre-pruned, ready to use).
1. Flooding
A router receives a packet and even without even looking at the destination group address, sends
it out from every interface except the one from which it was received.
Flooding accomplishes the first goal of multicast: every network with active members receives
the packet. However, the networks without active members will also receive the packet which is
undesired. i.e It is a broadcast not a multicast. Also, there is another problem: it creates loops.
A packet that has left the router may come back again from another interface or the same
interface and be forwarded again, which creates loop. The next strategy is RPF which corrects
this defect.
RPF Problem
RPF guarantees that each network receives a copy of the multicast packet without formation
of loops. However, RPF does not guarantee that each network receives only one copy; a
network may receive two or more copies. The reason is that RPF is not based on the
destination address (a group address); forwarding is based on the source address.
3. Reverse Path Multicast (RPM)
To increase efficiency, the multicast packet must reach only those networks that have active
members for that particular group. This is called a Reverse Path Multicast (RPM)
The protocol uses two procedures: Pruning and Grafting
Pruning
The process starts when a router connected to a network finds that there is no interest in a
multicast packet.
The router sends a prune message to the upstream router so that it can prune the
corresponding interface.
That is, the upstream router can stop sending multicast messages for this group through that
interface. Now if this router receives prune messages from all the downstream routers, it in
turn, sends a prune message to its upstream router.
Grafting
What if a leaf router (a router at the bottom of the tree) has sent a prune message but
suddenly realizes, through IGMP, that one of its networks is again interested in receiving the
multicast packet? It can send a graft message. The graft message forces the upstream router
to resume sending the multicast messages.
Core Based Tree (CBT)
The Core-Based Tree (CBT) is a group-shared tree, center-based protocol using one tree
per group. One of the routers in the tree is called the core. A packet is sent from the source to
members of the group following these procedures:
The source, which may or may not be part of the tree, encapsulates the multicast packet
inside a unicast packet with the unicast destination address of the core and sends it to the core.
This part of delivery is done using a unicast address; the only recipient is the core router.
Rather than flooding the data everywhere, or flooding the membership information
everywhere, algorithms in the Core-Based Trees (CBT) map the multicast group address to a
particular unicast address of a router (Core Router), and they build explicit distribution trees
centered around this particular router.
CBT involves having a single Core Tree per group.
PIM
Protocol Independent Multicast (PIM) is the name given to two independent multicast routing
protocols: Protocol Independent Multicast-Dense Mode (PIM-DM) and Protocol Independent
Multicast-Sparse Mode (PIM-SM). Both protocols are unicast-protocol independent.
PIM-DM
Dense mode is most useful when:
a) Senders and receivers are in close proximity to one another.
b) There are few senders and many receivers.
c) The volume of multicast traffic is high and the stream of multicast traffic is constant.
PIM Dense Mode (PIM-DM) is a multicast routing protocol designed with assumption that the
receivers for any multicast group are distributed densely throughout the network, i.e. it is assumed that
most subnets in the network will want any given multicast packet. Multicast data is initially sent to all
hosts in the network. Routers that do not have any interested hosts then send PIM Prune messages to
remove themselves from the tree.
When a source first starts sending data, each router on the source's LAN receives the data and
forwards it to all links. Each router that receives a forwarded packet also forwards it likewise, but only
after checking whether that the packet arrived on its upstream interface is valid. If not, the packet is
dropped. This mechanism prevents forwarding loops from occurring. In this way, the data is flooded to all
parts of the network.
Some routers will have no need of multicast membership as none of its branches intended to join
multicast group. These routers respond to receipt of the data by sending a PIM Prune message upstream,
which instantiates Prune state in the upstream router, causing it to stop forwarding the data to its
downstream neighbor.
PIM-DM only uses source-based trees. It is an efficient protocol when most receivers are
interested in the multicast data, but does not scale well across larger domains in which most receivers are
not interested in the data. PIM-DM uses push approach.
PIM-SM
Sparse multicast is most useful when:
a) There are few receivers in a group.
b) Senders and receivers are separated by WAN links.
c) The type of traffic is intermittent.
PIM Sparse Mode (PIM-SM) is a multicast routing protocol designed on the assumption that
recipients for any particular multicast group will be sparsely distributed throughout the network. In other
words, it is assumed that most subnets in the network will not want any given multicast packet. In order to
receive multicast data, routers must explicitly tell their upstream neighbors about their interest in
particular groups and sources. Routers use PIM Join and Prune messages to join and leave multicast
distribution trees.
PIM-SM by default uses shared trees, which are multicast distribution trees rooted at some
selected node (in PIM, this router is called the Rendezvous Point, or RP) and used by all sources sending
to the multicast group. To send to the RP, sources must encapsulate data in PIM control messages and
send it by unicast to the RP. This is done by the source's Designated Router (DR), which is a router on the
source's local network. A single DR is elected from all PIM routers on a network, so that unnecessary
control messages are not sent.
PIM-SM is a soft-state protocol. That is, all state is timed-out a while after receiving the control
message that instantiated it. To keep the state alive, all PIM Join messages are periodically retransmitted.
PIM-SM uses pull approach.
Q. What protocol is used between a multicast router and its connected hosts in IP multicast? [1-2016]
Q. List the differences between Multicast and Multiple Unicast. Explain Group-Shared Tree and Source-
Based Tree and also list multicast routing protocols using Source-Based Tree and Shared-Tree. [5-2016]
Q. From the following information, map IP multicast address with Ethernet address. [4]
Q. Differentiate Multicast with Multiple Unicast. Change the multicast IP address 238.212.24.199 to an
Ethernet Multicast address. [4-2017]
Q. From the following information, map IP multicast address with Ethernet address. [4]