With the development of the Internet, more
and more interaction services such as data, voice, and video services are
running on the networks. In addition, highly bandwidth- and time-critical
services, such as e-commerce, Web conference, online auction, video on demand
(VoD), and tele-education have come into being. These services have higher
requirements for information security, legal use of paid services, and network
bandwidth.
In the network,
packets are sent in three modes: unicast, broadcast and multicast. The
following sections describe and compare data interaction processes in unicast,
broadcast, and multicast.
In unicast, the system establishes a
separate data transmission channel for each user requiring this information,
and sends a separate copy of the information to the user, as shown in Figure 1-1:

Figure 1-1 Information transmission in
the unicast mode
Assume that Hosts B, D and E need this
information. The source server establishes transmission channels for the
devices of these users respectively. As the transmitted traffic over the network
is in direct proportion to the number of users that receive this information,
when a large number of users need this information, the server must send many
pieces of information with the same content to the users. Therefore, the
limited bandwidth becomes the bottleneck in information transmission. This
shows that unicast is not good for the transmission of a great deal of
information.
1.1.2 Information Transmission in the
Broadcast Mode
When you adopt
broadcast, the system transmits information to all users on a network. Any user
on the network can receive the information, no matter the information is needed
or not. Figure 1-2 shows information transmission in broadcast mode.

Figure 1-2 Information transmission in
the broadcast mode
Assume that Hosts B, D, and E need the
information. The source server broadcasts this information through routers, and
Hosts A and C on the network also receive this information.
As we can see from the information
transmission process, the security and legal use of paid service cannot be
guaranteed. In addition, when only a small number of users on the same network
need the information, the utilization ratio of the network resources is very
low and the bandwidth resources are greatly wasted.
Therefore,
broadcast is disadvantageous in transmitting data to specific users; moreover,
broadcast occupies large bandwidth.
As described in the previous sections,
unicast is suitable for networks with sparsely distributed users, whereas
broadcast is suitable for networks with densely distributed users. When the
number of users requiring information is not certain, unicast and broadcast
deliver a low efficiency.
Multicast solves this problem. When some users on a network require
specified information, the multicast information sender (namely, the multicast
source) sends the information only once. With multicast distribution trees
established for multicast data packets through multicast routing protocols, the
packets are duplicated and distributed at the nearest nodes, as shown in Figure 1-3:

Figure 1-3 Information transmission in
the multicast mode
Assume that Hosts B, D and E need the
information. To transmit the information to the right users, it is necessary to
group Hosts B, D and E into a receiver set. The routers on the network
duplicate and distribute the information based on the distribution of the receivers
in this set. Finally, the information is correctly delivered to Hosts B, D, and
E.
The advantages of multicast over unicast
are as follows:
l
No matter how many receivers exist, there is
only one copy of the same multicast data flow on each link.
l
With the multicast mode used to transmit
information, an increase of the number of users does not add to the network
burden remarkably.
The advantages of multicast over broadcast
are as follows:
l
A multicast data flow can be sent only to the
receiver that requires the data.
l
Multicast brings no waste of network resources
and makes proper use of bandwidth.
The following roles are involved in
multicast transmission:
l
An information sender is referred to as a
multicast source (“Source” in Figure 1-3).
l
Each receiver is a multicast group member
(“Receiver” in Figure
1-3).
l
All receivers interested in the same information
form a multicast group. Multicast groups are not subject to geographic
restrictions.
l
A router that supports Layer 3 multicast is
called multicast router or Layer 3 multicast device. In addition to providing
multicast routing, a multicast router can also manage multicast group members.
For a better understanding of the multicast
concept, you can assimilate multicast transmission to the transmission of TV
programs, as shown in Table
1-1.
Table 1-1 An
analogy between TV transmission and multicast transmission
|
Step
|
TV transmission
|
Multicast transmission
|
|
1
|
A TV station transmits a TV program
through a television channel.
|
A multicast source sends multicast data
to a multicast group.
|
|
2
|
A user tunes the TV set to the channel.
|
A receiver joins the multicast group.
|
|
3
|
The user starts to watch the TV program
transmitted by the TV station via the channel.
|
The receiver starts to receive the
multicast data that the source sends to the multicast group.
|
|
4
|
The user turns off the TV set.
|
The receiver leaves the multicast group.
|
l
A multicast source does not necessarily belong
to a multicast group. Namely, a multicast source is not necessarily a multicast
data receiver.
l
A multicast source can send data to multiple
multicast groups at the same time, and multiple multicast sources can send data
to the same multicast group at the same time.
1.1.5 Advantages and Applications of Multicast
I. Advantages of multicast
Advantages of multicast include:
l
Enhanced efficiency: Multicast decreases network
traffic and reduces server load and CPU load.
l
Optimal performance: Multicast reduces redundant
traffic.
l
Distributive application: Multicast makes
multiple-point application possible.
II. Application of multicast
The multicast technology effectively
addresses the issue of point-to-multipoint data transmission. By enabling
high-efficiency point-to-multipoint data transmission, over an IP network,
multicast greatly saves network bandwidth and reduces network load.
Multicast provides the following
applications:
l
Applications of multimedia and flow media, such
as Web TV, Web radio, and real-time video/audio conferencing.
l
Communication for training and cooperative
operations, such as remote education.
l
Database and financial applications (stock), and
so on.
l
Any point-to-multiple-point data application.
Based on the multicast source processing
modes, there are three multicast models:
l
Any-source multicast (ASM)
l
Source-filtered multicast (SFM)
l
Source-specific multicast (SSM)
I. ASM model
In the ASM model, any sender can become a
multicast source and send information to a multicast group; numbers of
receivers can join a multicast group identified by a group address and obtain
multicast information addressed to that multicast group. In this model,
receivers are not aware of the position of a multicast source in advance.
However, they can join or leave the multicast group at any time.
II. SFM model
The SFM model is derived from the ASM
model. From the view of a sender, the two models have the same multicast group
membership architecture.
Functionally, the SFM model is an extension
of the ASM model. In the SFM model, the upper layer software checks the source
address of received multicast packets so as to permit or deny multicast traffic
from specific sources. Therefore, receivers can receive the multicast data from
only part of the multicast sources. From the view of a receiver, multicast
sources are not all valid: they are filtered.
III. SSM model
In the practical life, users may be
interested in the multicast data from only certain multicast sources. The SSM
model provides a transmission service that allows users to specify the
multicast sources they are interested in at the client side.
The radical difference between the SSM model
and the ASM model is that in the SSM model, receivers already know the
locations of the multicast sources by some means. In addition, the SSM model
uses a multicast address range that is different from that of the ASM model,
and dedicated multicast forwarding paths are established between receivers and
the specified multicast sources.
The purpose of IP multicast is to transmit
information from a multicast source to receivers in the multicast mode and to
satisfy information requirements of receivers. You should be concerned about:
l
Host registration: What receivers reside on the
network?
l
Technologies of discovering a multicast source:
Which multicast source should the receivers receive information from?
l
Multicast addressing mechanism: Where should the
multicast source transports information?
l
Multicast routing: How is information
transported?
IP multicast is a kind of peer-to-peer
service. Based on the protocol layer sequence from bottom to top, the multicast
mechanism contains addressing mechanism, host registration, multicast routing,
and multicast application:
l
Addressing mechanism: Information is sent from a
multicast source to a group of receivers through multicast addresses.
l
Host registration: A receiving host joins and leaves
a multicast group dynamically using the membership registration mechanism.
l
Multicast routing: A router or switch transports
packets from a multicast source to receivers by building a multicast
distribution tree with multicast routes.
l
Multicast application: A multicast source must
support multicast applications, such as video conferencing. The TCP/IP protocol
suite must support the function of sending and receiving multicast information.
As receivers are multiple hosts in a
multicast group, you should be concerned about the following questions:
l
What destination should the information source
send the information to in the multicast mode?
l
How to select the destination address?
These questions are about multicast
addressing. To enable the communication between the information source and
members of a multicast group (a group of information receivers), network-layer
multicast addresses, namely, IP multicast addresses must be provided. In
addition, a technology must be available to map IP multicast addresses to
link-layer MAC multicast addresses. The following sections describe these two
types of multicast addresses:
I. IP multicast address
Internet Assigned Numbers Authority (IANA)
categorizes IP addresses into five classes: A, B, C, D, and E. Unicast packets
use IP addresses of Class A, B, and C based on network scales. Class D IP
addresses are used as destination addresses of multicast packets. Class D
address must not appear in the IP address field of a source IP address of IP
packets. Class E IP addresses are reserved for future use.
In unicast data transport, a data packet is
transported hop by hop from the source address to the destination address. In
an IP multicast environment, there are a group of destination addresses (called
group address), rather than one address. All the receivers join a group. Once
they join the group, the data sent to this group of addresses starts to be
transported to the receivers. All the members in this group can receive the
data packets. This group is a multicast group.
A multicast group has the following
characteristics:
l
The membership of a group is dynamic. A host can
join and leave a multicast group at any time.
l
A multicast group can be either permanent or
temporary.
l
A multicast group whose addresses are assigned
by IANA is a permanent multicast group. It is also called reserved multicast
group.
Note that:
l
The IP addresses of a permanent multicast group
keep unchanged, while the members of the group can be changed.
l
There can be any number of, or even zero,
members in a permanent multicast group.
l
Those IP multicast addresses not assigned to
permanent multicast groups can be used by temporary multicast groups.
Class D IP addresses range from 224.0.0.0
to 239.255.255.255. For details, see Table 1-2.
Table 1-2 Range
and description of Class D IP addresses
|
Class D address range
|
Description
|
|
224.0.0.0 to 224.0.0.255
|
Reserved multicast addresses (IP
addresses for permanent multicast groups). The IP address 224.0.0.0 is
reserved. Other IP addresses can be used by routing protocols.
|
|
224.0.1.0 to 231.255.255.255
233.0.0.0 to 238.255.255.255
|
Available any-source multicast (ASM)
multicast addresses (IP addresses for temporary groups). They are valid for
the entire network.
|
|
232.0.0.0 to 232.255.255.255
|
Available source-specific multicast (SSM)
multicast group addresses.
|
|
239.0.0.0 to 239.255.255.255
|
Administratively scoped multicast
addresses, which are for specific local use only.
|
As specified by
IANA, the IP addresses ranging from 224.0.0.0 to 224.0.0.255 are reserved for
network protocols on local networks. The following table lists commonly used
reserved IP multicast addresses:
Table 1-3
Reserved IP multicast addresses
|
Class D address range
|
Description
|
|
224.0.0.1
|
Address of all hosts
|
|
224.0.0.2
|
Address of all multicast routers
|
|
224.0.0.3
|
Unassigned
|
|
224.0.0.4
|
Distance Vector Multicast Routing
Protocol (DVMRP) routers
|
|
224.0.0.5
|
Open Shortest Path First (OSPF) routers
|
|
224.0.0.6
|
Open Shortest Path First designated
routers (OSPF DR)
|
|
224.0.0.7
|
Shared tree routers
|
|
224.0.0.8
|
Shared tree hosts
|
|
224.0.0.9
|
RIP-2 routers
|
|
224.0.0.11
|
Mobile agents
|
|
224.0.0.12
|
DHCP server/relay agent
|
|
224.0.0.13
|
All Protocol Independent Multicast (PIM)
routers
|
|
224.0.0.14
|
Resource Reservation Protocol (RSVP)
encapsulation
|
|
224.0.0.15
|
All core-based tree (CBT) routers
|
|
224.0.0.16
|
The specified subnetwork bandwidth
management (SBM)
|
|
224.0.0.17
|
All SBMS
|
|
224.0.0.18
|
Virtual Router Redundancy Protocol (VRRP)
|
|
224.0.0.19 to 224.0.0.255
|
Other protocols
|
Like having
reserved the private network segment 10.0.0.0/8 for unicast, IANA has also
reserved the network segment 239.0.0.0/8 for multicast. These are
administratively scoped addresses. With the administratively scoped addresses,
you can define the range of multicast domains flexibly to isolate IP addresses
between different multicast domains, so that the same multicast address can be
used in different multicast domains without causing collisions.
II. Ethernet multicast MAC address
When a unicast IP packet is transported in
an Ethernet network, the destination MAC address is the MAC address of the
receiver. When a multicast packet is transported in an Ethernet network, a
multicast MAC address is used as the destination address because the
destination is a group with an uncertain number of members.
As stipulated by IANA, the high-order 24
bits of a multicast MAC address are 0x01005e, while the low-order 23 bits of a
MAC address are the low-order 23 bits of the multicast IP address. Figure 1-4 describes
the mapping relationship:

Figure 1-4 Multicast address mapping
The high-order four bits of the IP multicast address are 1110,
representing the multicast ID. Only 23 bits of the remaining 28 bits are mapped
to a MAC address. Thus, five bits of the multicast IP address are lost. As a
result, 32 IP multicast addresses are mapped to the same MAC address.
l
Generally, we refer to IP multicast working at
the network layer as Layer 3 multicast and the corresponding multicast
protocols as Layer 3 multicast protocols, which include IGMP, PIM, and MSDP; we
refer to IP multicast working at the data link layer as Layer 2 multicast and
the corresponding multicast protocols as Layer 2 multicast protocols, which
include IGMP Snooping.
l
This section provides only general descriptions
about applications and functions of the Layer 2 and Layer 3 multicast protocols
in a network. For details about these protocols, refer to the related chapters
of this manual.
I. Layer 3 multicast protocols
Layer 3 multicast protocols include
multicast group management protocols and multicast routing protocols. Figure 1-5 describes
where these multicast protocols are in a network.

Figure 1-5 Positions of Layer 3
multicast protocols
1)
Multicast management protocols
Typically, the Internet Group Management
Protocol (IGMP) is used between hosts and Layer 3 multicast devices directly
connected with the hosts. These protocols define the mechanism of establishing
and maintaining group memberships between hosts and Layer 3 multicast devices.
2)
Multicast routing protocols
A multicast routing protocol runs on Layer
3 multicast devices to establish and maintain multicast routes and forward
multicast packets correctly and efficiently. Multicast routes constitute a
loop-free data transmission path from a data source to multiple receivers,
namely a multicast distribution tree.
In the ASM model, multicast routes come in
intra-domain routes and inter-domain routes.
l
An intra-domain multicast routing protocol is
used to discover multicast sources and build multicast distribution trees
within an autonomous system (AS) so as to deliver multicast data to receivers.
Among a variety of mature intra-domain multicast routing protocols, Protocol
Independent Multicast (PIM) is a popular one. Based on the forwarding
mechanism, PIM comes in two modes – dense mode (often referred to as
PIM-DM) and sparse mode (often referred to as PIM-SM).
l
An inter-domain multicast routing protocol is
used for delivery of multicast information between two ASs. So far, mature
solutions include Multicast Source Discovery Protocol (MSDP).
For the SSM model, multicast routes are not
divided into inter-domain routes and intra-domain routes. Since receivers know
the position of the multicast source, channels established through PIM-SM are
sufficient for multicast information transport.
II. Layer 2 multicast protocols
Layer 2 multicast protocols include IGMP
Snooping and multicast VLAN. Figure
1-6 shows where these protocols are in the network.

Figure 1-6 Positions of Layer 2
multicast protocols
Running on Layer 2 devices, Internet Group
Management Protocol Snooping (IGMP Snooping) are multicast constraining
mechanisms that manage and control multicast groups by listening to and
analyzing IGMP messages exchanged between the hosts and Layer 3 multicast
devices, thus effectively controlling the flooding of multicast data in a Layer
2 network.
1.4 Multicast
Packet Forwarding Mechanism
In a multicast model, a multicast source
sends information to the host group identified by the multicast group address
in the destination address field of the IP packets. Therefore, to deliver
multicast packets to receivers located in different parts of the network,
multicast routers on the forwarding path usually need to forward multicast
packets received on one incoming interface to multiple outgoing interfaces.
Compared with a unicast model, a multicast model is more complex in the
following aspects.
l
In the network, multicast packet transmission is
based on the guidance of the multicast forwarding table derived from the
unicast routing table or the multicast routing table specially provided for
multicast.
l
To process the same multicast information from
different peers received on different interfaces of the same device, every
multicast packet is subject to a Reverse Path Forwarding (RPF) check on the incoming
interface. The result of the RPF check determines whether the packet will be
forwarded or discarded. The RPF check mechanism is the basis for most multicast
routing protocols to implement multicast forwarding