Top Banner
RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka
39

RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Jan 17, 2016

Download

Documents

Merry Brooks
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP- Real Time Transport Protocol

CSCE 5580 Computer Networks– Spring 2006

Presented by:

Vandana Anand

Archana Paka

Page 2: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Overview Purpose Services What it does not provide Architecture RTP data transport protocol State machine Event flows Message formats Issues Conclusions References

Outline

Vandana

Archana

Page 3: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP - Overview RTP provides end-to-end network delivery

services for the transmission of real-time media.

Audio Video Conferencing IP telephony Games and real time monitoring

RTP is defined in RFC 3550 (RFC 1889) Follows a principles outlined in a paper by

Clark and Tennenhouse. Application Level Framing Integrated Layer Processing

Page 4: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP - Overview

It can be used over various network technologies, IP/UDP, ATM/AAL5 and IPX.

Often used over UDP. Two protocols make up RTP

RTP, a data transfer protocol (carries the data) RTCP, control protocol (carries session. QoS Info)

Page 5: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP - Overview

RTP can be used over both network services Unicast

Separate copies of the data are sent from the source to each destination.

Mulitcast The data is sent from the source only once

and the network is responsible for transmitting the data to multiple locations.

Page 6: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP - Purpose

The purpose of RTP is to facilitate,Delivery, Monitoring, Reconstruction, Mixing and Synchronization of data streams

It provides support for real time conferencing of groups of any size within an Internet.

It offers quality of service feedback from receivers to the multicast group.

It determines the order of data to be presented. It synchronizes media stream from different

sources.

Page 7: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP - Services

Payload type identification Identifies the type of data being sent.

Time Stamping Time stamping is used for the proper play out of

the media and to reduce jitter. Sequencing – using sequence number

RTP can sequence those packets which arrive out of order at the receiving end.

The sequence number can also be used to identify the lost packets.

Page 8: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

What it does not provide…

RTP does not Provide mechanism in time delivery.

This requires the support of lower layers that have control over resources.

Provide Quality-of-Service Guarantee delivery or prevent out-of-order

delivery It doesn’t not assume that the underlying

network is reliable and delivers packets in sequence.

Page 9: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP – Architecture

Application Level Framing Recovery from lost data to be performed by the

application. retransmission may not be appropriate. Lost data can

be due to quality of delivery may be more useful for destination(s) to inform source

about the quality of transmission Application provide data for retransmission

rather than the transport protocol. Sending application may re-compute lost data before

sending The sending application can provide revised values

rather than simply transmitting lost values.

Page 10: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP - Architecture

Integrated Layer Processing In a typical layered protocol architecture data

units are sequentially processed by each layer Integrated layer processing allows adjacent

layers of the protocol stack to be tightly coupled RTP is not complete by itself it requires

application-layer and transport layer capabilities. RTP runs on top of UDP. UDP provides the port

addressing functionality of the transport layer. RTP also contains the transport layer function like

sequencing.

Page 11: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP – Data Transfer Protocol

RTP data transfer protocol supports the transfer of real-time data among a number of participants in a session .

Session is identified by Participant IP address. RTP port #, for media data. RTCP port #, for control data.

Page 12: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP – Data Transfer Protocol

Each RTP data unit must include Source identifiers Timestamp Payload format

It allows the use of two kind of relays Mixers Translators

These are active application level devices residing on the network

Page 13: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Mixers A mixer is an RTP relay that receives streams of

RTP packets from one or more source, combines these streams and forwards a new RTP packet stream to one or more destinations.

Mixer can change the data format or simple perform the mixing function.

Page 14: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Translators Translator is a simple device that produces one or

more outgoing RTP packet for each incoming RTP packet.

It converts inputs and resends in a new format It replicates incoming packet and send it to a

number of unicast destinations.

Page 15: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP- Applications Receiving Media Streams

Conferencing Applications :Need to be able to receive a media stream from an RTP session and render it on the console.

A telephone answering machine :Need to be able to receive a media stream and store it in a file.

Application that records a conversation or conference : Must be able to receive media stream from an RTP session and both render it and store it in a file.

Transmitting Media Streams RTP Server Applications: Need to transmit

captured or stored media across the network.

Page 16: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Outline … continued

Overview Purpose Services What it does not provide Architecture RTP data transport protocol State machine Event Flows Message Format Issues Conclusion

Page 17: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

overview

RTP does not have a standard TCP or UDP port that it communicates on.

The only standard that it obeys is that UDP communications are done on an even port and the next higher odd port is used for RTP Control Protocol (RTCP) communications.

Although there are no standards assigned, RTP is generally configured to use ports 16384-32767.

RTP only carries voice/video data. Call setup and tear-down is usually performed by the SIP protocol.

The fact that RTP uses a dynamic port range makes it difficult for it to traverse firewalls.

In order to get around this problem, it is often necessary to set up a STUN server.

Page 18: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

A Typical Communication

A normal RTP procedure between the client and the server is as follows:client->server: OPTIONSServer->client: OKclient->server: DESCRIBEServer->client: OKclient->server: SETUPServer->client: OKclient->server: PLAYServer->client: OKclient->server: PAUSEServer->client: OKclient->server: PLAYServer->client: OKclient->server: TEARDOWNServer->client: OKThe Options and Describe command can be issued at any time. But SETUP must be issued before any PLAY, PAUSE and TEARDOWN command. After the TEARDOWN command, the client disconnects to the server.

Page 19: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Client Side State Machine Init: It represents the server

state before receiving the SETUP command from client .

Ready: This command triggers the state into ready state.

Play: Here the server calls the RTP part of the program to encapsulate the data in the required file and send them via RTP to the client.

Pause: The client can send PAUSE to the server after it begins playing the file.

Page 20: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

                                                                                       

Server Side State Machine

Page 21: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP – Packet Format

Page 22: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP - Header

Video and audio payloads are sent separately Uses sequence number to synchronise audio and

video once received

IP Header

UDP Header

RTPHeader RTP Video

Payload

IP Header

UDP Header

RTPHeader RTP Audio

Payload

Page 23: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP – Packet Details Version(2bits):Represents the Version of the RTP Padding(1 bit): Used to round off the bits. It means

the packet contains one or more additional padding octets at the end which are not part of payload

Extension(1 bit): If this bit is set, then the fixed header must be followed by the header extension

CSRC count(4 bits): The number of CSRC (contributing sources) identifiers that follow the fixed header.

Marker(1 bit): Allow significant events to be marked in the packet stream.

Timestamp(32 bits): Reflects the sampling instant of the first octet in the RTP data packet

Page 24: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP – Packet Details Payload type(7 bits): Identifies the format of the RTP

payload and determine its interpretations by applications

Sequence Number(16 bits): Random number which is incremented by 1 for each RTP packet send. The packet receiver uses it to detect packet loss and to restore packet sequence.

SSRC,Sync source(32 bits): A random ID to identify the sync sources. No two sync sources within an RTP session have the same SSRC identifier. CSRC(32 bits): The list of CSRC’s for the data

contained in this packet.

Page 25: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Example showing where the message formats used…..

Page 26: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

A videoconference in progress using a dedicated device RTP

Page 27: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Mixer and Translators in RTP

Translator do not change SSRC or CSRC fields unlike mixers, go through the RTP header structure.

Page 28: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Performance Issues IN RTP

RTP Scalability RTP Multiplexing

Page 29: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP Scalabilty Congestion. This is due to the small access bandwidths of the user as compared to the

network bandwidth and particularly occurs when a large number of users join a multicast RTP session at roughly the same time.

State Storage. In order to estimate the group size, hosts must listen to the multicast group and count the number of distinct end systems which sends packets,its unique identifier (SSRC) must be stored.

Delay. As the group sizes grow, the time may become very large. This interval may easily exceed the duration of group membership. This means that timely reporting of QoS problems from a specific user will not occur, and the value of the actual reports is lost.

BYE Floods. Just as users may simultaneously join a group, we can expect users may simultaneously leave a group.

Premature Timeouts. The timeout value is set to five times the current transmission period. As group membership decreases (due to BYE's), the timeout value decreases with it. However, there is a delay between decreases in group membership and transmission of packets with the decreased interval. This delay makes it possible for a user to prematurely timeout because of a sudden drop in group membership.

Page 30: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

RTP Multiplexing

The principle mechanism by which new functionality is added to RTP is by the definition of payload formats. Payload formats specify an application specific sub-layer just above RTP. these formats provide additional functions needed for just that application. However, all of these formats describe how RTP is to be used for carrying a single media session between two endpoints.

There are scenarios, however, where it is more desirable to multiplex many voice connections into the same transport level connection, and into the same packet. Consider the scenario where two standard telephone users wish to communicate, but the long distance portion of the call is to be carried over the Internet. This will require the use of VoIP Gateways which act as an application level bridge. Since gateways typically terminate large numbers of telephone calls, there is likely to be multiple voice calls between any pair of gateways. Currently, gateways place each voice call in a separate transport connection, and thus the data from each user goes in separate packets. Due to compression techniques, the payload sizes are typically quite small, and IP-related overhead is substantial, resulting in a large packet overhead.

One proposed solution is to multiplex many voice calls into the same connection (assuming they are destined to the same remote gateway), and into the same packet. This drastically reduces overhead. Protocol structures for carrying multiple voice payloads in an RTP packet are being developed and the minimization of the overhead per user is being sought.

Page 31: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Security Issues in RTP

Desired Security Features

1. Confidentiality

2. Integrity

3. Performance considerations of security

features

Page 32: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Security Issues in RTP

Security Features Provided by RTP

1. Confidentiality

2. Authenticity and Integrity

3. Key Management

Page 33: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Showing the Security Keys

Page 34: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Some Security Features

Page 35: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

CONCLUSIONS

RTP provides powerful instruments for adaptive Video Transmission.

RTP can be considered user-space transport entities, but does not run as stand-alone process.

Mixers and translators are stand-alone processes. They terminate TCP or UDP connections.

Can accomplish complex control features. Complexity of the protocol/algorithm is not so bad, because

there is little hard guarantee (It relies on TCP or application for hard guarantees).

Page 36: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

References http://www.ietf.org/rfc/rfc3550.txt William Stallings, “Computer Networking

with Internet Protocols and Technology”, Prentice Hall (2004).

Colin Perkins , “RTP – Audio and Video For The Internet”, Addison Wesley (2003).

http://www.cs.columbia.edu/~hgs/rtp

Page 37: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Questions

What are the roles of the RTP timestamp and sequence numbers? The timestamp is used to place the incoming

audio and video packets in the correct timing order (playout delay compensation). The sequence number is mainly used to detect losses. Sequence numbers increase by one for each RTP packet transmitted, timestamps increase by the time "covered" by a packet.

Page 38: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Questions

Is RTP a transport protocol or a kind of application protocol? RTP has important properties of a transport

protocol: it runs on end systems, it provides demultiplexing. It differs from transport protocols like TCP in that it (currently) does not offer any form of reliability or a protocol-defined flow/congestion control. However, it provides the necessary hooks for adding reliability, where appropriate, and flow/congestion control.

Page 39: RTP- Real Time Transport Protocol CSCE 5580 Computer Networks– Spring 2006 Presented by: Vandana Anand Archana Paka.

Questions

Why does RTP rely on the applications to provide security measures? Targeted communication is high-speed

(Audio/Visual and Multicast) making recognition of an attack without specific application knowledge difficult.