In the last couple of years, there has been a rapid increase in the number of users consuming media content through multimedia services over IP networks. This chapter aims at introducing the protocols used in and the application questions related to such services. First, a brief overview is given on an IPTV system, a typical and popular multimedia system. This introductory section is followed by the description of application layer transport protocol (RTP - Real-time Transport Protocol) and session management protocols (RTCP - Real-time Control Protocol and RTSP - Real-time Streaming Protocol) of IPTV (and other similar services). Apart from the protocols themselves, implementation and application issues related to an IPTV environment are also discussed. The discussions presented might be a useful starting point for the analysis of other multimedia services.
TopIntroduction
The increase in the number of broadband Internet connections worldwide implies a change in the consumption habits of the average Internet user. While a decade ago, static content requiring relatively low bandwidth constituted most of the Internet traffic, nowadays more and more people access dynamic web sites that offer not only textual information but also multimedia content. Moreover, the Internet and similar IP based closed networks constitute the transmission media for several multimedia applications like multi-party online games, Internet telephony, and other streaming services.
This chapter aims at introducing the corresponding protocols that fulfill session management and transport tasks in the application layer. Please note that the term “application layer” is used in the Internet Protocol Suite sense as described in (Braden, 1989) and does not refer to the appropriate ISO OSI layer. Rather, it includes any protocols that belong to the ISO OSI's application, presentation, and session layers.
As the chapter focuses on the application layer transport and session management protocols themselves, the applications that are implemented by them are more or less unimportant, at least as far as the operation of the protocols are concerned. From a functional perspective, the protocols work almost the same way regardless of the data they carry. However, to come to grips with as many aspects as possible, the Internet Protocol Television was chosen as a typical service to demonstrate streaming services and to help the reader to relate the discussion to a real life application. The choice was not entirely arbitrary: as typical IPTV services involve the simultaneous and real time transmission of video, audio, and other content, they call for more elaborate solutions than other less complex applications like Internet telephony.
We believe that the discussions given here can be easily adapted to other application areas as well. Again, it must be emphasized that it is not the applications, we are focusing on, but the overlaying application layer protocols with session management and transport tasks, therefore certain aspects (e.g. digital rights management, access control, quality of service, etc.) are out of scope of the recent study. IPTV is a pay-TV service that uses an IP infrastructure which is a private and closed system maintained by a particular service provider. As the network is closed, the service provider has freedom to prioritize packets carrying television streams over other packets, and can invest in implementing proprietary solutions for other challenges. (One such challenge is the reduction of time required for television channel change by the user.) IPTV applications are more critical from the quality point of view and require the usage of protocols that are capable of simultaneously and reliably serve a vast number of end users. Two typical applications in an IPTV environment are the broadcast-like, simultaneous (multicast) transmission of television programs to many users and the unicast transmission of selected content in unicast mode to individual subscribers (so-called Video-on-Demand or VOD service).
In a streaming environment not only error free transmission but also timing fidelity is a concern. Although a minor delay is tolerable at the start of playback, once started, playback must be uninterrupted and seamless. Therefore, when choosing or developing a transport protocol both fidelity and delay questions must be considered.
Protocols that meet the strict timing and fidelity requirements include the Stream Control Transport Protocol (SCTP), the Datagram Congestion Control Protocol (DCCP) in the transport layer, and the Real-time Transport Protocol running on top of User Datagram Protocol (UDP) in the application layer. (Again, application layer is meant in the sense as defined in the Internet Protocol Suite.) Since commercial IPTV SCTP and DCCP implementations are not available yet, this chapter covers the details of RTP, and focuses on its IPTV related aspects. Apart from RTP itself, the chapter also introduces the corresponding control protocols, namely RTCP and RTSP. While the former provides out of band statistics and quality metrics for an established RTP session, which can be used for controlling e.g. the bit rate of the transmitted media and for synchronizing the audio and video streams, the later is used for session and playback state management and media description. Finally, the chapter introduces the concept of group management that allows for forming multicast groups from the users consuming the same content, thus reducing the burden on the network backbone.