Professional Documents
Culture Documents
RTP
• protocol goals
• mixers and translators
• control: awareness, QOS feedback
• media adaptation
application
media
encapsulation
RTP RTCP
data control
UDP ST-II
IPv4/6
AAL5
Ethernet
ATM
RTP goals
RTP functions
mixer:
• several media stream ➠ one new stream (new encoding)
• mixer: reduced bandwidth networks (dial-up)
• appears as new source, with own identifier
translator:
• single media stream
• may convert encoding
• protocol translation (native ATM ↔ IP), firewall
• all packets: source address = translator address
end system
SSRC=17
DVI4
192.35.149.52
GSM mixer SSRC=5
SSRC=5 CSRC= 17 39
translator GSM
end system L16
SSRC=39 192.26.8.84 192.20.225.101
128.119.40.186
bit 0 8 16 24 32
V(2)P X CSRC
count M payload type sequence number
timestamp
UDP packet
opt. opt.
contributing source identifiers (CSRC)
header extension
payload (audio,video,...)
opt.
0x00
bytes
RTP timestamp
RTP in a network
chunk chunk
receiver reports item item item item
SSRC
SSRC
SSRC
SSRC
SSRC
SSRC
SSRC
sender site 1 site 2 CNAME PHONE CNAME LOC reason
SR report SDES BYE
compound packet
UDP packet
Goals:
• estimate current # & identities of participants – dynamic
• source description (“SDES”) ➠ who’s talking?
• quality-of-service feedback ➠ adjust sender rate
• to O(1000) participants, few % of data
➠ randomized response with rate ↓ as members ↑
• group size limited by tolerable age of status
• gives active senders more bandwidth
• soft state: delete if silent
• sender period T :
# of senders
T = · avg. RTCP packet size
0.25 · 0.05 · session bw
• receivers:
# of receivers
T = · avg. RTCP packet size
0.75 · 0.05 · session bw
• next packet = last packet + max(5 s, T ) · random(0.5. . . 1.5)
• randomization prevents “bunching”
• to reduce RTCP bandwidth, alternate between SDES components
Intermedia synchronization
r RR(n)
DLSR
(5.25 s)
A 0xb710:8000 (46864.500 s)
DLSR −0x0005:4000 ( 5.250 s)
LSR −0xb705:2000 (46853.125 s)
BYE floods
Learning Curve
100000
10000
1000
Number
10
1
1 10 100 1000 10000 100000
Time (s)
2000
Number
1500
1000
500
0
0 100 200 300 400 500 600 700 800 900 1000
Time (s)
RTP: Aggregation
RTP: Aggregation
M PT sequence number
timestamp
SSRC
M PT 0 call ID M PT 0 call ID
Collision:
• two sources may pick the same SSRC (“birthday problem”)
• probability: about 10−4 if 1000 session members join more or less simultaneously
• but: don’t pick one you know about already ➠ probability much lower unless
everyone joins at the same time
• send BYE for old, pick a new identifier
Loop detection
Adaptive applications
Adaptive applications
Adaptive applications
15000
10000
5000
0
0 50 100 150 200 250 300
Q-Factor
Application control
TCP-friendly applications
TCP-friendly adaptation
0 1 2 3 4 5 6 7
msb of session context ID
(if 16−bit CID)
M
(marker)
S T I link sequence
UDP checksum
(if non−zero in context)
random fields
(if non−zero in context)
[used when IP−in−IP header]
CC
if MSTI = 1111 M’ S’ T’ I’ (CSRC count)
delta IPv4 ID
(if I or I’ = 1)
delta RTP sequence
(if S or S’ = 1)
CSRC list
(if MSTI = 1111 and CC != 0)
RTP data