RTP: A Transport Protocol for Real-Time Applications

Slides:



Advertisements
Similar presentations
RTP/RTCP multimedia protocols for the Internet Center for Software Development CSD, BITS - Pilani CopyRight:
Advertisements

IPv4 - The Internet Protocol Version 4
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
RTP: A Transport Protocol for Real-Time Applications Provides end-to-end delivery services for data with real-time characteristics, such as interactive.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
User Control of Streaming Media: RTSP
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time, Interactive Multimedia: Internet.
CS294-9 :: Fall 2003 ALF and RTP Ketan Mayer-Patel.
Streaming Media. Unicast Redundant traffic Multicast One to many.
An Introduction to the Real-time Transport Protocol (RTP) Ye Xia WebTP Meeting 12/12/00.
Real-time Transport Protocol Kun-Ta Lee National Taipei University of Technology.
Real-time Transport Protocol Matt Boutell CS457: Computer Networks November 15, 2001.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 1. RTP/RTCP.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
CS335 Principles of Multimedia Systems Multimedia Over IP Networks -- II Hao Jiang Computer Science Department Boston College Nov. 8, 2007.
RTP: A Transport Protocol for Real-Time Applications
RTP/RTCP(RFC 1889) Real-time transport protocol (RTP) is the de facto standard media transport protocol in the Internet Media transport: audio, vedio,
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
Advance Computer Networks Lecture#14
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
Multimedia Over IP: RTP, RTCP, RTSP “Computer Science” Department of Informatics Athens University of Economics and Business Λουκάς Ελευθέριος.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
E Multimedia Communications Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia.
Chapter 29 Applications:Voice And Video Over IP (RTP) Presenters Monal Kohli Koushik Sen.
Real Time Protocol (RTP) 김 준
Team Members Atcharawan Jansprasert Padmoja Roy Rana Almakabi Ehsan Eslamlouevan Manya Tarawalie.
Streaming Media Control n The protocol components of the streaming n RTP/RTCP n RVSP n Real-Time Streaming Protocol (RTSP)
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 28 Multimedia.
BAI513 - PROTOCOLS RTP - RTCP BAIST – Network Management.
RTP – Real-time Transport Protocol Elbert Tsay, Brad Bargabus, Patrick Lim, Henry Quach The Five Packeteers (minus 1  )
E Multimedia Communications Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
An Extensible RTCP Control Framework for Large Multimedia Distributions Paper by: Julian Chesterfield Eve M. Schooler Presented by: Phillip H. Jones.
IETF WG Presentation1 Urooj Rab Audio/Video Transport.
1 Internet Telephony: Architecture and Protocols an IETF Perspective Authors:Henning Schulzrinne, Jonathan Rosenberg. Presenter: Sambhrama Mundkur.
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
RTP/RTCP/RTSP Ben Biro CISC 856 – Spring '10 University of Delaware Thanks to Professor Amer, Henning Schulzrinne, Colin Perkins, Amit Hetawal.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer Timing Recovery.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
The Transport Layer Congestion Control & UDP
Chapter 9: Transport Layer
Real-time Transport Control Protocol
RTP: A Transport Protocol for Real-Time Applications
Real-Time Transport Protocol
Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Klara Nahrstedt Spring 2012
Instructor Materials Chapter 9: Transport Layer
Klara Nahrstedt Spring 2009
RTP/RTCP Background; Overview; Basic concepts; RTP RTCP
RTP: A Transport Protocol for Real-Time Applications
5. End-to-end protocols (part 1)
VOICE AND VIDEO OVER IP VOIP, RTP, RSVP.
CIS, University of Delaware
Understand the OSI Model Part 2
RTP: A Transport Protocol for Real-Time Applications
RTP – Real-time Transport Protocol
Video Multicast over the Internet (IEEE Network, March/April 1999)
Chapter 25 Multimedia TCP/IP Protocol Suite
Congestion Control, Internet transport protocols: udp
Transport Layer Unit 5.
IP - The Internet Protocol
IP - The Internet Protocol
Congestion Control, Internet Transport Protocols: UDP
IP - The Internet Protocol
Process-to-Process Delivery: UDP, TCP
IP - The Internet Protocol
Presentation transcript:

RTP: A Transport Protocol for Real-Time Applications Introduction RTP use scenarios RTP RTCP Tao Li (modified by M. Veeraraghavan

Introduction Internet standard for real-time data Interactive and streamed audio, video, and simulation data Primarily designed for multi-user multimedia conference Session management Scalability considerations Provides end-to-end transport functions for real-time applications Delay-oriented rather than loss-oriented (such as TCP) Tao Li (modified by M. Veeraraghavan)

Other transport and network protocols Introduction – cont. Contains two closely linked parts: data + control RTP: Real-time transport protocol Carry real-time data RTCP: RTP control protocol QoS monitoring and feedback Session control Protocol architecture Applications RTP & RTCP Other transport and network protocols UDP IP Tao Li (modified by M. Veeraraghavan)

Introduction – cont. Independent of the underlying transport and network layers Does NOT provide timely delivery or other QoS guarantees Relies on lower-layer Does NOT assume the underlying network is reliable and delivers packets in sequence Uses sequence number Tao Li (modified by M. Veeraraghavan)

Introduction – cont. New style: Application level framing and integrated layer processing Often integrated into the application rather than a separate layer Deliberately not complete Complete specification of RTP for a particular application needs other documents Profile specification documents defines sets of payload type codes, and their mapping to payload formats Payload format specification document define how to carry a specific encoding Tao Li (modified by M. Veeraraghavan)

RTP use scenarios Simple multicast audio conference A multicast address and two UDP ports (for RTP and RTCP ), assigned and distributed by mechanisms beyond the scope of RTP Speaker sends: Receiver plays out audio data according to RTP header Senders/receivers periodically multicast report by RTCP Who is participating? What is the audio quality? IP header UDP header RTP header Audio data Tao Li (modified by M. Veeraraghavan)

RTP use scenarios – cont. Audio and video conference Two RTP sessions, one for audio and the other for video User can participate in audio, video or both No direct coupling at RTP level except a user uses the same name in RTCP packets for both audio and video Mixers: to mix streams from multiple sources Translators: to change formats Tao Li (modified by M. Veeraraghavan)

RTP – packet format Fixed header V P X CSRC count M Payload type Sequence number (16 bits) Timestamp (32 bits) Synchronization source (SSRC) id. (32 bits) Contributing source (CSRC) id. (0~15 items, 32 bit each) Header extension (optional) Payload (real time data) Padding (size x 8 bits) Padding size (8bits) Fixed header optional header optional Version (V, 2bits): =2 Padding(P, 1bit): If set, last byte of payload is padding size Extension(X, 1bit): If set, variable size header extension exists Tao Li (modified by M. Veeraraghavan)

RTP - header CSRC count (4 bits): number of CSRC id. Marker (1 bit): defined in profile, mark significant event Payload type (7 bits): Audio/Video encoding scheme Sequence number: random initial value, increase by one for each RTP packet; for loss detection and seq. restoration SSRC: identify source; chosen randomly and locally; collision needs to be resolved CSRC list: id. of contributing sources, inserted by mixer Tao Li (modified by M. Veeraraghavan)

RTP – header - timestamp Reflects sampling instance of the first byte in payload Clock frequency depends on data type; specified in profile Random initial value Example: CBR audio, clock increment by 1 for each sample. Consecutive RTP packets may have same timestamp (logically generated at same instant): Video packets that belong to the same frame Timestamps of consecutive RTP may not increase monotonically if the data is not transmitted in the order in which it was sampled: MPEG interpolated video frames Tao Li (modified by M. Veeraraghavan)

Relative timestamping scheme Receivers compute delay and jitter experienced by packet This allows them to adaptively size their reconstruction buffers D1 = 75ms D1 = 50ms Packets received 25ms 50ms Packets played out D1 = 100ms D1 = 100ms Goal: keep jitter low (0 in this case) Tao Li (modified by M. Veeraraghavan)

Delay vs. loss To ensure 0 jitter in playout, choose maximum delay as the total delay in selecting playout delay value Other option: Use 95% of transmission delay to select playout delay value Packets that take longer transmission delay than this 95% value will be dropped because they did not arrive in time Telephony requirements: 150ms one-way delay with echo cancellers; loss: 5% Tao Li (modified by M. Veeraraghavan)

RTCP: RTP control protocol Receivers send reports Report contains number of packets lost at receiver, interarrival jitter, etc. This allows senders to adjust data rate Jitter is an early indicator of congestion Senders also send reports Tao Li (modified by M. Veeraraghavan)

Role of RTCP Periodically transmit report to all participants Functions of RTCP: Provide QoS feedback Carry persistent id - Canonical name (CNAME) Track a user if SSRC changes (in case of conflicts) Associate multiple streams from a user – synchronize A and V Control the rate of RTCP packets by noting how many participants are on session – otherwise too many RTCP packets Convey minimal session control information Not enough for complicated session control requirements Tao Li (modified by M. Veeraraghavan)

RTCP - types Sender report (SR): statistics from active sender – includes RR blocks also Receiver report (RR): statistics from participants that are not active senders RR RTCP packet sent if a node is only a receiver, i.e., it does not send data Source description item (SDES): includes CNAME BYE: indicates end of participation APP: application specific functions Tao Li (modified by M. Veeraraghavan)

RTCP – compound packet RTCP packets have a length field in header; aligned to 32 bits --- stackable Sent in a compound packet of at least 2 RTCP packets; example: Tao Li (modified by M. Veeraraghavan)

RTCP – sender report (SR) SSRC: identify sender Sender information block: NTP timestamp: wallclock time (absolute time as per Network Time Protocol) when packet is sent RTP timestamp: time when packet is sent according to the clock used to send RTP data packet timestamps; used for intra&inter media synchronization Sender’s packet count: total number of packets sent since the start of session Octet count: total number of bytes sent since the start of session Multiple receiver report blocks, one for each source from this host receives packets Tao Li (modified by M. Veeraraghavan)

RTCP Receiver Report (RR) SSRC_n: identifies source whose data this report block is about, Fraction lost: fraction of packets lost since last report was sent Cumulative number of lost packets since the beginning of reception Highest sequence number received Inter-arrival jitter Last SR (LSR): The NTP timestamp of the last sender report received from the source Delay since Last SR (DLSR): Delay between receiving the last SR from this source and sending this RR Tao Li (modified by M. Veeraraghavan)

Interarrival jitter computation Interarrival jitter J defined as: mean deviation (smoothed absolute value) of the difference D in packet spacing at the receiver compared to the sender for a pair of packets D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si) Ji = Ji-1 + (|D(i-1,i)| - Ji-1)/16 Algorithm: optimal first-order estimator; the gain parameter 1/16 gives a good noise reduction ratio while maintaining a reasonable rate of convergence [Cadzow] Tao Li (modified by M. Veeraraghavan)

RTCP – round trip time calculation sender receiver SR RR DLSR t1 t2 t3 t4 SR packet contains: NTP (=t1) RR packet contains: Last SR timestamp (LSR=t1), Delay Since Last SR (DLSR=t3-t2) Roundtrip time = t4 - t3 + t2 - t1 = t4 – (t3-t2) –t1 = t4 – DLSR - LSR Tao Li (modified by M. Veeraraghavan)

RTCP – RR & SDES Receiver Report (RR): Similar to SR but without sender information block RTCP Source Description packet (SDES) Containing CNAME, mandatory Constant for a user, unique among all users Provides binding across multiple medias sent by a user Example: poly-id@utopia.poly.edu; 7182603384 Tao Li (modified by M. Veeraraghavan)

Analyzing sender and receiver reports Sender may modify its transmissions based on the feedback Receivers can determine whether problems are local, regional or global Metwork managers may use profile-independent monitors that receive only the RTCP packets and not the corresponding RTP data packets to evaluate the performance of their networks for multicast distribution. Tao Li (modified by M. Veeraraghavan)

RTCP – transmission interval Designed to scale from a few to thousands of users Problem: RTCP traffic is not self-limiting; grows linearly with number of usesr if sent at a constant rate Solution: limit control traffic to a small and known fraction of total session traffic, 5% suggested Characteristics of transmission interval calc. algorithm Sender occupies 25% of total control traffic bandwidth for that session to allow receivers to quickly know who is sending Calculated interval should be greater than 5 seconds Trans. interval randomly varied between a range to avoid synchronization of RTCP packets from many end points Dynamic estimate the average RTCP packet size is made to adapt to changes in amount of control packets sent Tao Li (modified by M. Veeraraghavan)

Other issues Collision detection and resolution Loop detection Two sources use the same SSRC Loop detection Inter-media synchronization Security Header compression – RFC 2508 IP+UDP+RTP = 40 bytes, large overhead Tao Li (modified by M. Veeraraghavan)

References RFC 1889, “RTP: A Transport Protocol for Real-Time Applications” J. A. Cadzow, "Foundations of Digital Signal Processing and Data Analysis," New York, New York: Macmillan, 1987. Tao Li (modified by M. Veeraraghavan)