Streaming Stored Audio

Stored audio can be streamed via User Datagram Protocol (UDP) or Transmission Control Protocol (TCP) however the suitability of each protocol greatly depends on the intended application and the network environment. As TCP offers a delivery guarantee however, as with UDP, TCP does not take advantage of throughput or timing services that a transport protocol can provide to a “bandwidth-sensitive application” Kurose & Ross (2010, p93) then it seems that UDP, is the natural choice for streaming stored audio as packets could be lost in streaming and it is unlikely, to a certain degree, that the user would notice the dropped packets and therefore performance would seem to be better than over TCP where dropped packets would have to be resent thereby decreasing performance by causing delays.

It is not, however, as clear cut as it may seem as the environment can cause quality problems in streaming if this is not also considered. A major factor in quality is whether or not the stored audio is compressed into a lossy format where the compression algorithm has removed non-essential data from the audio file to the point that any further packet loss by UDP may be unacceptable to the user and classify the streaming as unreliable. In addition as Arsan (2008) states “streaming servers have one of the most important roles” and that any aspect of streaming over a network, especially the Internet, risks quality due to “variable bandwidths, delays, congestions and time-varying packet losses”. With this in mind there are various considerations as to whether TCP may be more suitable, or a higher level transport protocol.

RealNetworks and Microsoft use a both TCP and UDP on the client side, according to RealNetworks (2002) and Nelson (2007). RealNetworks use “Helix Universal Servers” which negotiates the transport protocol with the client however for bandwidth reasons UDP is the preferred transport protocol and this is used as the default when streaming audio and video content. This is similar with Microsoft’s Windows Media Player, however their client allows the user to choose the protocol in the client with the current default being set to use Real-Time Streaming Protocol (RTSP) over TCP or UDP and http. It is noteworthy however that both RealNetworks and Microsoft also use the RTSP, which can use TCP or UDP when clients support it (e.g. QuickTime Player) for larger scale streaming such as presentations.

References

Arsan, T (2008) ‘An Integrated Software Architecture for Bandwidth Adaptive Video Streaming’, International Journal of Computer Science & Engineering, 2, 2, pp. 90-99, Computers & Applied Sciences Complete, EBSCOhost, viewed 24 April 2011.

Kurose & Ross (2010) Computer Networking: A Top-Down Approach (Fifth Edition). Addison Wesley.

Nelson, D (2007) Microsoft: Firewall Information for Windows Media Services 9 Series [Online]. Available at http://www.microsoft.com/windows/windowsmedia/forpros/serve/firewall.aspx (Accessed 24 Apr 2011).

RealNetworks (2002) Transport Layer Protocols [Online]. Available at http://service.real.com/help/library/guides/helixuniversalproxy/htmfiles/firewall.htm (Accessed 24 Apr 2011).