A comparison of the Internet multicast routing protocols Jhyda Lin a , Ruay-Shiung Chang b, * a Department of Information Management, National Taiwan University of Science and Technology, Taipei, Taiwan b Department of Computer Science and Information Engineering, National Dong Hwa University, Hualien 974, Taiwan Received 21 November 1997; received in revised form 5 August 1998; accepted 10 August 1998 Abstract The exploding Internet has brought many novel network applications. These include teleconferencing, interactive games, the voice/video phone, real-time multimedia playing, distributed computing, web casting, and so on. One of the specific characteristics of these applications is that all involve interactions among multiple members in a single session. Unlike the traditional one-to-one message transmission (unicasting), if the underlying networks provide no suitable protocol supports, these applications may be costly and infeasible to implement. Multicasting is one technique proposed to efficiently distribute datagrams to a set of interested group members on the interconnected networks. In this article, we survey the multicast routing protocols on the Internet today. Four well-known multicast routing protocols, Distance Vector Multicast Routing Protocol (DVMRP), Multicast extensions to OSPF (MOSPF), Core Based Tree multicast routing protocol (CBT), and Protocol Independent Multicast routing protocol (PIM), are introduced. Different protocols have different design concepts and use different techniques to delivery datagrams and each has its special functions and properties. We provide a succinct explanation of their features. The advantages and weaknesses of these Internet protocols are also examined and compared in detail by several protocol characteristics. 1999 Elsevier Science B.V. All rights reserved. Keywords: Multicasting routing protocols; Delivery tree; Datagrams 1. Introduction From the Internet, corporate Intranet, to various on-line information services, we have seen and are witnessing a series of unprecedented innovative applications. These applications include video conferencing, distance learning, shared collaborative computing, and so on. The require- ments of these applications highlight several strategic research and development directions for networks in the future. One of them is to provide a new interactive service architecture to facilitate the highly distributed sets of co- operating applications. Unlike most of the successful appli- cations in use today, they involve the interactions among multiple members in a single session. For example, the images and voices of the lecturer in distance learning must be transmitted to multiple destinations at the same time on demand. These real-time member interactions need supports from the underlying networks. That is, the network protocol layers must be able to perform an impor- tant function called ‘‘multicasting.’’ Multicasting [5,6] refers to transmit a single data packet to a set of receivers that are members of a multicast group. Different from one-to-one unicasting and one-to-all broad- casting, multicasting is considered as the more generalized concept: many-to-many. That is, the number of group members varies from zero to all. They may spread across a large network. At any time, each of them is allowed to join and leave the group dynamically. Individual network node can also be a member to different groups at the same time. Consequently, for such situations, multicasting manages the multiple members with a unique group address. Datagrams designated to the specific group address will be distributed to all members of that group. To avoid consuming band- width by forwarding datagrams repeatedly on unicasting basis or causing heavy traffic by broadcasting, it takes advantage of the ‘‘spanning tree’’ concept to force the network to replicate datagrams only when necessary at branches. Multicasting offers a better improvement of the network load and resource usage in comparison with tradi- tional delivering. In this article, we discuss and compare four well-known multicast routing protocols on the Internet today. First, Section 2 explains what multicasting is about. Section 3 gives an overview of the current Internet protocols: Computer Communications 22 (1999) 144–155 0140-3664/99/$ - see front matter 1999 Elsevier Science B.V. All rights reserved. PII: S0140-3664(98)00236-9 This research is supported in part by ROC NSC under contracts NSC87-2213-E011-013 and NSC87-2622-E007-002. * Corresponding author. Tel.: 886 3 8662500 Ext. 1 831; Fax: 886 3 8662781; e-mail: rschang@csie.ndhu.edu.tw