Here is a brief overview of the multicast routing protocols that have been developed for the Internet. Distance Vector Multicast Routing Protocol (DVMRP):5 DVMRP was the first multicast routing protocol developed for the Internet. DVMRP can operate in an environment where some, but not all routers in the network are capable of multicast forwarding and routing. This is achieved by having DVMRP run a separate unicast routing algorithm, similar to RIP, to determine the shortest-paths between all multicast-capable routers. DVMRP uses flood-and prune to set up source-based trees. DVMRP messages are encapsulated in IGMP messages, where the type field is set to 3.
DVMRP played an important role in the early deployment of IP multicast. IP multicast deployment in the Internet began in the early 1990s with the creation of the Multicast Backbone (MBONE). The multicast routing algorithm in the MBONE is DVMRP. The MBONE solved the problem of wide-area IP multicast routing on the Internet where only few routers were capable of IP multicast routing, by setting up a virtual network of multicast routers that are connected by unicast path. These multicast routers exchanged multicast IP datagram that were encapsulated in IP unicast datagrams, using the IP-in-IP option in the IP header.
As a result of the encapsulation, the MBONE is a virtual network, where each link between two multicast routers consists of a complete unicast path. As more and more routers provide native support for IP multicast, meaning that they are capable of forwarding IP multicast traffic and running a multicast routing protocol, the need for a virtual multicast network has all but disappeared. Multicast Open Shortest Path First (MOSPF):6 MOSPF consists of multicast extensions to the unicast routing protocol OSPF, and requires that OSPF is used for unicast routing. In MOSPF, multicast routers broadcast link state advertisements (LSAs) to all other multicast routers. Then, as in unicast OSPF, each multicast router calculates routes independently.
MOSPF computes shortest-path trees for each sender in the multicast group. A router computes a shortest-path tree for a source only if there is traffic from that sender. Core Based Tree (CBT):7 CBT was the first routing protocol for the Internet that took a corebased tree approach. CBT builds a shared tree using reverse-path forwarding, without making assumptions on the unicast routing protocol used. The core of a group is either statically configured, or determined as the outcome of a selection process from a candidate set. Different multicast groups may use different core-bases trees. Distribution trees in CBT are bidirectional, that is, routers are capable of forwarding multicast packets downstream away from the core as well as upstream towards the core.
Protocol Independent Multicast (PIM):8 Protocol independent multicast consists of two multicast routing protocols: PIM Dense Mode (PIM-DM) and PIM Sparse Mode (PIM-SM). PIM-DM builds source-based trees using flood-and-prune, and is intended for large multicastence of this is that PIM must assume that all routers in the network are multicast enabled. An important difference between the core-based trees of PIM and CBT is that the trees in PIM are unidirectional, that is, sources always forward packets to the core, and the core transmits packets downstream the corebased tree.
All of the above multicast routing protocols follow the service model of IP multicast where any host can transmit to all multicast groups. Since this service model makes multicast routing complex, recently there has been support for a source-specific multicast service model, where hosts join a multicast group separately for each source. This service model is called Source- Specific Multicast (SSM). SSM requires that a host, when it joins a multicast group G, also specifies the source S from which it wishes to receive multicast packets. This can be accommodated by IGMPv39, a recently completed new revision IGMP, which allows hosts to join a multicast group for specific sources. SSM does not require new multicast routing protocols. In fact, routing for SSM can be realized with a subset of most existing protocols.