Multicast and Unicast with your Encoded Media appliance
Your TV Server, HD Encoder and SD Encoder appliance can be configured to use either dynamic unicast or multicast, both mechanisms having their pros and cons.
Multicast is best suited for networks with a large number of end-points (e.g. PCs, TVs, digital signage players, and so on), or where there is a network bottleneck between the server and the end-points. Unicast is preferable in all other scenarios, which is why the appliances are configured to use Dynamic Unicast by default.
Multicast is a true broadcast mechanism; a one-way, connectionless stream from the server to a potentially infinite number of end-points. Multicast packets use the existing network hardware to relay the stream to users, rather than the server sending multiple individual streams to users.
When a user chooses a channel, their system does not make a new connection to the server but instead 'tunes in' to the multicast stream, much like you would tune your radio to a station at home.
The appliance sends one stream per multicast channel of around 2.5 Mbps in size. Each additional viewer tuning into the stream adds no additional overhead, so the same load is experienced whether only one or 10,000 viewers are watching.
Multicast streaming is not enabled on new installs by default, and it is down to individual network administrators to choose between unicast and multicast delivery mechanisms.
|Multicast streams can only be used on the Local Area Network and should be tested with one channel before being rolled out for all channels.|
To realise the potential benefits from multicast streams, your network infrastructure must be carefully configured to support multicast routing. Broadcasting multicast streams to a network that is incorrectly configured can cause serious problems to other network users. This is because multicast packets are forwarded to all devices such as WI-FI access points, printers, routers, any number of which can become overwhelmed by the stream.
Configuring the network to support multicast is beyond the scope of this document, and will depend on your own network equipment. However, related topics for admins to research are Pim Sparse Mode (PIM-SM) and IGMP. Some switches will require software updates or even upgrading before these features can be adequately supported.
To help diagnose multicast issues, Encoded Media developed a multicast sniffer tool called McTest.
To minimise network bandwidth consumption, Encoded Media use its own proprietary system for sending streams to viewers known as Dynamic Unicast. Dynamic Unicast is based on traditional IP network packets that are used on your network already. Unlike multicast, there is no special configuration required to use it.
Dynamic unicast uses the same keep-alive and connectionless concepts as multicast, but sends destination routed packets instead of wildcard group packets. When a user selects a channel, their system connects to the server via the standard HTTP protocol and makes an IGMP-like request.
The server maintains a list of which hosts wants what channel, in a similar manner to multicast tables. When a packet arrives, the server looks to see who is watching that channel and forwards a copy of that packet directly to them.
To remain in the forwarding table, the user needs to send keep-alive messages. This automatic timing out ensures that when viewers stop watching a particular channel, the stream is always disconnected by the server.
An important consideration is that each subsequent viewer takes additional bandwidth. For example, a viewer requesting an SD channel consumes around 2.5 Mbps network bandwidth; four viewers requesting that channel would consume a total of 10 Mbps, and so on. This will quickly mount up if there are many hundreds of users connecting to the server. That said, for networks with fewer than 50 concurrent viewers, it would still only represent little more than 10% of the total available gigabit network connection (i.e. 50 x 2.5 = 125 Mbits).
As described above, individual unicast streams of around 2.5 Mbps are created for every viewer requesting a given SD channel. While this seems disadvantageous in comparison to multicast, you may determine that if your server is accessible to just one or two departments, unicast remains preferable because where the number of channels exceeds the number of viewers, multicast will consume more bandwidth than unicast because it sends all the channel data all the time.