Multicast Notes

The six basic requirements for supporting multicast across a routed network are as follows:

■ A designated range of Layer 3 addresses that can only be used by multicast applications must exist. A network administrator needs to install a multicast application on a multicast server
using a Layer 3 multicast address from the designated range.

■ A multicast address must be used only as a destination IP address and specifically not as a source IP address. Unlike a unicast IP packet, a destination IP address in a multicast packet
does not specify a recipient’s address but rather signifies that the packet is carrying multicast traffic for a specific multicast application.

■ The multicast application must be installed on all the hosts in the network that need to receive the multicast traffic for the application. The application must be installed using the same
Layer 3 multicast address that was used on the multicast server. This is referred to as launching an application or joining a group.

■ All hosts that are connected to a LAN must use a standard method to calculate a Layer 2 multicast address from the Layer 3 multicast address and assign it to their network interface
cards (NICs). For example, if multiple routers are connected to an Ethernet segment and all of them are using the OSPF routing protocol, all the routers on their Ethernet interfaces will
also be listening to the Layer 2 multicast address 0x0100.5e00.0005 in addition to their Burned-In Addresses (BIA). This Layer 2 multicast address 0x0100.5e00.0005 is calculated
from the multicast Layer 3 address 224.0.0.5, which is reserved for the OSPF routing protocol.

■ There must be a mechanism by which a host can dynamically indicate to the connected router whether it would like to receive the traffic for the installed multicast application. The Internet
Group Management Protocol (IGMP) provides communication between hosts and a router connected to the same subnet. The Cisco Group Management Protocol (CGMP) or IGMP
snooping helps switches learn which hosts have requested to receive the traffic for a specific multicast application and to which switch ports these hosts are connected.

■ There must be a multicast routing protocol that allows routers to forward multicast traffic from multicast servers to hosts without overtaxing network resources. Some of the multicast
routing protocols are Distance Vector Multicast Routing Protocol (DVMRP), Multicast Open Shortest Path First (MOSPF), and Protocol Independent Multicast dense mode (PIM-DM) and sparse mode (PIM-SM).

■ Switches learn on which ports they have hosts that would like to receive the multicast traffic for the multicast application by using either CGMP or IGMP snooping.


Although multicast offers many advantages, it also has some disadvantages. Multicast is UDPbased and hence unreliable. Lack of TCP windowing and “slow start” mechanisms can result in
network congestion. Some multicast protocol mechanisms occasionally generate duplicate packets and deliver packets out of order.

IP multicast addresses range from 224.0.0.0 through 239.255.255.255. There is no need for a subnet mask for multicast addresses because they are not hierarchical. The first 4 bits of the first octet must be 1110. The last 28 bits are unstructured.

IANA has assigned several ranges of multicast IP addresses for specific types of reasons. Those types are as follows:
■ Permanent multicast groups, in the range 224.0.0.0–224.0.1.255
■ Addresses used with Source-Specific Multicast (SSM), in the range 232.0.0.0–232.255.255.255
■ GLOP addressing, in the range 233.0.0.0–233.255.255.255
■ Private multicast addresses, in the range 239.0.0.0–239.255.255.255

Some Well-Known Reserved Multicast Addresses:
- 224.0.0.1 - All multicast hosts
- 224.0.0.2 - All multicast routers
- 224.0.0.4 - DVMRP routers
- 224.0.0.5 - All OSPF routers
- 224.0.0.6 - OSPF designated routers
- 224.0.0.9 - RIPv2 rotuers
- 224.0.0.10 - EIGRP routers
- 224.0.0.22 - IGMPv3
- 224.0.0.25 - RGMP
- 224.0.1.39 - Cisco-RP-Announce
- 225.0.1.40 - Cisco-RP-Discovery

IANA has allocated the range 232.0.0.0 through 232.255.255.255 for SSM applications and protocols. The purpose of these applications is to allow a host to select a source for the multicast group.
IANA has reserved the range 233.0.0.0 through 233.255.255.255 (RFC 2770), called GLOP addressing, on an experimental basis. By using a value of 233 for the first octet, and by using the ASN for the second and third octets, a single autonomous system can create globally unique multicast addresses as defined in the GLOP addressing RFC.

The last of the reserved multicast address ranges mentioned here is the range of administratively scoped addresses. IANA has assigned the range 239.0.0.0 through 239.255.255.255 (RFC 2365) for use in  rivate multicast domains, much like the IP unicast ranges defined in RFC 1918.

Summary of Multicast Address Ranges:
224.0.0.0 to 239.255.255.255 -- This range represents the entire IPv4 multicast address space. It is reserved for multicast applications.
224.0.0.0 to 224.0.0.255     -- This range is part of the permanent groups. Addresses from this range are assigned by IANA for network protocols on a local segment. Routers do not forward packets with  destination addresses used from this range.
224.0.1.0 to 224.0.1.255     --  This range is also part of the permanent groups. Addresses from this range are assigned by IANA for the network protocols that are forwarded in the entire network. Routers forward packets with destination addresses used from this range.
232.0.0.0 to 232.255.255.255 -- This range is used for SSM applications.
233.0.0.0 to 233.255.255.255 -- This range is called the GLOP addressing. It is used for automatically allocating 256 multicast addresses to any enterprise that owns a registered ASN.
239.0.0.0 to 239.255.255.255 -- This range is used for private multicast domains. These addresses are called administratively scoped addresses.

Mapping IP Multicast Addresses to MAC Addresses
Step 1 Convert the IP address to binary. Notice the first 4 bits; they are always 1110 for any multicast IP address.
Step 2 Replace the first 4 bits 1110 of the IP address with the 6 hexadecimal digits (or 24 bits) 01-00-5E as multicast OUI, in the total space of 12 hexadecimal digits (or 48 bits) for a multicast MAC address.
Step 3 Replace the next 5 bits of the binary IP address with one binary 0 in the multicast MAC address space.
Step 4 Copy the last 23 bits of the binary IP address in the last 23-bit space of the multicast MAC address.
Step 5 Convert the last 24 bits of the multicast MAC address from binary to 6 hexadecimal digits.
Step 6 Combine the first 6 hexadecimal digits 01-00-5E with the last 6 hexadecimal digits, calculated in Step 5, to form a complete multicast MAC address of 12 hexadecimal digits.


IGMP V3
In IGMPv2, when a host makes a request to join a group, a multicast router forwards the traffic for the group to the subnet regardless of the source IP address of the packets. In very large networks, such as an Internet broadcast, this can cause problems. IGMPv3 allows a host to filter incoming traffic based on the source IP addresses from which it is willing to receive packets, through a feature called Source-Specific Multicast (SSM). Destination address 224.0.0.22, specially assigned by IANA for the IGMPv3 Membership Report.


■ Cisco Group Management Protocol (CGMP)
CGMP, a Layer 2 protocol, is configured on both a Cisco router and switches and permits the router to communicate Layer 2 information it has learned from IGMP to switches. A multicast router knows the  MAC addresses of the multicast hosts, and the groups to which they listen, based on IGMP communication with hosts. The goal of CGMP is to enable the router to communicate this information through CGMP messages to switches so that switches can dynamically modify their CAM table entries. Only the routers produce CGMP messages, while switches only listen to the CGMP messages. To do this, CGMP must be enabled at both ends of the router-switch connection over which CGMP is operating, because both devices must know to use CGMP.
The destination address on the CGMP messages is always the well-known CGMP multicast MAC address 0x0100.0cdd.dddd.

■ IGMP snooping
What happens if your network has non-Cisco switches? You cannot use CGMP because it is Cisco proprietary. IGMP snooping can be used for a multivendor switched network to control distribution of multicast traffic at Layer 2. IGMP snooping requires the switch software to eavesdrop on the IGMP conversation between multicast hosts and the router. The switch examines IGMP messages and learns the location of multicast routers and group members.


■ Router-Port Group Management Protocol (RGMP)
RGMP is a Layer 2 protocol that enables a router to communicate to a switch which multicast group traffic the router does and does not want to receive from the switch. By being able to restrict the
multicast destinations that a switch forwards to a router, a router can reduce its overhead. In fact, RGMP was designed to help routers reduce overhead when they are attached to high-speed LAN backbones. It is enabled at the interface configuration mode using the simple command ip rgmp.

IGMP snooping helps switches control distribution of multicast traffic on ports where multicast hosts are connected, but it does not help switches control distribution of multicast traffic on ports  where multicast routers are connected.


RGMP includes four different messages. All the RGMP messages are generated by a router and are sent to the multicast IP address 224.0.0.25. The following list describes the four RGMP messages:
■ When RGMP is enabled on a router, the router sends RGMP Hello messages by default every 30 seconds. When the switch receives an RGMP Hello message, it stops forwarding all multicast traffic on the port on which it received the Hello message.

■ When the router wants to receive traffic for a specific multicast group, the router sends an RGMP Join G message, where G is the multicast group address, to the switch. When the switch receives an RGMP Join message, it starts forwarding the requested group traffic on the port on which it received the Hello message.

■ When the router does not want to receive traffic for a formerly RGMP-joined specific multicast group, the router sends an RGMP Leave G message, where G is the multicast group address, to the switch. When the switch receives an RGMP Leave message, it stops forwarding the group traffic on the port on which it received the Hello message.

■ When RGMP is disabled on the router, the router sends an RGMP Bye message to the switch. When the switch receives an RGMP Bye message, it starts forwarding all IP multicast traffic on the port on which it received the Hello message.