SlideShare a Scribd company logo
1 of 35
An Introduction to the Real-time
Transport Protocol (RTP)
Ye Xia
WebTP Meeting
12/12/00
Transport Functions
• Application Support
– Reliability control: loss recover, in-sequence delivery,
etc.
• Network Control
– Congestion control, rate allocation, etc
• The distinction between the two is not sharp.
– Rate allocation and scheduling can be viewed as part of
either one above.
• This dual view arises when we contemplate
traditional transports: TCP and UDP
Violation of the Old View Leads
to New Ideas
Application
Support
Network
Control
Application-Specific
Support
Network
Control
Monolithic Transport
General Application
Support
User Space
Kernel Space
RTP-like Arrangement
Network Adaptation
By Application
Fine-grained Application Support
• In monolithic transport, application support
function needs to be general. Why?
– Transport sits in the kernel. Hard to modify.
– API needs to be stable.
– The philosophy of some transport designers: transport
should have sufficient generality.
• How to accommodate specific application’s
needs?
– Build complex logic into the (monolithic) transport. But
should not be overly ambitious.
WebTP - Current
• WebTP is still monolithic
• Some trade-off of programmability with efficiency, but
may be justifiable.
– The key is to make the user-IP path fast.
Application
Support
Network
Control
User Space
Kernel Space
IP
Overview of RTP
• Provides end-to-end delivery services for real-time
traffic: interactive audio and video
– Payload identification, sequence numbering,
timestamping and delivery monitoring
• Runs on top of UDP, and less often, TCP.
– RTP does not guarantee delivery or prevent out-of-
order delivery.
• Primarily designed to support multiparty
multimedia conferences, typically assumes IP
multicast.
Overview – Cont.
• The protocol has two parts.
– RTP: carry real-time data
– RTP control protocol (RTCP): monitor the quality of
service and to convey information about the
participants.
• Principles of application level framing and
integrated layer processing.
– Is malleable to provide application specific info.
– Is typically integrated into the application processing.
– Protocol is deliberately not complete. It only contains
the common functions.
– A complete specification for an application also
includes a profile and a payload format document.
Example- Multicast audio
conference
• Need a multicast address and a pair of ports: one
for data and one for (RTCP) control.
• RTP header contains type of audio encoding (such
as PCM). Senders can change encoding during the
conference.
• RTP header contains timing information. Audio
data can be played out as they are produced by the
source.
• Senders and receivers multicast reports through
RTCP. Packet loss ratio, delay jitter, and other
status info can be monitored.
Example – Audio and Video
Conference
• Audio and video are transmitted using
separate RTP sessions. (with different UDP
ports and/or multicast addresses.)
• Each participant of both sessions can be
identified by the same name in RTCP
packets.
• The decoupling of the two sessions allows
some participants to join only one session.
Example – Mixers and
Translators
• Mixers: a RTP-level entity that receives streams of RTP
data packets from one or more sources and combines them
into a single stream.
• A translator forwards RTP packets from different sources
separately.
• Mixer is like a new RTP-level source to the receivers.
• Translator is more transparent. Receivers can identify
individual sources even though packets pass through the
same translator and carry the translator’s network source
address.
• Mixer can re-synchronize the incoming stream and
generates its own timing info.
Translators and Mixers
• The real distinction between mixers and translators: SSRC
identifier is not changed at a translator, but is changed at a
mixer.
• They both use a different transport address (network
address + port) at the output side.
• Multiple data packets can be combined into one.
• Uses of translators and mixers: go-through firewalls;
transcoding for low-bandwidth links; adding or removing
encryption; emulating multicast address with one or more
unicast addresses.
Example: Translator at Firewall
Translator
Firewall
Translator
On multicast
Address a, port p, p+1
On multicast
Address b, port q, q+1
Inside Firewall
Note that UDP or TCP connections terminates at Firewall.
Some RTP Definitions
• Transport address: network address + port
• RTP session: communications on a pair of transport
addresses (data + control)
• Synchronization source (SSRC): the source of a stream of
RTP packets
– Identified by 32-bit SSRC identifier.
– All packets from the same SSRC form a single timing and
sequencing space. Receivers group packets by SSRC for playback.
– Not dependent on network address.
– Examples: all packets from a camera; from a mixer; for layered
encoding transmitted on separate RTP sessions a single SSRC is
used for all layers.
– A participant need not use the same SSRC for all RTP sessions in a
multimedia session.
RTP Fixed Header
P: Padding
X: Header Extension
CC: CSRC count
M: Marker of record
boundary
PT: Payload type; mapping can be
specified by profile of the
application
Sequence number: for each packet
can be used by the receiver to
detect loss or restore sequence.
RTP Fixed Header – Cont.
• Timestamp
– Reflects sampling instant of the first byte of data
– Clock frequency can be specified by profile of payload
format documents for the application.
– Example: for fixed-rate audio, clock may increment by
one for each sampling period.
• SSRC: chosen randomly for each synchronization
source; with the intent that no two synchronization
sources in the same session have the same SSRC.
Profile-Specific Modifications to
the RTP Header
• Marker bit and payload type are interpreted
according to the application’s profile.
• Moreover, the byte containing them can be
redefined by the profile.
• If a particular class of application needs additional
functionality, the profile should define additional
fixed fields following SSRC.
• If X bit is 1, exactly one header extension follows
CSRC list (if present).
– Variable length
– Used to experimental purpose
RTCP
• Primary function is to provide feedback on the quality
of data distribution.
– Through sender and receiver reports;
– For adaptive encoding (adaptive to network congestion);
– Can be used to diagnose faults
• RTCP carries a persistent transport-level identifier for
an RTP source, called canonical name, CNAME.
– Receivers use CNAME to keep track of each participant
– And to synchronize related media streams (with the help of
NTP)
• Passes participant’s identification for display.
RTCP Packets
• SR: sender reports; sending and reception
stat.
• RR: receiver reports; for reception statistics
from multiple sources.
• SDES: source description item, include
CNAME
• BYE: indicates end of participation
• APP: application specific functions
Compound RTCP Packets
• A compound RTCP packet contains multiple
RTCP packets of the previous types.
• Example:
SR Packet
SR Packet – Cont.
• RC: receiver report count
• Length: in 32-bit words – 1
• NTP ts: wallclock time, used to calculate RTT
• RTP ts: in unit and offset of RTP ts in data packets. Can be used
with NTP ts for inter-media synchronization.
• Fraction lost: since the last RR or SR packet was sent. Short term
loss ratio.
• LSR: last SRT time stamp; middle 32 bits of NTP timestamp.
• DLSR: delay since last SR; expressed in 1/65536 seconds between
receiving the last SR packet from SSRC_n and sending this report.
Source SSRC_n can compute RTT using DLSR, LSR and the
reception time of the report, A.
RTT = A – LSR – DLSR
• An application’s profile can define extensions to SR or RR packets
SDES Packet
CNAME Item in SDES Packet
• Mandatory
• Provides a persistent identifier for a source.
• Provides a binding across multiple media used by one
participant in a set of related RTP sessions. CNAME should
be fixed for that participant.
• SSRC is bound to CNAME
• Example: doe@sleepy.megacorp.com; doe@192.0.2.89, etc.
Other Items in SDES Packet
• NAME: user name
• EMAIL:
• PHONE:
• LOC: location
• TOOL: application or tool name
• NOTE: notice/status
BYE: Goodbye RTCP Packet
• Mixers should forward the BYE packet with
SSRC/CSRC unchanged.
• Reason for leaving: string field; e.g., “camera
malfunction”
APP RTCP Packet
• Subtype: allows a set of APP packets to be
defined under one unique name.
• Name: unique name in the scope of one this
application.
Conclusions - I
• RTP defines transport support for common
functions of real-time applications.
– Timing information: sampling period and NTP
– Synchronization source for playback
– Payload types (encoding)
– Quality reports: short-term and long-term packet loss, and jitters.
– Participants indication: CNAME, NAME, EMAIL, etc.
– Multicast distribution support
– Conversion: mixers and translators
• Extensible protocol by profile payload format documents
• Customizable to application or application classes.
Necessity of this feature is not clear.
Conclusion – II
• Separation of control and data stream
(analogous to out-band signaling)
– Data header overhead is small.
– 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).
Conclusions – III
• Congestion control is not defined in baseline
document, but may be defined by application’s
profile.
– Leads to application-specific congestion control or
adaptation
• 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.
A View of Future Network
Layer 3 Systems
Transport System
End Systems
Inter-Domain Scenario
Backbone
Domain A
Client
Domain C
Domain B
Edge Device
Access Link
Fat Pipe
RTP Algorithms - I
• RTCP packets generation: need to limit the control
traffic
– Control traffic takes 5% of data traffic bandwidth (not
defined)
– ¼ of the RTCP bandwidth is used by senders
– Interval between RTCP packets scales linearly with the
number of members in the group.
– Each compound RTCP packet must include a report
packet and a SDES packet for timely feedback.
RTP Algorithms - II
• SSRCs are chosen randomly and locally and can
collide.
• Loops introduced by mixers and translators
– A translator may incorrectly forward a packet to the
same multicast group from which it has received the
packet.
– Parallel translators.
• Collision avoidance of SSRC and loop detection
are entangled.
Example of A Profile Document
• RTP data header:
– use one marker bit
– No additional fixed fields
– No RTP header extensions are defined.
• RTCP
– No additional RTCP packet types.
– No SR/RR extensions are defined
– SDES use: CNAME is sent every reporting interval,
other items should be sent only every fifth reporting
interval.
RFC1890: RTP Profile for Audio and Video Conferences with Minimal Control.
Payload
Types

More Related Content

What's hot

RTSP Protocol - Explanation to develop API of RTSP Protocol
RTSP Protocol - Explanation to develop API of RTSP ProtocolRTSP Protocol - Explanation to develop API of RTSP Protocol
RTSP Protocol - Explanation to develop API of RTSP ProtocolFranZEast
 
RTSP Analysis Wireshark
RTSP Analysis WiresharkRTSP Analysis Wireshark
RTSP Analysis WiresharkYoss Cohen
 
Streaming Media Protocols
Streaming Media ProtocolsStreaming Media Protocols
Streaming Media Protocolssanjoysanyal
 
Sip technology overview
Sip technology overviewSip technology overview
Sip technology overviewOded Ben-Dori
 
TCP & UDP Streaming Comparison and a Study on DCCP & SCTP Protocols
TCP & UDP Streaming Comparison and a Study on DCCP & SCTP ProtocolsTCP & UDP Streaming Comparison and a Study on DCCP & SCTP Protocols
TCP & UDP Streaming Comparison and a Study on DCCP & SCTP ProtocolsPeter SHIN
 
Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Hamidreza Bolhasani
 
Real time transport protocol
Real time transport protocolReal time transport protocol
Real time transport protocolSwaroopSorte
 
Stcn presentation
Stcn presentationStcn presentation
Stcn presentationSutanu Paul
 
Alternative Transport Protocols
Alternative Transport ProtocolsAlternative Transport Protocols
Alternative Transport ProtocolsPeter R. Egli
 
Introduction to SCTP and it's benefits over TCP and UDP
Introduction to SCTP and it's benefits over TCP and UDPIntroduction to SCTP and it's benefits over TCP and UDP
Introduction to SCTP and it's benefits over TCP and UDPVIJAY SHARMA
 
Quality of Service(Queuing Methods)
Quality of Service(Queuing Methods)Quality of Service(Queuing Methods)
Quality of Service(Queuing Methods)Reza Farahani
 

What's hot (20)

Rtsp
RtspRtsp
Rtsp
 
RTSP Protocol - Explanation to develop API of RTSP Protocol
RTSP Protocol - Explanation to develop API of RTSP ProtocolRTSP Protocol - Explanation to develop API of RTSP Protocol
RTSP Protocol - Explanation to develop API of RTSP Protocol
 
RTSP Analysis Wireshark
RTSP Analysis WiresharkRTSP Analysis Wireshark
RTSP Analysis Wireshark
 
Realtimetapan
RealtimetapanRealtimetapan
Realtimetapan
 
Real-Time Streaming Protocol -QOS
Real-Time Streaming Protocol -QOSReal-Time Streaming Protocol -QOS
Real-Time Streaming Protocol -QOS
 
Streaming Media Protocols
Streaming Media ProtocolsStreaming Media Protocols
Streaming Media Protocols
 
Sip technology overview
Sip technology overviewSip technology overview
Sip technology overview
 
TCP & UDP Streaming Comparison and a Study on DCCP & SCTP Protocols
TCP & UDP Streaming Comparison and a Study on DCCP & SCTP ProtocolsTCP & UDP Streaming Comparison and a Study on DCCP & SCTP Protocols
TCP & UDP Streaming Comparison and a Study on DCCP & SCTP Protocols
 
Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)
 
SCTP Overview
SCTP OverviewSCTP Overview
SCTP Overview
 
Real time transport protocol
Real time transport protocolReal time transport protocol
Real time transport protocol
 
Chap05 gtp 03_kh
Chap05 gtp 03_khChap05 gtp 03_kh
Chap05 gtp 03_kh
 
Stcn presentation
Stcn presentationStcn presentation
Stcn presentation
 
Sctp tutorial
Sctp tutorialSctp tutorial
Sctp tutorial
 
Alternative Transport Protocols
Alternative Transport ProtocolsAlternative Transport Protocols
Alternative Transport Protocols
 
Lect9
Lect9Lect9
Lect9
 
UDT
UDTUDT
UDT
 
Introduction to SCTP and it's benefits over TCP and UDP
Introduction to SCTP and it's benefits over TCP and UDPIntroduction to SCTP and it's benefits over TCP and UDP
Introduction to SCTP and it's benefits over TCP and UDP
 
SCTP Tutorial
SCTP TutorialSCTP Tutorial
SCTP Tutorial
 
Quality of Service(Queuing Methods)
Quality of Service(Queuing Methods)Quality of Service(Queuing Methods)
Quality of Service(Queuing Methods)
 

Similar to Rtp

RTP_RTCP.ppt
RTP_RTCP.pptRTP_RTCP.ppt
RTP_RTCP.pptumas1234
 
Datacom_Section_2_-_Protocols.ppt
Datacom_Section_2_-_Protocols.pptDatacom_Section_2_-_Protocols.ppt
Datacom_Section_2_-_Protocols.pptKristopher Hefner
 
UAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time CommunicationsUAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time CommunicationsGerardo Pardo-Castellote
 
8. TDM Mux_Demux.pdf
8. TDM Mux_Demux.pdf8. TDM Mux_Demux.pdf
8. TDM Mux_Demux.pdfTabrezahmed39
 
Traffic Characterization
Traffic CharacterizationTraffic Characterization
Traffic CharacterizationIsmail Mukiibi
 
Unit 4-Transport Layer Protocols-3.pptx
Unit 4-Transport Layer Protocols-3.pptxUnit 4-Transport Layer Protocols-3.pptx
Unit 4-Transport Layer Protocols-3.pptxDESTROYER39
 
Unit 4-Transport Layer Protocols.pptx
Unit 4-Transport Layer Protocols.pptxUnit 4-Transport Layer Protocols.pptx
Unit 4-Transport Layer Protocols.pptxsarosh32
 
Chapter Five - Transport Layer.pptx
Chapter Five - Transport Layer.pptxChapter Five - Transport Layer.pptx
Chapter Five - Transport Layer.pptxGirT2
 
Comptia Security + Chapter 1 501
Comptia Security           + Chapter 1 501Comptia Security           + Chapter 1 501
Comptia Security + Chapter 1 501AbdulalimBhnsawy
 
3.3 gpp NR USER Plane introduction
3.3 gpp NR USER Plane introduction3.3 gpp NR USER Plane introduction
3.3 gpp NR USER Plane introductionSaurabh Verma
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3Roman Brovko
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 

Similar to Rtp (20)

RTCP
RTCPRTCP
RTCP
 
RTP_RTCP.ppt
RTP_RTCP.pptRTP_RTCP.ppt
RTP_RTCP.ppt
 
Datacom_Section_2_-_Protocols.ppt
Datacom_Section_2_-_Protocols.pptDatacom_Section_2_-_Protocols.ppt
Datacom_Section_2_-_Protocols.ppt
 
Lecture set 7
Lecture set 7Lecture set 7
Lecture set 7
 
Transport Layer
Transport LayerTransport Layer
Transport Layer
 
Transport layer protocol
Transport layer protocolTransport layer protocol
Transport layer protocol
 
UAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time CommunicationsUAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time Communications
 
8. TDM Mux_Demux.pdf
8. TDM Mux_Demux.pdf8. TDM Mux_Demux.pdf
8. TDM Mux_Demux.pdf
 
TCP /IP
TCP /IPTCP /IP
TCP /IP
 
Traffic Characterization
Traffic CharacterizationTraffic Characterization
Traffic Characterization
 
COMPUTER NETWORKS UNIT 4
COMPUTER NETWORKS UNIT 4COMPUTER NETWORKS UNIT 4
COMPUTER NETWORKS UNIT 4
 
Unit 4-Transport Layer Protocols-3.pptx
Unit 4-Transport Layer Protocols-3.pptxUnit 4-Transport Layer Protocols-3.pptx
Unit 4-Transport Layer Protocols-3.pptx
 
Unit 4-Transport Layer Protocols.pptx
Unit 4-Transport Layer Protocols.pptxUnit 4-Transport Layer Protocols.pptx
Unit 4-Transport Layer Protocols.pptx
 
Chapter Five - Transport Layer.pptx
Chapter Five - Transport Layer.pptxChapter Five - Transport Layer.pptx
Chapter Five - Transport Layer.pptx
 
New udp
New udpNew udp
New udp
 
Comptia Security + Chapter 1 501
Comptia Security           + Chapter 1 501Comptia Security           + Chapter 1 501
Comptia Security + Chapter 1 501
 
3.3 gpp NR USER Plane introduction
3.3 gpp NR USER Plane introduction3.3 gpp NR USER Plane introduction
3.3 gpp NR USER Plane introduction
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
 
HSPA Essentials
HSPA EssentialsHSPA Essentials
HSPA Essentials
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Rtp

  • 1. An Introduction to the Real-time Transport Protocol (RTP) Ye Xia WebTP Meeting 12/12/00
  • 2. Transport Functions • Application Support – Reliability control: loss recover, in-sequence delivery, etc. • Network Control – Congestion control, rate allocation, etc • The distinction between the two is not sharp. – Rate allocation and scheduling can be viewed as part of either one above. • This dual view arises when we contemplate traditional transports: TCP and UDP
  • 3. Violation of the Old View Leads to New Ideas Application Support Network Control Application-Specific Support Network Control Monolithic Transport General Application Support User Space Kernel Space RTP-like Arrangement Network Adaptation By Application
  • 4. Fine-grained Application Support • In monolithic transport, application support function needs to be general. Why? – Transport sits in the kernel. Hard to modify. – API needs to be stable. – The philosophy of some transport designers: transport should have sufficient generality. • How to accommodate specific application’s needs? – Build complex logic into the (monolithic) transport. But should not be overly ambitious.
  • 5. WebTP - Current • WebTP is still monolithic • Some trade-off of programmability with efficiency, but may be justifiable. – The key is to make the user-IP path fast. Application Support Network Control User Space Kernel Space IP
  • 6. Overview of RTP • Provides end-to-end delivery services for real-time traffic: interactive audio and video – Payload identification, sequence numbering, timestamping and delivery monitoring • Runs on top of UDP, and less often, TCP. – RTP does not guarantee delivery or prevent out-of- order delivery. • Primarily designed to support multiparty multimedia conferences, typically assumes IP multicast.
  • 7. Overview – Cont. • The protocol has two parts. – RTP: carry real-time data – RTP control protocol (RTCP): monitor the quality of service and to convey information about the participants. • Principles of application level framing and integrated layer processing. – Is malleable to provide application specific info. – Is typically integrated into the application processing. – Protocol is deliberately not complete. It only contains the common functions. – A complete specification for an application also includes a profile and a payload format document.
  • 8. Example- Multicast audio conference • Need a multicast address and a pair of ports: one for data and one for (RTCP) control. • RTP header contains type of audio encoding (such as PCM). Senders can change encoding during the conference. • RTP header contains timing information. Audio data can be played out as they are produced by the source. • Senders and receivers multicast reports through RTCP. Packet loss ratio, delay jitter, and other status info can be monitored.
  • 9. Example – Audio and Video Conference • Audio and video are transmitted using separate RTP sessions. (with different UDP ports and/or multicast addresses.) • Each participant of both sessions can be identified by the same name in RTCP packets. • The decoupling of the two sessions allows some participants to join only one session.
  • 10. Example – Mixers and Translators • Mixers: a RTP-level entity that receives streams of RTP data packets from one or more sources and combines them into a single stream. • A translator forwards RTP packets from different sources separately. • Mixer is like a new RTP-level source to the receivers. • Translator is more transparent. Receivers can identify individual sources even though packets pass through the same translator and carry the translator’s network source address. • Mixer can re-synchronize the incoming stream and generates its own timing info.
  • 11. Translators and Mixers • The real distinction between mixers and translators: SSRC identifier is not changed at a translator, but is changed at a mixer. • They both use a different transport address (network address + port) at the output side. • Multiple data packets can be combined into one. • Uses of translators and mixers: go-through firewalls; transcoding for low-bandwidth links; adding or removing encryption; emulating multicast address with one or more unicast addresses.
  • 12. Example: Translator at Firewall Translator Firewall Translator On multicast Address a, port p, p+1 On multicast Address b, port q, q+1 Inside Firewall Note that UDP or TCP connections terminates at Firewall.
  • 13. Some RTP Definitions • Transport address: network address + port • RTP session: communications on a pair of transport addresses (data + control) • Synchronization source (SSRC): the source of a stream of RTP packets – Identified by 32-bit SSRC identifier. – All packets from the same SSRC form a single timing and sequencing space. Receivers group packets by SSRC for playback. – Not dependent on network address. – Examples: all packets from a camera; from a mixer; for layered encoding transmitted on separate RTP sessions a single SSRC is used for all layers. – A participant need not use the same SSRC for all RTP sessions in a multimedia session.
  • 14. RTP Fixed Header P: Padding X: Header Extension CC: CSRC count M: Marker of record boundary PT: Payload type; mapping can be specified by profile of the application Sequence number: for each packet can be used by the receiver to detect loss or restore sequence.
  • 15. RTP Fixed Header – Cont. • Timestamp – Reflects sampling instant of the first byte of data – Clock frequency can be specified by profile of payload format documents for the application. – Example: for fixed-rate audio, clock may increment by one for each sampling period. • SSRC: chosen randomly for each synchronization source; with the intent that no two synchronization sources in the same session have the same SSRC.
  • 16. Profile-Specific Modifications to the RTP Header • Marker bit and payload type are interpreted according to the application’s profile. • Moreover, the byte containing them can be redefined by the profile. • If a particular class of application needs additional functionality, the profile should define additional fixed fields following SSRC. • If X bit is 1, exactly one header extension follows CSRC list (if present). – Variable length – Used to experimental purpose
  • 17. RTCP • Primary function is to provide feedback on the quality of data distribution. – Through sender and receiver reports; – For adaptive encoding (adaptive to network congestion); – Can be used to diagnose faults • RTCP carries a persistent transport-level identifier for an RTP source, called canonical name, CNAME. – Receivers use CNAME to keep track of each participant – And to synchronize related media streams (with the help of NTP) • Passes participant’s identification for display.
  • 18. RTCP Packets • SR: sender reports; sending and reception stat. • RR: receiver reports; for reception statistics from multiple sources. • SDES: source description item, include CNAME • BYE: indicates end of participation • APP: application specific functions
  • 19. Compound RTCP Packets • A compound RTCP packet contains multiple RTCP packets of the previous types. • Example:
  • 21. SR Packet – Cont. • RC: receiver report count • Length: in 32-bit words – 1 • NTP ts: wallclock time, used to calculate RTT • RTP ts: in unit and offset of RTP ts in data packets. Can be used with NTP ts for inter-media synchronization. • Fraction lost: since the last RR or SR packet was sent. Short term loss ratio. • LSR: last SRT time stamp; middle 32 bits of NTP timestamp. • DLSR: delay since last SR; expressed in 1/65536 seconds between receiving the last SR packet from SSRC_n and sending this report. Source SSRC_n can compute RTT using DLSR, LSR and the reception time of the report, A. RTT = A – LSR – DLSR • An application’s profile can define extensions to SR or RR packets
  • 23. CNAME Item in SDES Packet • Mandatory • Provides a persistent identifier for a source. • Provides a binding across multiple media used by one participant in a set of related RTP sessions. CNAME should be fixed for that participant. • SSRC is bound to CNAME • Example: doe@sleepy.megacorp.com; doe@192.0.2.89, etc.
  • 24. Other Items in SDES Packet • NAME: user name • EMAIL: • PHONE: • LOC: location • TOOL: application or tool name • NOTE: notice/status
  • 25. BYE: Goodbye RTCP Packet • Mixers should forward the BYE packet with SSRC/CSRC unchanged. • Reason for leaving: string field; e.g., “camera malfunction”
  • 26. APP RTCP Packet • Subtype: allows a set of APP packets to be defined under one unique name. • Name: unique name in the scope of one this application.
  • 27. Conclusions - I • RTP defines transport support for common functions of real-time applications. – Timing information: sampling period and NTP – Synchronization source for playback – Payload types (encoding) – Quality reports: short-term and long-term packet loss, and jitters. – Participants indication: CNAME, NAME, EMAIL, etc. – Multicast distribution support – Conversion: mixers and translators • Extensible protocol by profile payload format documents • Customizable to application or application classes. Necessity of this feature is not clear.
  • 28. Conclusion – II • Separation of control and data stream (analogous to out-band signaling) – Data header overhead is small. – 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).
  • 29. Conclusions – III • Congestion control is not defined in baseline document, but may be defined by application’s profile. – Leads to application-specific congestion control or adaptation • 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.
  • 30. A View of Future Network Layer 3 Systems Transport System End Systems
  • 31. Inter-Domain Scenario Backbone Domain A Client Domain C Domain B Edge Device Access Link Fat Pipe
  • 32. RTP Algorithms - I • RTCP packets generation: need to limit the control traffic – Control traffic takes 5% of data traffic bandwidth (not defined) – ¼ of the RTCP bandwidth is used by senders – Interval between RTCP packets scales linearly with the number of members in the group. – Each compound RTCP packet must include a report packet and a SDES packet for timely feedback.
  • 33. RTP Algorithms - II • SSRCs are chosen randomly and locally and can collide. • Loops introduced by mixers and translators – A translator may incorrectly forward a packet to the same multicast group from which it has received the packet. – Parallel translators. • Collision avoidance of SSRC and loop detection are entangled.
  • 34. Example of A Profile Document • RTP data header: – use one marker bit – No additional fixed fields – No RTP header extensions are defined. • RTCP – No additional RTCP packet types. – No SR/RR extensions are defined – SDES use: CNAME is sent every reporting interval, other items should be sent only every fifth reporting interval. RFC1890: RTP Profile for Audio and Video Conferences with Minimal Control.