What is Multicast?
When it comes to radio and television broadcasts, it does not matter how many users are tuned in and using the service. This is not at all the case when sending information over IP networks. For example, if several different users were able to connect to a livestream, the standard IP unicast communication would require the sending station to send the corresponding packets to each recipient separately. 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 implemented. It enables the sender to transmit IP data streams to many recipients simultaneously in a single step.
- What is IP multicast?
- How does multicast addressing work?
- IP multicast: overview of routing technologies and protocols
- Multicast vs. broadcast: their similarities and differences
What is IP multicast?
The Internet Protocol is the standard protocol for communicating across computer networks. Regardless of whether it is over the internet or a local network, sending electronic 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 requirements.
The available forms of communication play a key role. Among those forms, multicast is becoming increasingly important. This concept, also known as IP multicast, enables information to be sent from one node to multiple recipients. This is why multicast is often known as a point-to-multipoint connection.
By providing the possibility of sending a single data stream to multiple recipients, multicasting clearly differentiates itself from standard unicast transmission in which IP packets are sent via a direct connection between the communicating systems. IP multicast distinguishes itself from very similar broadcasting methods by not sending the data streams to all participants in the network. It only sends to those who have previously registered with the sender and are thus a part of the corresponding multicast group. The sender can then simultaneously transmit the respective data stream to the group via an assigned multicast address. In the Internet Protocol version IPv4, the address range between 22.214.171.124 and 126.96.36.199 is assigned for this purpose, while the prefix FF00::/8 is used for multicast addresses in IPv6.
How does multicast addressing work?
Group addressing is one of the key features of IP multicast and is thus fundamental to the way the communication system functions. It also provides the option of static addressing in which a connection is made with a multicast server that performs the required service. Alternatively, multicast addresses can also be obtained dynamically, 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. Regardless of whether the assigned address is static or dynamic, the address range for IP networks is from 188.8.131.52 to 184.108.40.206 (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 Management 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 communication always originates from the router which connects the multicast transmitter to the network. The transmitter only forwards the packets of a data stream once, specifying the multicast group address as the recipient address. The number of end stations reached is unknown to the sender.
IP multicast: overview of routing technologies and protocols
Routing, or sending multicast packets over individual routers and networks, is controlled by special multicast routing protocols. It uses various algorithms to transmit the data stream as quickly and efficiently as possible to all members of the particular 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. Additionally, there are various routing algorithms including Reverse Path Forwarding (RPF) and Truncated Reverse Path Forwarding (TRPF), which have become particularly well established.
Reverse Path Forwarding (RPF)
Reverse Path Forwarding is a method, which ensures loop-free forwarding of IP multicast packets in which hosts do not receive the packets more than once. The source address and the previously used interface in the network are crucial for forwarding the data stream. As soon as a multicast packet reaches a router interface, it compares both of these pieces of information with a routing table which was previously either automatically generated by the broadcast or configured manually. If there is an entry for the source address which confirms the previously used interface, the RPF check is successful and the router forwards the multicast stream to all other available interfaces. If not, it discards the packets.
RPF performs a reverse check of the packet’s path. Additionally, 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 represents the roots (i.e. the starting point).
Truncated Reverse Path Forwarding (TRPF)
Truncated Reverse Path Forwarding 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 interfaces one after the other and determines which nodes are to be served. The deciding factor is whether an interface includes hosts which are registered for the multicast group to which the received data stream is being sent. If so, the packets are forwarded, otherwise they are not.
Before a multicast router can use TRPF, it needs a list of all multicast groups which can be reached via the various network interfaces 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 transmission radius and the number of receiving stations which have a significant influence on the required protocol architecture. There is a strong distinction 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 differences between the protocols as well. This is illustrated in the following sections introducing 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 experimental solution for routing multicast packets among IP networks. DVMRP was developed by a research group at Stanford University using RIP (Routing Information Protocol), a unicast routing protocol based on the distance-vector algorithm.
To effectively calculate the packet’s paths, the team implemented the Reverse Path Forwarding method. Using this method, a multicast router automatically generates its own routing table where it stores a distance vector for all other routers in the network. These entries include information about the costs associated with sending data to the respective router (e.g. transmission delay or the number of relay stations) as well as information about which neighboring router the packet must be forwarded to in order to reach the destination router. IGMP is used as the communications protocol for communicating 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 (arrangement of devices and connections) which, due to new messages containing information about group membership, can also contain entries about the location of all participants in an IP multicast group. Memberships are determined by routers which use IGMP messages to do so. Starting from the router where the multicast transmitter is located, you can easily create a tree diagram, which shows the shortest path for each packet.
MOSPF does not require an additional routing protocol to map out the multicast tree, since it uses OSPF routing for this purpose.
Protocol Independent Multicast (PIM)
Protocol Independent Multicast (PIM) is a routing protocol family, which does not have its own means of generating routing tables. Therefore, PIM relies on information provided by the unicast routing protocols active in the network. It does not matter which protocol is used. This is why Protocol Independent 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 disconnect from the multicast tree. Conversely, sparse mode uses a rendezvous point router as a hub for handling multicast connections. This receives multicast transmissions and forwards the packets to all requesting routers whose subnets contain at least one member of the multicast group.
Multicast vs. broadcast: their similarities and differences
Broadcasting is not just an alternative to IP multicast. It can also be a part of multicast. There is an important similarity between broadcasting and multicast. Both broadcasting and multicast make it possible to establish point-to-multipoint connections in IP networks which enable a transmitter to reach many receivers simultaneously. The major difference is that broadcasting 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 boundaries.)
Since broadcasts are always sent to all destination nodes, there is no need for an extended address range, unlike with multicast. A standard broadcast will thus always be assigned the destination IP address 255.255.255.255 for this purpose. Direct broadcasts, also known local broadcasts, are also made possible by specifying the subnet mask. Broadcasting has its advantages if the recipient addresses are unknown, such as for file or printer sharing or when assigning IP addresses via DHCP. However, in comparison with multicast, this method requires far more resources and wastes some of the bandwidth.
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 simultaneously to all devices in a network.