RTP. Prof. C. Noronha RTP. Real-Time Transport Protocol RFC 1889

Similar documents
RTP: A Transport Protocol for Real-Time Applications

Transporting Voice by Using IP

RTP/RTCP protocols. Introduction: What are RTP and RTCP?

RTP: A Transport Protocol for Real-Time Applications

Multimedia in the Internet

On the Scalability of RTCP Based Network Tomography for IPTV Services. Ali C. Begen Colin Perkins Joerg Ott

CS519: Computer Networks. Lecture 9: May 03, 2004 Media over Internet

RTP Profile for TCP Friendly Rate Control draft-ietf-avt-tfrc-profile-03.txt

Outline. Multimedia is different Real Time Protocol (RTP) Session Description Protocol (SDP) Session Initiation Protocol (SIP)

13. Internet Applications 최양희서울대학교컴퓨터공학부

Multimedia Protocols. Foreleser: Carsten Griwodz Mai INF-3190: Multimedia Protocols

in the Internet Andrea Bianco Telecommunication Network Group Application taxonomy

Transport protocols Introduction

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures.

Provide a generic transport capabilities for real-time multimedia applications Supports both conversational and streaming applications

Voice in Packets: RTP, RTCP, Header Compression, Playout Algorithms, Terminal Requirements and Implementations

Real-Time Transport Protocol (RTP)

4 rd class Department of Network College of IT- University of Babylon

Real-time Services BUPT/QMUL

Real-time Services BUPT/QMUL

RTP model.txt 5/8/2011

Voice in Packets: RTP, RTCP, Header Compression, Playout Algorithms, Terminal Requirements and Implementations

Outline. QoS routing in ad-hoc networks. Real-time traffic support. Classification of QoS approaches. QoS design choices

Request for Comments: dynamicsoft H. Schulzrinne Columbia University August 2001

Lecture 14: Multimedia Communications

Multimedia! 23/03/18. Part 3: Lecture 3! Content and multimedia! Internet traffic!

Part 3: Lecture 3! Content and multimedia!

Kommunikationssysteme [KS]

Digital Asset Management 5. Streaming multimedia

CSCD 433/533 Advanced Networks Fall Lecture 14 RTSP and Transport Protocols/ RTP

AIMD (additive-increase, multiplicative-decrease),

Introduction to Networked Multimedia An Introduction to RTP p. 3 A Brief History of Audio/Video Networking p. 4 Early Packet Voice and Video

Lecture 6: Internet Streaming Media

Real-Time Protocol (RTP)

Mul$media Networking. #5 Real- Time Transport Protocol Semester Ganjil 2012 PTIIK Universitas Brawijaya

Real Time Protocols. Overview. Introduction. Tarik Cicic University of Oslo December IETF-suite of real-time protocols data transport:

draft-begen-fecframe-interleaved-fec-scheme-00 IETF 72 July 2008 Ali C. Begen

Mohammad Hossein Manshaei 1393

CS High Speed Networks. Dr.G.A.Sathish Kumar Professor EC

Overview. Slide. Special Module on Media Processing and Communication

Medical Sensor Application Framework Based on IMS/SIP Platform

陳懷恩博士助理教授兼所長國立宜蘭大學資訊工程研究所 TEL: # 255

Popular protocols for serving media

File transfer. Internet Applications (FTP,WWW, ) Connections. Data connections

Advanced Communication Networks

Multimedia networking: outline

Multimedia Networking

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

Summary of last time " " "

Request for Comments: 5109 December 2007 Obsoletes: 2733, 3009 Category: Standards Track. RTP Payload Format for Generic Forward Error Correction

Multimedia Applications. Classification of Applications. Transport and Network Layer

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007

Congestion Feedback in RTCP

Latency and Loss Requirements! Receiver-side Buffering! Dealing with Loss! Loss Recovery!

Multimedia Communications

Streaming (Multi)media

Protocols for Multimedia on the Internet

RTP Protocol Transport of H.264 Video and MPEG I/II Layer 3 Audio

Congestion Manager. Nick Feamster Computer Networks. M.I.T. Laboratory for Computer Science. October 24, 2001

EEC-682/782 Computer Networks I

Paper solution Subject: Computer Networks (TE Computer pattern) Marks : 30 Date: 5/2/2015

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

TSIN02 - Internetworking

Extensions to RTP to support Mobile Networking: Brown, Singh 2 within the cell. In our proposed architecture [3], we add a third level to this hierarc

Circuit Breakers for Multimedia Congestion Control

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006

RTCP Feedback for Congestion Control in Interactive Multimedia Conferences draft-ietf-rmcat-rtp-cc-feedback-03. Colin Perkins

ETSF10 Internet Protocols Transport Layer Protocols

Lecture 3: The Transport Layer: UDP and TCP


RTP Payload for Redundant Audio Data. Status of this Memo

Real-Time Control Protocol (RTCP)

Chapter 7. The Transport Layer

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

Preliminary. No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

TSIN02 - Internetworking

Multimedia networks. Additional references. Jargon. Analog to Digital (S5 4.3) KR: Kurose and Ross chapter 7 (KR3: 3 rd ed)

Internet Streaming Media

IP Telephony. Course scope - lecture scope

ITTC Communication Networks The University of Kansas EECS 780 Multimedia and Session Control

Multimedia Networking

MEDIA TRANSPORT USING RTP

INSE 7110 Winter 2009 Value Added Services Engineering in Next Generation Networks Week #2. Roch H. Glitho- Ericsson/Concordia University

RSVP 1. Resource Control and Reservation

Resource Control and Reservation

Configuring RTP Header Compression

Modeling RTP Streams over ATM AAL5

Multimedia Networking

Computer Networks. Wenzhong Li. Nanjing University

EDA095 Audio and Video Streaming

Internet Engineering Task Force (IETF) Request for Comments: 6015 Category: Standards Track October 2010 ISSN:

Background: IP Protocol Stack

THE EFFECT OF DYNAMIC VOICE CODEC SELECTION FOR ACTIVE CALLS ON VOICE QUALITY. A Thesis by. Jered Daniel Ast

Effective Network Quality Control Mechanism for QoS/QoE Assurance

[MS-RTP]: Intellectual Property Rights Notice for Open Specifications Documentation

Internet Streaming Media

Troubleshooting Packet Loss. Steven van Houttum

Configuring RTP Header Compression

Provides port number addressing, so that the correct destination application can receive the packet

Afonso, Francisco Carlos. Calhoun: The NPS Institutional Archive Monterey, California. Naval Postgraduate School

Transcription:

RTP Real-Time Transport Protocol RFC 1889 1

What is RTP? Primary objective: stream continuous media over a best-effort packet-switched network in an interoperable way. Protocol requirements: Payload Type Identification: what kind of media are we streaming? Sequence Numbering: to deal with lost and out-of-order packets. Timestamping: to compensate for network jitter in packet delivery. Delivery Monitoring: how well is the stream being received by the destinations? 2

What RTP is not RTP does not guarantee reliable, on-time delivery of the packets (the network is expected to do that). RTP does not address resource reservation (use RSVP or any other resource reservation protocol). RTP does not address QoS in any way (the underlying network needs to take care of that). 3

RTP Assumptions on the Network The network may drop or re-order the packets RTP will detect this but has no mechanisms to recover The network must provide the following services: Application multiplexing and demultiplexing (port numbers) Payload framing Payload size indication Multicast delivery Data integrity check (checksums) RTP typically runs on top of UDP, but the use of other protocols is not precluded. 4

RTP Parts RTP is composed of two closely-linked parts: The Real-Time Transport Protocol (RTP), used to carry realtime data The RTP Control Protocol (RTCP), used to: Monitor and report Quality of Service Convey information about the participants of a session 5

What is missing on RTP RTP (as defined in RFC 1889) is a protocol framework and is deliberately incomplete RTP defines a basic set of functionality that is common to most multimedia applications. RTP defines the concept of a profile, which completes the specification for a particular application: Media encoding specifications Payload format specifications 6

RTP Usage Example Internet Conference Chair Example: Audio Conferencing over the Internet 7

Usage Example (cont.) The conference chair acquires a multicast address and two UDP ports, one for RTP, another for RTCP. Addressing information is distributed to all the participants. Conferencing application captures audio in 20 ms chunks. To this data, RTP/UDP/IP headers are prepended and the packet is sent. The RTP header indicates what kind of audio encoding is being used by each participant (PCM, ADPCM, etc.) Timing information in the RTP packet header allows each receiver to play the audio samples each 20 ms. Sequence numbers in the RTP header allow receivers to detect packet loss RTCP allows participants to be notified when someone joins or leaves the conference, and how well the participants are being received. 8

RTP Header 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 V=2 P X CC M Payload Type (PT) Sequence Number Timestamp Synchronization Source (SSRC) Identifier Contributing Source (CSRC) Identifiers (between zero and 15) V: Protocol version, currently equals 2. P: Padding. If this is set, the RTP packet contains padding bytes at the end. The last byte of the padding is a count of how many padding bytes were added. Used with encryption systems that require a fixed block length. X: Extension: If this is set, the RTP header is followed by exactly one extension header. 9

RTP Header (cont.) CC: CSRC count. Indicates the number of CSRC fields at the end of the header (between zero and 15). M: Marker bit. Defined by the profile. Intended to flag significant events in the payload, such as frame boundaries. PT: Payload Type. Identifies the kind of media and type of compression being carried by the stream. This is an enumerated type with actual values being defined by the IETF. Sequence Number: Incremented by one at each transmitted packet. Initial value chosen at random. Timestamp: Reflects the sampling time corresponding to the first byte in the RTP payload. Timestamp frequency is defined by the profile and initial value is random. It is legal to have multiple packets with the same timestamp. 10

RTP Header (cont.) SSRC: Synchronization Source identifier. This is a randomly generated identifier for this particular stream. It is intended to be independent of the network address. In a session, all SSRCs are supposed to be unique. A mechanism exists to guarantee that. CSRC: Contributing Source identifiers. List of original SSRCs that contributed to this stream. Example application: Audio- Conferencing mixer. All participants send their streams to the mixer. The mixer combines them into a single stream, which is sent back to the participants. The stream from the mixer will have a list of SSRCs from each participant. 11

RTCP Composed of periodic transmissions to the participants of the session, on a different UDP port number, but using the same distribution mechanism. Functions: Feedback on reception quality, to be used in: Adaptive media encoding Fault isolation Distribution of a persistent transport level identifier (CNAME) for each session participant Used to group multiple data streams from the same source, for example, audio and video. 12

RTCP Functions (cont.) Functions: RTCP rate must be controlled to allow the protocol to scale Every participant sends RTCP packets to all other participants Participants can measure volume of RTCP traffic and throttle down as needed Target: keep rate to 5% of the total session bandwidth Convey minimum session control information (optional) Useful in loosely-controlled sessions where participants can join and leave at any time. Not a general session control mechanism 13

RTCP Packet Types RTCP defines several types of packets Multiple RTCP packets can be combined into a single UDP packet for efficiency Defined packet types: SR: Sender Report. Contains sender statistics and reception statistics. RR: Receive Report. Subset of the sender report containing only receive statistics. SDES: Source Description. Contains information about the source (CNAME, e-mail, geographical location, username, tool information) BYE: Goodbye packet. Indicates that a source is leaving the session. APP: Application data. Used to extend the protocol with applicationspecific extensions. 14

RTCP Source Reports RTCP Source Reports contain: Sender SSRC NTP and RTP timestamps corresponding to the time this report was transmitted. Cumulative count of RTP packets and bytes sent by this source since it started sending this stream. Zero or more reception reports containing: SSRC of the stream being reported on. Fraction of the packets lost from this source since last report Cumulative number of packets lost from this source Highest sequence number received Measured interarrival jitter, in timestamp units Last SR timestamp received from this source (LSR) Delay between the reception of the last SR and the transmission of this SR 15

Receiver Reports(RR) Receiver Reports (RR) are a subset of the Source Reports They only contain receive blocks (no sender information) RTP profiles can define extensions to SR and RR messages 16

Analyzing RTCP Reports Cumulative counts allow both long- and short-term analysis any two reports can be subtracted to get activity over an interval NTP timestamps in reports allow you to compute rates monitoring tools needn t know anything about particular media encoding Sender reports give utilization information average packet rate and average data rate over any interval monitoring tools can compute this without reading any of the data Receiver reports give loss and round-trip information extended sequence number can be used to compute packets expected packets lost and packets expected give long term loss rate fraction lost field gives short-term loss rate, with only a single report LSR and DLSR give sender s ability to compute round-trip time 17

Security Considerations Application-level encryption of full packet recommended RTP / RTCP header contains padding bit to recover original packet length random start values of sequence number prevent known plaintext attacks decryption verified by sanity checking fields in header algorithm choice left to application; default is DES in CBC mode key distribution must be accomplished by external means network layer encryption can be used where it is available No explicit RTP support at this time for authentication authentication could be accomplished via encapsulation RTP can also be used in the clear carrying encrypted payloads good for hardware which both decrypts and processes payload data Preferred way of encrypting: use IPSec instead. 18