Multicasting and Multicast Protocols
Multicasting and Multicast Protocols
Mukesh Chinta
Unicast is the term used to describe communication where a piece of information is sent from one
point to another point. In this case there is just one sender, and one receiver.
The relationship between the source and the destination network is one to one. Each router in the
path of the datagram tries to forward the packet to one and only one of its interfaces
For a unicast packet to be delivered to a destination attached to network N6, Router R1 is responsible for
forwarding the packet only through interface 3; router R4 is responsible for forwarding the packet only through
interface 2. When the packet arrives at N6, the delivery to the destination host is the responsibility of the
network; it is either broadcast to all hosts or the Ethernet switch delivers it only to the destination host.
2
In multicasting, 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. The group address defines the members of
the group.
In multicasting, a multicast router may have to send out copies of the same datagram through more than one
interface.
Router R1 needs to send out the datagram through interfaces 2 and 3. Similarly, router R4 needs to send out the
datagram through both its interfaces. Router R3, however, knows that there is no member belonging to this group
in the area reached by interface 2; it only sends out the datagram through interface 1
3
Multicasting starts with a single packet from the source that is duplicated by the routers. The
destination address in each packet is the same for all duplicates.
In multiple unicasting, several packets start from the source. If there are three destinations, for
example, the source sends three packets, each with a different unicast destination address.
4
Multicasting is more efficient than multiple unicasting. Multicasting requires less bandwidth than
multiple unicasting. In multiple unicasting, some of the links must handle several copies.
In multiple unicasting, the packets are created by the source with a relative delay between
packets. If there are 1,000 destinations, the delay between the first and the last packet may be
unacceptable. In multicasting, there is no delay because only one packet is created by the
source.
B
A
S
I
C
S
6
This means that the source address of a packet in multicast communication can be a unicast address that uniquely
defines the sender, but the destination address can be the multicast address that defines a group. In this way, a host,
M which is a member of n groups, actually has (n + 1) addresses: one unicast address that is used for source or
U destination address in unicast communication and n multicast addresses that are used only for destination addresses
L to receive messages sent to a group.
T
I A router or a destination host needs to distinguish between a unicast and a multicast datagram. IPv4 and IPv6 each
C assign a block of addresses for this purpose.
A IP multicast addresses specify a "set" of IP hosts that have joined a group and are interested in receiving multicast
S traffic designated for that particular group.
T
The Internet Assigned Numbers Authority (IANA) controls the assignment of IP multicast addresses. IANA has
I
assigned the IPv4 Class D address space to be used for IP multicast. Therefore, all IP multicast group addresses
N
G fall in the range from 224.0.0.0 through 239.255.255.255.
B
A
S
I
C The number of addresses in the multicast block is huge
S (228).
7
Because of the huge address space, the block is divided into several subblocks, and each subblock is
used in a particular multicast application.
M
U : The subblock 224.0.0.0/24 is assigned to a multicast
L routing protocol to be used inside a network, which means that the packet with a
T
I destination address in this range cannot be forwarded by a router.
C
A In this subblock, the address 224.0.0.0 is reserved, the
S address 224.0.0.1 is used to send datagrams to all hosts
T and routers inside a network, and the address 224.0.0.2
I
N
is used to send datagrams to all routers inside a
G network. The rest of the addresses are assigned to some
multicast protocols for communication.
B
A
S
I
C
S
8
: The subblock 224.0.1.0/24 is assigned to a multicast routing protocol to be used
in the whole Internet, which means that the packet with a destination address in this range can be forwarded by a
router.
M
U : The block 232.0.0.0/8 is used for source-specific multicast routing.
L SSM is an extension of the PIM protocol that allows for an efficient data delivery mechanism in one-to-many
T communications.
I
C The block 233.0.0.0/8 is called the GLOP block. This block defines a range of addresses that can be
A used inside an autonomous system (AS). Each autonomous system is assigned a 16-bit number. One can insert the
S AS number as the two middle octets in the block to create a range of 256 multicast addresses (233.x.y.0 to
T 233.x.y.255), in which x.y is the AS number.
I
N : The block 239.0.0.0/8 is called the Administratively Scoped Block. The
G addresses in this block are used in a particular area of the Internet. The packet whose destination address belongs to
this range is not supposed to leave the area. In other words, an address in this block is restricted to an organization.
B For a limited group, the following strategy can be used. If the AS number that the college belongs to is 23452,
A which can be written as (91.156)256, this gives the college a range of 256 addresses: 233.91.156.0 to
S 233.91.156.255. The college administration can grant each professor one of the addresses in the range. This can
I then become the group address for the professor to use to send multicast communications to the students.
C However, the packets cannot go beyond the college AS territory.
S If the group is spread beyond an AS territory, the group needs to choose an address from the SSM block
(232.0.0.8).
9
In multicasting, the delivery at the Internet level is done using network-layer multicast addresses.
M
U Data-link layer multicast addresses are also needed to deliver a multicast packet encapsulated in a frame. In the
L case of unicasting, this task is done by the ARP protocol, but, because the IP packet has a multicast IP address,
T the ARP protocol cannot find the corresponding MAC (physical) address to forward a multicast packet at the data-
I link layer.
C An Ethernet physical address (MAC address) is six octets (48 bits) long. If the first 25 bits in an Ethernet address
A are 00000001 00000000 01011110 0, this identifies a physical multicast address for the TCP/IP protocol. The
S remaining 23 bits can be used to define a group.
T
I
N
G
B
A
S
I
C
To support IP multicasting, the Internet authorities have reserved the multicast address range of 01-00-5E-00-00-
S
00 to 01-00-5E-7F-FF-FF for Ethernet and Fiber Distributed Data Interface (FDDI) media access control (MAC)
addresses 10
To map an IP multicast address to a MAC-layer multicast address, the low order 23 bits of the IP
multicast address are mapped directly to the low order 23 bits in the MAC-layer multicast address.
M Because the first 4 bits of an IP multicast address are fixed according to the class D convention, there
U are 5 bits in the IP multicast address that do not map to the MAC-layer multicast address. Therefore, it
L is possible for a host to receive MAC-layer multicast packets for groups to which it does not belong.
T However, these packets are dropped by IP once the destination IP address is determined.
I
C For example, the multicast address 224.192.16.1 becomes 01-00-5E-40-10-01. To use the 23 low order
A bits, the first octet is not used, and only the last 7 bits of the second octet is used. The third and fourth
S octets are converted directly to hexadecimal numbers. The second octet, 192 in binary is 11000000. If
T you drop the high order bit, it becomes 1000000 or 64 (in decimal), or 0x40 (in hexadecimal). For the
I next octet, 16 in hexadecimal is 0x10. For the last octet, 1 in hexadecimal is 0x01. Therefore, the MAC
N address corresponding to 224.192.16.1 becomes 01-00-5E-40-10-01.
G
B
A
S
I
C
S
11
M Q) Change the multicast IP address 232.43.14.7 to an Ethernet multicast physical
U address.
L 01:00:5E:2B:OE:07
T
I
Q) Change the multicast IP address 238.212.24.9 to an Ethernet multicast address
C
01:00:5E:54:18:09
A
S
T
I
N
G
Most WANs do not support physical multicast addressing. To send a multicast packet through these networks, a
B process called tunneling is used. In tunneling, the multicast packet is encapsulated in a unicast packet and sent
A through the network, where it emerges from the other side as a multicast packet.
S
I
C
S
12
M
Creation of forwarding tables in both unicast and multicast routing involves two steps:
U
L 1. A router needs to know to which destinations it is connected.
T 2. Each router needs to propagate information obtained in the first step to all other routers so that
I
C
each router knows to which destination each other router is connected.
A In unicast routing, the collection of the information in the first step is automatic and routing protocols
S such as RIP, OSPF & BGP are responsible for propagating the collected information.
T
I In multicast routing, the collection of information in the first step is not automatic for two reasons.
N First, a router does not know which host in the attached network is a member of a particular
G group;
Second, the membership is not a fixed attribute of a host; a host may join some new groups
B
and leave some others even in a short period of time.
A
S
In other words, for unicast routing, we need only the routing protocol inside each domain to propagate the
I
information about a router link; in multicasting we need two protocols: one to collect these pieces of information
C and the second to propagate them.
S
13
M
Forwarding in unicast and multicast communication is different in two aspects:
U 1. In unicast communication, the destination address of the packet defines one single
L destination. The packet needs to be sent only out of one of the interfaces. In multicast
T communication, the destination of the packet defines one group, but that group may have more
I than one member in the internet. To reach all of the destinations, the router may have to send
C the packet out of more than one interface.
A
S 2. Forwarding decisions in unicast communication depend only on the destination address of the
T packet. Forwarding decisions in multicast communication depend on both the destination and
I the source address of the packet. In other words, in unicasting, forwarding is based on where
N the packet should go; in multicasting, forwarding is based on where the packet should go and
G where the packet has come from.
B
A
S
I
C
S
14
The involvement of the source in the routing process makes multicast routing much more difficult
M than unicast routing. For this reason, two different approaches in multicast routing have been
U developed: routing using source-based trees and routing using group-shared trees.
L
T
In the source-based tree approach to multicasting, each router needs to create a separate tree for each source-
I
C group combination. In other words, if there are m groups and n sources in the internet, a router needs to create
A (m x n) routing trees.
S In each tree, the corresponding source is the root, the members of the group are the leaves, and the router itself
T is somewhere on the tree.
I
N
G In the group-shared tree approach, the designated router, which is called the core router or the rendezvous point
router, acts as the representative for the group.
B
Any source that has a packet to send to a member of that group sends it to the core center (unicast
A
communication) and the core center is responsible for multicasting. The core center creates one single routing
S
I tree with itself as the root and any routers with active members in the group as the leaves.
C In this approach, there are m core routers (one for each group) and each core router has a routing tree, for the
S total of m trees reducing the number from m x n in the source based approach.
This approach induced the overhead of router selection as the core router. 15
Several intradomain multicast routing protocols have emerged in the last few
decades.
Of the three popular ones, two are extensions of unicast routing protocols (RIP and
OSPF), using the source-based tree approach; the third is an independent protocol
which is becoming more and more popular. It can be used in two modes, employing
either the source-based tree approach or the shared-group tree approach.
16
The Distance Vector Multicast Routing Protocol (DVMRP) is the extension of the
Routing Information Protocol (RIP) which is used in unicast routing. It uses the source
based tree approach to multicasting.
18
Reverse Path Broadcasting (RPB)
The RPF algorithm helps a router to forward only one copy received from a source and drop the rest.
Broadcasting involves destination which are all the networks in the internet. For efficient
implementation, we need to prevent each network from receiving more than one copy of the
packet.
If a network is connected to more than one router, it may receive a copy of the packet from each
router. This is undesirable.
One solution is to designate only one router as the parent of a network related to a specific source.
When a router that is not the parent of the attached network receives a multicast packet, it simply
drops the packet.
One way to select the parent router is to select the router which has the shortest path to the source.
If there is a tie in this case, the router with the smaller IP address can be selected.
19
Reverse path broadcasting (RPB) actually creates a broadcast tree from the graph that has been
created by the RPF algorithm. RPB has cut those branches of the tree that cause cycles in the
graph.
In other words, after this step, we have a shortest-path tree with the source as the root and all
networks (LANs) as the leaves. Every packet started from the source reaches all LANs in the internet
travelling the shortest path.
RPB can avoid duplicate reception in a network by assigning a designated parent router, R1, for network N.
20
Reverse Path Multicasting (RPM)
RPB does not multicast the packet, it broadcasts it. To increase efficiency, the
multicast packet must reach only those networks that have active members for
that particular group. This is called reverse path multicasting (RPM).
RPM adds pruning and grafting to RPB to create a multicast shortest path tree
that supports dynamic membership changes.
To change the broadcast shortest-path tree to a multicast shortest-path tree,
each router needs to prune (make inactive) the interfaces that do not reach a
network with active members corresponding to a particular source-group
combination. This step can be done bottom-up, from the leaves to the root.
At the leaf level, the routers connected to the network collect the membership
information using the IGMP protocol.
When a router receives all of these membership-related messages, it knows
which interfaces need to be pruned.
21
Since these packets are disseminated periodically, if a new member is added to
some networks, all routers are informed and can change the status of their interfaces
accordingly.
22
Reverse Path Multicasting
23
A DVMRP prune message contains a prune lifetime (a default value is two
hours) that indicates how long a pruned branch will remain pruned before
being automatically restored
DVMRP graft messages are sent by a router to its upstream neighbor to
force a previously pruned branch to be added back on to the multicast tree
24
Multicast Open Shortest Path First (MOSPF) is the extension of the Open Shortest Path First
(OSPF) protocol, which is used in unicast routing. It also uses the source-based tree approach
to multicasting.
To extend unicasting to multicasting, each router needs to have another database, in
addition to LSDB, to show which interface has an active member in a particular group.
25
1. The router uses the Dijkstra algorithm to create a shortest-path tree with S as the root
and all destinations in the internet as the leaves.
The root of the tree is the source of the packet defined in the source address of the packet. The
router is capable of creating this tree because it has the LSDB, the whole topology of the internet;
Using Dijkstra algorithm.
2. The router finds itself in the shortest-path tree created in the first step. In other words,
the router creates a shortest-path subtree with itself as the root of the subtree.
3. The shortest-path subtree is actually a broadcast subtree with the router as the root and
all networks as the leaves. As in DVMRP, the router uses similar strategy to prune the
broadcast tree and convert it into a multicast tree.
The IGMP protocol is used to find the information at the leaf level. MOSPF has added a new type
of link state update packet that floods the membership to all routers. The router can use the
information it receives in this way and prune the broadcast tree to make the multicast tree.
4. The router can now forward the received packet out of only those interfaces that
correspond to the branches of the multicast tree.
26
Protocol-Independent Multicast (PIM) is a family of multicast routing protocols
for Internet Protocol (IP) networks that provide one-to-many and many-to-many
distribution of data over a LAN, WAN or the Internet. It is termed protocol-
independent because PIM does not include its own topology discovery
mechanism, but instead uses routing information supplied by other routing
protocols.
PIM Sparse Mode (PIM-SM) explicitly builds unidirectional shared trees rooted at
a rendezvous point (RP) per group, and optionally creates shortest-path trees
per source. PIM-SM generally scales fairly well for wide-area usage.
PIM Dense Mode (PIM-DM) uses dense multicast routing. It implicitly builds
shortest-path trees by flooding multicast traffic domain wide, and then pruning
back branches of the tree where no receivers are present. PIM-DM is
straightforward to implement but generally has poor scaling properties.
27
When the number of routers with attached members is large relative to the number of routers in the
internet, PIM works in the dense mode and is called PIM-DM. In this mode, the protocol uses a source-
based tree approach and is similar to DVMRP. PIM-DM uses only two strategies described in DVMRP.
1. A router that has received a multicast packet from the source S destined for the group G first uses
the RPF strategy to avoid receiving a duplicate of the packet.
It consults the forwarding table of the underlying unicast protocol to find the next router if it
wants to send a message to the source S (in the reverse direction).
If the packet has not arrived from the next router in the reverse direction, it drops the packet &
sends a prune message in that direction to prevent receiving future packets related to (S, G).
2. If the packet in the first step has arrived from the next router in the reverse direction, the receiving
router forwards the packet from all its interfaces except the one from which the packet has arrived
and the interface from which it has already received a prune message related to (S, G).
Broadcasting is done instead of a multicasting if the packet is the first packet from the source
S to group G. However, each router downstream that receives an unwanted packet sends a
prune message to the router upstream, and eventually the broadcasting is changed to
multicasting.
28
29
30
When the number of routers with attached members is small relative to the number of
routers in the internet, PIM works in the sparse mode and is called PIM-SM.
The core router in PIM-SM is called the rendezvous point (RP). Multicast communication is
achieved in two steps.
Any router that has a multicast packet to send to a group of destinations first
encapsulates the multicast packet in a unicast packet (tunneling) and sends it to the RP.
The RP then decapsulates the unicast packet and sends the multicast packet to its
destination.
PIM -SM uses a complex algorithm to select one router among all routers in the internet as
the RP for a specific group.
If we have m active groups, we need m RPs, although a router may serve more than one
group.
After the RP for each group is selected, each router creates a database and stores the group
identifier and the IP address of the RP for tunneling multicast packets to it.
31
PIM-SM uses a spanning multicast tree rooted at the RP with leaves pointing to
designated routers connected to each network with an active member.
To create a multicast tree rooted at the RP, PIM -SM uses join and prune messages.
32
The join message is used to add possible new branches to the tree; the prune message is
used to cut branches that are not needed.
When a designated router finds out that a network has a new member in the corresponding
group (via IGMP), it sends a join message in a unicast packet destined for the RP. The
packet travels through the unicast shortest-path tree to reach the RP.
Any router in the path receives and forwards the packet, but at the same time, the router
adds two pieces of information to its multicast forwarding table.
The number of the interface through which the join message has arrived is marked (if not
already marked) as one of the interfaces through which the multicast packet destined for
the group should be sent out in the future. The router also adds a count to the number of
join messages received here.
The number of the interface through which the join message was sent to the RP is marked
(if not already marked) as the only interface through which the multicast packet destined
for the same group should be received.
In this way, the first join message sent by a designated router creates a path from the RP to
one of the networks with group members.
33
To avoid sending multicast packets to networks with no members, PIM-SM uses
the prune message.
Each designated router that finds out (via IGMP) that there is no active member in
its network, sends a prune message to the RP.
When a router receives a prune message, it decrements the join count for the
interface through which the message has arrived and forwards it to the next
router.
When the join count for an interface reaches zero, that interface is not part of the
multicast tree anymore.
34
Internet Group Management Protocol, Version 3
35
The Internet Group Management Protocol (IGMP) is used by IP systems (hosts and
routers) to report their IP multicast group memberships to any neighboring
multicast routers.
IGMP is a protocol defined at the network layer; it is one of the auxiliary protocols
like ICMP.
IGMP messages are encapsulated in an IP
datagram. The IP packet that carries an
IGMP packet has a value of 2 in its
protocol field.
36
IGMP through the Versions!!!
Version 1, specified in [RFC-1112], was the first widely-deployed
version and the first version to become an Internet Standard.
Version 3 adds support for "source filtering", that is, the ability for a
system to report interest in receiving packets *only* from specific
source addresses, or from *all but* specific source addresses, sent
to a particular multicast address.
37
There are only two types of messages in IGMP version 3, query and report messages.
A query message is periodically sent by a router to all hosts attached to it to ask
them to report their interests about membership in groups. A report message is
sent by a host as a response to a query message.
40
41
A report message is sent by a host as a response to a query message. The message contains a list of
records in which each record gives the identifier of the corresponding group (multicast address) and the
addresses of all sources that the host is interested in receiving messages from (inclusion).
The record can also mention the source addresses from which the host does not desire to receive a group
message (exclusion).
The message is encapsulated in a datagram with the multicast address 224.0.0.22 (multicast address
assigned to IGMPv3). In IGMPv3, if a host needs to join a group, it waits until it receives a query
message and then sends a report message.
If a host needs to leave a group, it does not respond to a query message. If no other host responds to the
corresponding message, the group is purged from the router database.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Each Group Record has the following internal format:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x22 | Reserved | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Record Type | Aux Data Len | Number of Sources (N) |
| Reserved | Number of Group Records (M) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Address |
| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. Group Record [1] . | Source Address [1] |
| | +- -+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . .
| . | . . .
. . . +- -+
| . | | Source Address [N] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
. Group Record [M] . . Auxiliary Data .
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Propagation of Information
After a router has collected membership information from the hosts and other routers at
its own level in the tree, it can propagate it to the router located in a higher level of the
tree. Finally, the router at the tree root can get the membership information to build the
multicast tree.
Encapsulation
The IGMP message is encapsulated in an IP datagram with the value of the protocol field
set to 2 and the TTL field set to 21. The destination IP address of the datagram, however,
depends on the type of message
42
Exercise-1
Show the autonomous system with the following specifications:
a) There are eight networks (N1 to N8).
b) There are eight routers (R1 to R8).
c) N1, N2, N3, N4, NS, and N6 are Ethernet LANs.
d) N7 and N8 are point-to-point WANs.
e) R1 connects N1 and N2.
f) R2 connects N1 and N7.
g) R3 connects N2 and N8.
h) R4 connects N7 and N6.
i) R5 connects N6 and N3.
j) R6 connects N6 and N4.
k) R7 connects N6 and NS.
l) R8 connects N8 and N5.
Exercise-2
Which of the networks in the above example is a transient
network? Which is a stub network?
Exercise-3
A router has the following RIP routing table:
Net1 4 B
Net2 2 C
Net3 1 F
Net4 5 G
What would be the contents of the table if the router received the
following RIP message from router C?
Net1 2
Net2 1
Net3 3
Net4 7
Exercise-4
The AS number in an organization is 24101. Find the range of
multicast address that the organization can use in the GLOP
block.
Exercise-5
Q7) IANA is the central authority that maintains strict control on how IP addresses are
used. Do you know the IP multicast addresses range it reserves for administratively
scoped multicast?
A. 239.0.0.0 239.255.255.255
B. 233.0.0.0 233.255.255.255
C. 232 0.0.0 232.255.255.255
D. 224.0.0.0 224.0.0.255
Q8) In Reverse Path Forwarding (RPF), router receives a packet and extracts the
A. Protocol Address.
B. Source Address.
C. IP Address.
D. Standard Address
Q9) A network can receive a multicast packet from a particular source only through a
A. designated parent resolve.
B. designated protocol router.
C. designated parent rotator.
D. designated parent router.
Exercise-1
Exercise-2
Exercise-3
Exercise-4
Q7) A
Q8) B
Q9) D
Q10) B
Q11) A
Q12) B