Library Table of Contents Index Previous Next Comments

NetCache support for live streams over unicast

About this section  Top

The previous section describes how NetCache makes a single connection to the streaming server for each unique live stream. This section describes the interaction between a NetCache appliance and clients when NetCache uses unicast transmission (TCP, UDP, or HTTP).

The behavior described in this section is the NetCache default behavior. NetCache support for multicast, which is described in NetCache support for live streams over multicast, must be explicitly configured on a NetCache appliance.

When NetCache uses unicast transmission  Top

Unicast transmission is the NetCache default behavior. NetCache uses unicast transmission to send content to the client network under the following circumstances:

Even if NetCache sends content to clients by using unicast transmission, NetCache helps you conserve bandwidth for live streams. The reason is that NetCache conserves upstream bandwidth because it makes only a single connection to the origin server on behalf of multiple clients that request the same stream.

Request flow with unicast transmission  Top

In the unicast streaming model, NetCache receives a single copy of the stream from the server and splits it when sending it out to clients. Therefore, NetCache conserves downstream bandwidth by replicating the stream to multiple downstream clients.

A streaming media cache handles the first request for a live media stream differently than it handles subsequent requests for the same media stream.

Path of the first request for a live stream

The following illustration shows what happens when the first client makes a request for a particular stream.

The streaming media cache intercepts the streaming request sent by the client. Because the streaming media cache is not already delivering the stream to another client, the cache connects to the streaming server to obtain the requested stream.

Path of subsequent requests for the same unique stream

The following illustration shows the path for additional requests for the same unique stream that Client 1 requested.

The flow of requests and streams in the preceding illustration is as follows:

  1. Assume that Client 1 already requested a stream from the streaming server. Client 2 and Client 3 now request the same unique stream that Client 1 requested (as shown in the illustration of the path of the first request).
  2. Because the streaming media cache is already delivering the requested stream to Client 1, the cache splits the stream and delivers the same unique stream to Client 2 and Client 3. The stream is split without impacting the quality of the stream.

    If Client 2 or 3 had requested a different unique stream than Client 1 requested, the streaming media cache would have sent that unique request to the streaming server, as it did for Client 1.

  3. The streaming media flow that is shown between the streaming server and the streaming media cache was initiated by the request from Client 1. No connection to the streaming server is necessary after the streaming media cache connects to the server for the first request for a unique stream.

At first glance, the streaming media cache-client model resembles the server-client model illustrated in High bandwidth use with streaming media. However, in the streaming media cache-client model in the previous illustration, most of the streaming activity takes place between the client and the cache, which is closer to the clients than the streaming server. The cache connects to the streaming server only once for each unique stream, thereby conserving bandwidth. Additionally, when the stream is served from a source close to the client, quality is higher because less packet loss occurs, and packet retransmissions occur quickly because client-to-cache latency is low.

Transports for unicast  Top

NetCache supports TCP, UDP and HTTP for unicast transmission.

NetCache support for TCP and UDP

NetCache supports both TCP and UDP from the client to the streaming media cache. Many streaming media administrators prefer to use UDP because it is the most efficient and provides the best stream quality. The use of UDP depends on whether the client media player is configured to use UDP and whether the firewall is configured to allow UDP ports. See Considerations for firewalls and streaming media service for more information.

NetCache support for HTTP

Although HTTP is not usually associated with streaming media, HTTP can be used as a streaming media transport. HTTP use for streaming media is necessary in circumstances such as the following:

In these cases, NetCache uses HTTP encapsulation; that is, NetCache tunnels a streaming media protocol over HTTP. NetCache can use HTTP encapsulation in the following ways:

About setting up an L4 or L7 switch to support HTTP encapsulation

The HTTP encapsulation protocols for Windows Media, RealSystem, and QuickTime require that multiple HTTP connections from the client are directed to the same server (or proxy-cache server). Therefore, you must configure your L4 or L7 switch's load balancing algorithm accordingly. A hash based on client IP address, server IP address, or both works but round-robin or least connections does not.

About stream upgrade requests  Top

NetCache supports clients that request a change from one unique stream to another during a specific streaming media presentation, for example, a request for an upgrade from 28 kbps to 56 kbps. NetCache intercepts a request for a stream upgrade. If the streaming media cache is already delivering that upgrade stream to a client, the cache splits the stream to resolve the upgrade request. The streaming media cache does not need to open a new connection to the streaming server if the streaming media cache is already delivering the stream.

Library Table of Contents Index Previous Next Comments