There are two primary ways that video is transmitted across an IP network: multicast and unicast. Depending on the type of network, number of client devices, and desired QoS, one method will be preferred over the other, based on the requirements.
In brief, if weighing up multicast Vs unicast:
Multicast is communication from one source to more than one more receiver. It is distinct from Broadcast, which also transmits from one source to multiple destinations, because the client device receives only the stream it requests.
Unicast is a one to one communication from one source to one destination (one sender to one receiver).
Multicast transmission is a one-to-many broadcast methodology between multiple decoders and the source. Multicast uses IP delivery method – User Datagram Protocol (UDP) as the protocol.The multicast transport relies on multicast-enabled routers to forward the packets to a client subnet where multiple client devices are listening.
The multicast server sends a single stream, allowing multiple clients to listen in. There is no direct relationship between the decoders and the source. The decoders subscribe to a multicast group and the network ensures delivery of the stream. Therefore, there is no additional overhead on the multicast server if an additional client joins. The same load is experienced on the source whether only one client or 1,000 clients are connecting.
Multicast streaming is similar to broadcast in the sense that the source transmits each video stream only once regardless of the number of clients that will view it. The key difference is that the switches in the network only replicate the video stream to each output interface where it is requested.
This removes the redundant traffic in the network which would otherwise flood the network.
Unicast is a one-to one connection from the head-end (source) to a single endpoint such as a client PC. Unicast uses IP delivery methods such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), which are session-based protocols.
Session-based protocols transmit video traffic on a one-to-one basis, establishing individual sessions between the transmission server and each client. The head-end may serve multiple streams to multiple clients, but always in a one to one basis. As the unicast server has a direct relationship with each client, each unicast client that connects to the server will take up additional bandwidth.
Unicast streaming is used in applications like video on demand (VOD) where each user is viewing the content on their own time frame, or when multicast video is reflected to an external location over non-multicast networks. Due to the increased network consumption, unicast is not suitable for applications where multiple viewers are receiving the same content simultaneously.
Unicast transmission requires no additional network configuration and is the most common form of data streaming over IP networks.
While multicast traffic is subject to packet loss that risks quality of service, unicast traffic can operate at higher data rates. Therefore, in most scenarios where media is being streamed, unicast is preferred to multicast.