What Is Multicasting?



What Is Multicasting?

Broadcasting is an excellent way to send information to all devices on a subnet, but it does have a drawback: the broadcast packets are restricted to the local subnet. IP multicasting was devised to allow an application to send a single packet to a select subset of devices both on the local subnet and across network boundaries. This feature allows an application to join a multicast group to participate in a wide-area conference.

Just like broadcasting, IP multicasting uses special IP addresses. The IP multicasting scheme uses a particular range of IP addresses to designate different multicast groups. Each multicast group consists of a group of devices listening to the same IP address. As packets are sent out destined for the multicast group address, each device listening to the address receives them.

The IP address range 224.0.0.1 through 239.255.255.255 represents multicast groups. According to Internet Request For Comments (RFC) 3171, the groups are divided as shown in Figure.

Figure: IP Multicast Address Assignments

Range

Assignment

224.0.0.0–224.0.0.255

Local network control block

224.0.1.0–224.0.1.255

Internetwork control block

224.0.2.0–224.0.255.0

AD-HOC block

224.1.0.0–224.1.255.255

ST multicast groups

224.2.0.0–224.2.255.255

SDP/SAP block

224.252.0.0–224.255.255.255

DIS transient block

225.0.0.0–231.255.255.255

Reserved

232.0.0.0–232.255.255.255

Source-specific multicast block

233.0.0.0–233.255.255.255

GLOP block

234.0.0.0–238.255.255.255

Reserved

239.0.0.0–239.255.255.255

Administratively scoped block

Within each of these address blocks, individual IP addresses are assigned to specific projects. For example, addresses 224.0.0.1 and 224.0.0.2 are reserved for routers to communicate multicast group information between themselves. You should avoid using multicast group addresses that occur within these blocks.

Multicast Techniques

There are two techniques used to control multicast sessions:

  • A peer-to-peer technique, in which all clients can send messages to all other clients in the group

  • A central server that sends messages to group clients

Peer-to-Peer Technique

In a peer-to-peer multicast group (Figure), all of the clients in the multicast group have equal rights in the group. Any client in the group has the capability to exchange messages with any other client in the group.

Click To expand
Figure: In a peer-to-peer multicast group, all clients can exchange messages with any client in the group.

The IP system supports peer-to-peer multicast groups by allowing any device on the network to accept and send packets destined for the multicast group IP address. By default, there are no restrictions on which clients can join a multicast group. Some implementations use encryption to prevent unauthorized clients from interpreting the data received in the multicast group, but there is still no way to block the clients’ receipt of the data.

Central Server

The other multicast system employs a central server, a single device on the network that controls all multicast group activity. An individual client wanting to join the multicast group must ask permission from the central server. If the central server denies the client access to that multicast group, no multicast packets will be forwarded to the requesting client. This technique is shown in Figure.

Click To expand
Figure: The central server setup for controlling multicast groups
Note 

The central server multicast group system is not supported by IP. Currently, Asynchronous Transfer Mode (ATM) networks are the only networks capable of supporting central server multicast groups.

Sending Multicast Packets through Routers

Although multicast packets can be passed across network boundaries, making this happen requires some effort on the part of the network routers. By default, most routers do not pass multicast packets through to other subnets. If a router passed every received multicast packet to every interface, it would put the network at risk of being flooded with multicast packets. Instead, a system has been developed to allow selective forwarding of multicast packets.

The Internet Group Management Protocol (IGMP) was developed to aid in notifying routers when multicast packets should to be passed to various subnets. When a network device wants to join a multicast group, it sends an IGMP packet to the local router on its subnet. The IGMP packet registers the network device and the multicast group address from which that device must receive messages. This enables the router to know that it must forward any received multicast messages for that group to the subnet of the specified network device. Figure demonstrates the principle of multicast group registration.

Click To expand
Figure: Network devices registering multicast group memberships on a router

As shown in Figure, when each network device registers its intention to receive packets for the multicast group, the router must forward any received multicast packets to each interface that contains a registered host. Interfaces that do not contain registered hosts do not need to receive the multicast packet.

Similarly, when a network host leaves the multicast group, another IGMP packet is sent to the router, notifying it that the host no longer needs to have packets for that multicast group forwarded. When the last network host on a specific router interface leaves the group, the router can stop forwarding multicast packets to that interface.

 Python   SQL   Java   php   Perl 
 game development   web development   internet   *nix   graphics   hardware 
 telecommunications   C++ 
 Flash   Active Directory   Windows