Professional Documents
Culture Documents
Transport Functions
Application Support
Reliability control: loss recover, in-sequence delivery, etc.
Network Control
Congestion control, rate allocation, etc
This dual view arises when we contemplate traditional transports: TCP and UDP
Application Support
Kernel Space
Network Control
Monolithic Transport
RTP-like Arrangement
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
User Space
Network Control
IP
Kernel Space
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
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.
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.
SSRC: chosen randomly for each synchronization source; with the intent that no two synchronization sources in the same session have the same SSRC.
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)
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
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 applications profile can define extensions to SR or RR packets
SDES Packet
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 applications 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.
Layer 3 Systems
Transport System
End Systems
Inter-Domain Scenario
Backbone
Domain C
Domain A
Client
Edge Device Access Link Fat Pipe
Domain B
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.
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.
Payload Types