When it comes to radio and tele­vi­sion broad­casts, it does not matter how many users are tuned in and using the service. This is not at all the case when sending in­form­a­tion over IP networks. For example, if several different users were able to connect to a livestream, the standard IP unicast com­mu­nic­a­tion would require the sending station to send the cor­res­pond­ing packets to each recipient sep­ar­ately. Since this would use up the available bandwidth within a very short period of time, multicast routing (also known as IP multicast) was quickly developed and im­ple­men­ted. It enables the sender to transmit IP data streams to many re­cip­i­ents sim­ul­tan­eously in a single step.

What is IP multicast?

The Internet Protocol is the standard protocol for com­mu­nic­at­ing across computer networks. Re­gard­less of whether it is over the internet or a local network, sending elec­tron­ic messages using IP addresses and the like is an integral part of the modern world of networks. The standard TCP/IP protocol stack provides a set of protocols and methods, which cover a wide variety of re­quire­ments.

The available forms of com­mu­nic­a­tion play a key role. Among those forms, multicast is becoming in­creas­ingly important. This concept, also known as IP multicast, enables in­form­a­tion to be sent from one node to multiple re­cip­i­ents. This is why multicast is often known as a point-to-mul­ti­point con­nec­tion.

By providing the pos­sib­il­ity of sending a single data stream to multiple re­cip­i­ents, mul­tic­ast­ing clearly dif­fer­en­ti­ates itself from standard unicast trans­mis­sion in which IP packets are sent via a direct con­nec­tion between the com­mu­nic­at­ing systems. IP multicast dis­tin­guishes itself from very similar broad­cast­ing methods by not sending the data streams to all par­ti­cipants in the network. It only sends to those who have pre­vi­ously re­gistered with the sender and are thus a part of the cor­res­pond­ing multicast group. The sender can then sim­ul­tan­eously transmit the re­spect­ive data stream to the group via an assigned multicast address. In the Internet Protocol version IPv4, the address range between 224.0.0.0 and 239.255.255.255 is assigned for this purpose, while the prefix FF00::/8 is used for multicast addresses in IPv6.

How does multicast ad­dress­ing work?

Group ad­dress­ing is one of the key features of IP multicast and is thus fun­da­ment­al to the way the com­mu­nic­a­tion system functions. It also provides the option of static ad­dress­ing in which a con­nec­tion is made with a multicast server that performs the required service. Al­tern­at­ively, multicast addresses can also be obtained dy­nam­ic­ally, since the multicast groups connected to them do not need to exist forever. This also means that private groups can be easily formed and just as easily dissolved again. Re­gard­less of whether the assigned address is static or dynamic, the address range for IP networks is from 224.0.0.0 to 239.255.255.255 (or FF00::/8), which is also referred to as the class D address range.

Joining IP multicast groups is normally handled by multicast-capable network routers and the Internet Group Man­age­ment Protocol (IGMP). To do so, the protocol, which is a member of the Internet Protocol family, provides various message types with which the hosts can inform the local router about the request to join and routers can receive and forward the related IP multicast data streams. IGMP com­mu­nic­a­tion always ori­gin­ates from the router which connects the multicast trans­mit­ter to the network. The trans­mit­ter only forwards the packets of a data stream once, spe­cify­ing the multicast group address as the recipient address. The number of end stations reached is unknown to the sender.

IP multicast: overview of routing tech­no­lo­gies and protocols

Routing, or sending multicast packets over in­di­vidu­al routers and networks, is con­trolled by special multicast routing protocols. It uses various al­gorithms to transmit the data stream as quickly and ef­fi­ciently as possible to all members of the par­tic­u­lar multicast group. There is no standard protocol as the existing protocols are designed for different tasks. Each has its strengths. Some are good for when group members are close to one another, while others have an advantage when the members are far apart. Ad­di­tion­ally, there are various routing al­gorithms including Reverse Path For­ward­ing (RPF) and Truncated Reverse Path For­ward­ing (TRPF), which have become par­tic­u­larly well es­tab­lished.

Reverse Path For­ward­ing (RPF)

Reverse Path For­ward­ing is a method, which ensures loop-free for­ward­ing of IP multicast packets in which hosts do not receive the packets more than once. The source address and the pre­vi­ously used interface in the network are crucial for for­ward­ing the data stream. As soon as a multicast packet reaches a router interface, it compares both of these pieces of in­form­a­tion with a routing table which was pre­vi­ously either auto­mat­ic­ally generated by the broadcast or con­figured manually. If there is an entry for the source address which confirms the pre­vi­ously used interface, the RPF check is suc­cess­ful and the router forwards the multicast stream to all other available in­ter­faces. If not, it discards the packets.

RPF performs a reverse check of the packet’s path. Ad­di­tion­ally, unicast routing methods are used to connect routers using the shortest possible path. The routing map is also referred to as the multicast tree. The sender or its router rep­res­ents the roots (i.e. the starting point).

Truncated Reverse Path For­ward­ing (TRPF)

Truncated Reverse Path For­ward­ing is an extension of the RPF concept in which multicast packets are only forwarded to routers, which serve at least one member of the multicast group. First, the standard reverse check of the source address and the receiver interface is performed. Then, TRPF checks the next possible in­ter­faces one after the other and de­term­ines which nodes are to be served. The deciding factor is whether an interface includes hosts which are re­gistered for the multicast group to which the received data stream is being sent. If so, the packets are forwarded, otherwise they are not.

Note

Before a multicast router can use TRPF, it needs a list of all multicast groups which can be reached via the various network in­ter­faces in addition to the routing table.

What kinds of multicast routing protocols are there?

There is no standard routing protocol for IP multicast. This is because of the trans­mis­sion radius and the number of receiving stations which have a sig­ni­fic­ant influence on the required protocol ar­chi­tec­ture. There is a strong dis­tinc­tion between the two types “dense mode” (i.e. for when receivers are “densely” populated) and “sparse mode” (i.e. for when receivers are “sparsely” populated). However, there are other dif­fer­ences between the protocols as well. This is il­lus­trated in the following sections in­tro­du­cing DVMRP, MOSPF, and PIM.

Distance Vector Multicast Routing Protocol (DVMRP)

In 1988, the Distance Vector Multicast Routing Protocol (DVMRP) was defined in RFC 1075 as an ex­per­i­ment­al solution for routing multicast packets among IP networks. DVMRP was developed by a research group at Stanford Uni­ver­sity in the US, using RIP (Routing Inform­a­tion Protocol), a unicast routing protocol based on the distance-vector algorithm.

Note

RIP was first defined in RFC 1058. Since then, the protocol has been revised several times. RIPng (RIP next gen­er­a­tion) is a version which adds IPv6 support to the routing protocol.

To ef­fect­ively calculate the packet’s paths, the team im­ple­men­ted the Reverse Path For­ward­ing method. Using this method, a multicast router auto­mat­ic­ally generates its own routing table where it stores a distance vector for all other routers in the network. These entries include in­form­a­tion about the costs as­so­ci­ated with sending data to the re­spect­ive router (e.g. trans­mis­sion delay or the number of relay stations) as well as in­form­a­tion about which neigh­bour­ing router the packet must be forwarded to in order to reach the des­tin­a­tion router. IGMP is used as the com­mu­nic­a­tions protocol for com­mu­nic­at­ing between different routers.

Multicast Open Shortest Path First (MOSPF)

Multicast Open Shortest Path First (MOSPF) is an extension of the OSPF routing protocol, which enables multicast routing within an OSPF-based network. This allows each router to have a complete database of the entire network topology (ar­range­ment of devices and con­nec­tions) which, due to new messages con­tain­ing in­form­a­tion about group mem­ber­ship, can also contain entries about the location of all par­ti­cipants in an IP multicast group. Mem­ber­ships are de­term­ined by routers which use IGMP messages to do so. Starting from the router where the multicast trans­mit­ter is located, you can easily create a tree diagram, which shows the shortest path for each packet.

Note

MOSPF does not require an ad­di­tion­al routing protocol to map out the multicast tree, since it uses OSPF routing for this purpose.

Protocol In­de­pend­ent Multicast (PIM)

Protocol In­de­pend­ent Multicast (PIM) is a routing protocol family, which does not have its own means of gen­er­at­ing routing tables. Therefore, PIM relies on in­form­a­tion provided by the unicast routing protocols active in the network. It does not matter which protocol is used. This is why Protocol In­de­pend­ent Multicast can be used in both dense and sparse networks. These two modes are called dense mode (PIM-DM) and sparse mode (PIM-SM).

In dense mode, the multicast data streams are sent to all network routers (due to a lack of group members) until they dis­con­nect from the multicast tree. Con­versely, sparse mode uses a ren­dez­vous point router as a hub for handling multicast con­nec­tions. This receives multicast trans­mis­sions and forwards the packets to all re­quest­ing routers whose subnets contain at least one member of the multicast group.

Multicast vs. broadcast: their sim­il­ar­it­ies and dif­fer­ences

Broad­cast­ing is not just an al­tern­at­ive to IP multicast. It can also be a part of multicast. There is an important sim­il­ar­ity between broad­cast­ing and multicast. Both broad­cast­ing and multicast make it possible to establish point-to-mul­ti­point con­nec­tions in IP networks which enable a trans­mit­ter to reach many receivers sim­ul­tan­eously. The major dif­fer­ence is that broad­cast­ing always targets all nodes in a network or network segment, while multicast only sends data to the multicast group, or specific receivers. (It is possible to cross network bound­ar­ies.)

Since broad­casts are always sent to all des­tin­a­tion nodes, there is no need for an extended address range, unlike with multicast. A standard broadcast will thus always be assigned the des­tin­a­tion IP address 255.255.255.255 for this purpose. Direct broad­casts, also known local broad­casts, are also made possible by spe­cify­ing the subnet mask. Broad­cast­ing has its ad­vant­ages if the recipient addresses are unknown, such as for file or printer sharing or when assigning IP addresses via DHCP. However, in com­par­is­on with multicast, this method requires far more resources and wastes some of the bandwidth.

Note

The broadcast message format no longer exists in IPv6. In the newer Internet Protocol version, special multicast addresses take over the function of sending messages or data packets sim­ul­tan­eously to all devices in a network.

Go to Main Menu