180 likes | 187 Views
RTP – Real-time Transport Protocol. Presentation by: Richard Bourgault and Steven Campbell. RTP - Introduction. “RTP represents a new style of protocol following the principles of application level framing and integrated layer processing proposed by Clark and Tennenhouse.”
E N D
RTP – Real-time Transport Protocol Presentation by: Richard Bourgault and Steven Campbell
RTP - Introduction • “RTP represents a new style of protocol following the principles of application level framing and integrated layer processing proposed by Clark and Tennenhouse.” • Read: RTP is intended to be continuously reconfigurable often being integrated into the application itself. • RTP is intended to be tailored through modifications or additions to the headers as needed.
Goals of RTP • To provide end-to-end delivery services for data with real-time characteristics. • Primarily designed to satisfy the needs of multi- participant multimedia conferences (using multicast distribution if provided by the underlying network ). • Services include payload type identification, sequence numbering, timestamping and delivery monitoring.
RTP - Defined RTP consists of two closely-linked parts: RTP- transport protocol that has real-time properties. RTCP – control protocol to monitor the quality of service (QoS) and to convey session information.
Defined - Continued • Does not guarantee timely service, quality of service, or sequenced delivery • RTP is carried on top of IP and UDP. • What are the advantages of this?
Answer • To make use of its multiplexing and checksum services
Question? • Since RTP is a real-time protocol that can lie on top of IP or UDP, what are some applications that can make use of these underlying protocols?
Answer • Streaming audio, video, video-conferencing, and storage of continuous simulation data. • Also active badge and control and measurement applications. • Any application relying on continuous data without requiring sequential packeting.
Example of Usage – Multicast Audio Conference • Host obtains a multicast group address and pair of ports: - One port for audio - One for control (RTCP) packets • This address and port information is distributed to the intended participants • Each participant sends data in small packets, where each piece of data is preceded by an RTP header • RTP header and data are encapsulated in a UDP packet.
Each header indicates what type of audio encoding (such as PCM, ADPCM or LPC) is present in the data. • To cope with loss/reorder delays, the RTP header contains timing information and a sequence number that allows the receivers to reconstruct the timing produced by the source. • Why is it beneficial to include the type of audio encoding in each packet header?
Answer • In order to allow for different users to use different types of encoding during the same conference. • Allows for both low and high bandwidth encoding
A/V Conferencing • Similar to simple audio with the exception that audio and video are treated as different RTP sessions • How does this work?
Simultaneous RTP Sessions • A participant may be involved in multiple RTP sessions at the same time • Distinguishes between RTP sessions by using different pairs of destination transport addresses • One pair of transport addresses is comprised of a network address and a pair of ports for RTP and RTCP
Simultaneous - Continued • Participants included in an RTP session consist of those able to receive a global SSRC identifier • This identifier can be transmitted by any of the participants either in RTP as the SSRC or in RTCP • SSRC is carried in the RTP header
RTP Header 32 Bits Long 2 1 1 4 1 7 16
RTP Header • Version (V) – 2 bits. Defines RTP Version. • Padding (P) – 1 bit. Defines number of padding octets that are not part of the payload. • Extension (X) – 1 bit. If set, the header must be followed by exactly one header extension. • CSRC Count (CC) – 4 bits. Defines the number of CSRC identifiers following the header. • Marker (M) – 1 bit. Specifies significant events such as frame boundaries.
Payload Type (PT) – 7 bits. • Sequence Number – 16 bits. • Timestamp – 32 bits. Reflects the sampling instant of the first RTP packet. • SSRC (Synchronization Source) – 32 bits. Randomly specified identifier. • CSRC (Contributing Source) – 32 bits. Allows up to 16 different sources.
Question? • What might happen if more than 16 sources attempt to become part of the RTP session? (i.e. how can each source be uniquely identified?) • Compared to the various TCP flavors what are the advantages/disadvantages of RTP?