IP multicast is a method of sending Internet Protocol (IP) datagrams to a group of interested receivers in a single transmission. It is the IP-specific form of multicast and is used for streaming media and other network applications. It uses specially reserved multicast address blocks in IPv4 and IPv6.

Protocols associated with IP multicast include Internet Group Management Protocol, Protocol Independent Multicast, and Multicast VLAN Registration. IGMP snooping is used to manage IP multicast traffic on layer-2 networks.

IP multicast is described in . IP multicast was first standardized in 1986. Its specifications have been augmented in to include group management and in to include administratively scoped addresses.

Technical description IP multicast is a technique for one-to-many and many-to-many real-time communication over an IP infrastructure in a network. It scales to a larger receiver population by requiring neither prior knowledge of a receiver's identity nor prior knowledge of the number of receivers. Multicast uses network infrastructure efficiently by requiring the source to send a packet only once, even if it needs to be delivered to a large number of receivers. The nodes in the network (typically network switches and routers) take care of replicating the packet to reach multiple receivers, such that messages are sent over each link of the network only once.

The most common transport layer protocol to use multicast addressing is User Datagram Protocol (UDP). By its nature, UDP is not reliable—messages may be lost or delivered out of order. Reliable multicast protocols such as Pragmatic General Multicast (PGM) have been developed to add loss detection and retransmission on top of IP multicast.

Key concepts in IP multicast include an IP multicast group address, a multicast distribution tree, and receiver-driven tree creation.

An IP multicast group address is used by sources and receivers to send and receive multicast messages. Sources use the group address as the IP destination address in their data packets. Receivers use this group address to inform the network that they are interested in receiving packets sent to that group. For example, if some content is associated with group , the source will send data packets destined to . Receivers for that content will inform the network that they are interested in receiving data packets sent to the group . The receiver joins . The protocol typically used by receivers to join a group is called the Internet Group Management Protocol (IGMP).

With routing protocols based on shared trees, once the receivers join a particular IP multicast group, a multicast distribution tree is constructed for that group. The protocol most widely used for this is Protocol Independent Multicast (PIM). It sets up multicast distribution trees such that data packets from senders to a multicast group reach all receivers that have joined the group. There are variations of PIM implementations: Sparse Mode (SM), Dense Mode (DM), source-specific multicast (SSM) and Bidirectional Mode (Bidir, or Sparse-Dense Mode, SDM). Of these, PIM-SM is the most widely deployed ; SSM and Bidir are simpler and scalable variations developed more recently and are gaining in popularity.

IP multicast operation does not require an active source to know about the receivers of the group. The multicast tree construction is receiver-driven and is initiated by network nodes that are close to the receivers. IP multicast scales to a large receiver population. The IP multicast model has been described by Internet architect Dave Clark as, "You put packets in at one end, and the network conspires to deliver them to anyone who asks."

IP multicast creates state information per multicast distribution tree in the network. If a router is part of 1000 multicast trees, it has 1000 multicast routing and forwarding entries. On the other hand, a multicast router does not need to know how to reach all other multicast trees in the Internet. It only needs to know about multicast trees for which it has downstream receivers. This is key to scaling multicast-addressed services. In contrast, a unicast router needs to know how to reach all other unicast addresses in the Internet, even if it does this using just a default route. For this reason, aggregation is key to scaling unicast routing. Also, there are core routers that carry routes in the hundreds of thousands because they contain the Internet routing table.

Routing Each host that wants to be a receiving member of a multicast group (i.e., receive data corresponding to a particular multicast address) must use IGMP to join. Adjacent routers also use this protocol to communicate.

In unicast routing, each router examines the destination address of an incoming packet and looks up the destination in a table to determine which interface to use in order for that packet to get closer to its destination. The source address is irrelevant to the router. However, in multicast routing, the source address (which is a simple unicast address) is used to determine data stream direction. The source of the multicast traffic is considered upstream. The router determines which downstream interfaces are destinations for this multicast group (the destination address), and sends the packet out through the appropriate interfaces. The term reverse-path forwarding is used to describe this concept of routing packets away from the source, rather than towards the destination.

Several errors can happen if packets intended for unicast are accidentally sent to a multicast address; in particular, sending ICMP packets to a multicast address has been used in the context of DoS attacks as a way of achieving packet amplification.

On the local network, multicast delivery is controlled by IGMP (on IPv4 networks) and MLD (on IPv6 networks); inside a routing domain, PIM or MOSPF are used; between routing domains, one uses inter-domain multicast routing protocols, such as MBGP.

The following are some common delivery and routing protocols used for multicast distribution: Internet Group Management Protocol (IGMP) Protocol Independent Multicast (PIM) Distance Vector Multicast Routing Protocol (DVMRP) Multicast Open Shortest Path First (MOSPF) Multicast BGP (MBGP) Multicast Source Discovery Protocol (MSDP) Multicast Listener Discovery (MLD) GARP Multicast Registration Protocol (GMRP)

Layer 2 delivery Unicast packets are delivered to a specific recipient on an Ethernet or IEEE 802.3 subnet by setting a specific layer 2 MAC address on the Ethernet packet address. Broadcast packets make use of the broadcast MAC address .

IPv4 multicast packets are delivered using the Ethernet MAC address range through (with an OUI owned by the IANA). This range has 23 bits of available address space. The first octet (01) includes the broadcast/multicast bit. The lower 23 bits of the 28-bit multicast IP address are mapped into the 23 bits of available Ethernet address space. This means that there is ambiguity in delivering packets. If two hosts on the same subnet each subscribe to a different multicast group whose address differs only in the first 5 bits, Ethernet packets for both multicast groups will be delivered to both hosts, requiring the network software in the hosts to discard the unrequired packets. Obsoletes and ; updated by

For IPv6 multicast addresses, the Ethernet MAC is derived by the four low-order octets OR'ed with the MAC , so for example the IPv6 address would map to the Ethernet MAC address . Obsoletes ; updated by , . If a switch does not understand multicast addresses, then it will flood that traffic to all the members of a LAN; in this case, the system's network card (or operating system) has to filter the packets sent to multicast groups it is not subscribed to.

There are switches that listen to IGMP traffic and maintain a state table of which network systems are subscribed to a given multicast group. This table is then used to forward traffic destined to a given group only to a limited set of hosts (ports). This process of listening to the IGMP traffic is called IGMP snooping.

Additionally, some switches with layer 3 capabilities can act as an IGMP querier. In networks where there is no router present to act as a multicast router, a switch with IGMP snooping querier enabled can be used to generate the needed IGMP messages to get users to subscribe to multicast traffic.

Wireless considerations 802.11 wireless networking uses the same range of MAC addresses as wired Ethernet to map IP multicast addresses. However, an 802.11 wireless network handles multicast traffic differently, depending on the configuration of the delivery traffic indication message (DTIM) and beacon interval settings. If no stations within the basic service set are in power save mode, multicast packets are sent immediately when they arrive. If there is one or more stations in power save mode, access points then only deliver multicast traffic after each DTIM interval and transmit at one of the supported rates in the basic rate set. In most wireless access points, default configuration for this interval is either 102.4 ms (Beacon interval = 100ms, DTIM = 1) or 204.8 ms (Beacon interval = 100ms, DTIM = 2), and the transmit rate is either or , depending on the operating band and protection mode. The DTIM and beacon interval settings can be adjusted to improve multicast performance in wireless networks.

Unlike Ethernet, most traffic in 802.11 is sent reliably using ACKs and NACKs so that radio interference does not cause unbearably high packet loss. However, multicast packets are sent once and are not acknowledged, so they are subject to much higher loss rates. There are various methods for coping with this, such as choosing to unicast multicast data repeatedly to each client, or requesting ACKs from each client. Some methods require only modification on the access point, and are supported in some enterprise-class devices, while other improvements would require modifications to clients, and therefore have not seen widespread adoption.

Secure multicast IP multicast is an Internet communication method where a single data packet can be transmitted from a sender and replicated to a set of receivers. The replication techniques are somewhat dependent upon the media used to transmit the data. Transmission of multicast on an inherent broadcast medium, such as Ethernet or a satellite link, automatically allows the data packet to be received by all the receivers directly attached to the media. In contrast, transmission of multicast on media that are point-to-point or point-to-multipoint requires the packet to be replicated for each link. The replication process should occur in an optimal manner where a distribution tree is built within the network. The packet can be replicated at each of the branches in the tree. This mitigates the requirement for the sender to replicate the packet once for each recipient.

The use of IPsec as a communication link requires a point-to-point connection establishment. Usually, security is required from sender to receiver, which implies the sender must replicate the packet on each of the secure connections - one for each receiver. As the number of receivers grows, the sender must scale by replicating the packet to each of the receivers. The processing load placed on the sender can be high, which limits the scalability of the sender. A new method was required to securely transmit multicast, and this was referred to as Secure Multicast or Multicast Security.